#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ОбработчикиСобытий
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
ПараметрыВыбораСтатейИАналитик = Справочники.СпособыОтраженияЗарплатыВБухУчете.ПараметрыВыбораСтатейИАналитик();
ДоходыИРасходыСервер.ОбработкаЗаполнения(ЭтотОбъект, ПараметрыВыбораСтатейИАналитик);
КонецПроцедуры
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
Если ЭтоГруппа Тогда
Возврат;
КонецЕсли;
НепроверяемыеРеквизиты = ОбщегоНазначенияКлиентСервер.РазностьМассивов(ПроверяемыеРеквизиты, СписокОбязательныхРеквизитов());
ОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты, НепроверяемыеРеквизиты);
ПараметрыВыбораСтатейИАналитик = Справочники.СпособыОтраженияЗарплатыВБухУчете.ПараметрыВыбораСтатейИАналитик();
ДоходыИРасходыСервер.ОбработкаПроверкиЗаполнения(ЭтотОбъект, Отказ, ПроверяемыеРеквизиты, ПараметрыВыбораСтатейИАналитик);
КонецПроцедуры
Процедура ПередЗаписью(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(ЭтотОбъект);
Если ЭтоГруппа Тогда
Возврат;
КонецЕсли;
ОчиститьНеиспользуемыеДанные();
ПараметрыВыбораСтатейИАналитик = Справочники.СпособыОтраженияЗарплатыВБухУчете.ПараметрыВыбораСтатейИАналитик();
ДоходыИРасходыСервер.ПередЗаписью(ЭтотОбъект, ПараметрыВыбораСтатейИАналитик);
ПараметрыНастройкиСчетовУчета = Справочники.СпособыОтраженияЗарплатыВБухУчете.ПараметрыНастройкиСчетовУчета();
НастройкаСчетовУчетаСервер.ПередЗаписью(ЭтотОбъект, ПараметрыНастройкиСчетовУчета);
Если РежимУчетаВзносов = 0 Тогда
СтатьяРасходовВзносов = СтатьяРасходов;
АналитикаРасходовВзносов = АналитикаРасходов;
АналитикаАктивовПассивовВзносов = АналитикаАктивовПассивов;
НастройкаСчетовУчетаСервер.СкопироватьНастройкуСчетовОбъекта(ЭтотОбъект,
ПараметрыНастройкиСчетовУчета, "НастройкаСчетовУчета", "НастройкаСчетовУчетаВзносов");
КонецЕсли;
Если РежимУчетаВзносовНаТравматизм = 0 Тогда
СтатьяРасходовТравматизм = СтатьяРасходовВзносов;
АналитикаРасходовТравматизм = АналитикаРасходовВзносов;
АналитикаАктивовПассивовТравматизм = АналитикаАктивовПассивовВзносов;
НастройкаСчетовУчетаСервер.СкопироватьНастройкуСчетовОбъекта(ЭтотОбъект,
ПараметрыНастройкиСчетовУчета, "НастройкаСчетовУчетаВзносов", "НастройкаСчетовУчетаТравматизм");
КонецЕсли;
Если ОсобыйСоответствуетОсновному Тогда
СтатьяРасходовЕНВД = СтатьяРасходов;
АналитикаРасходовЕНВД = АналитикаРасходов;
АналитикаАктивовПассивовЕНВД = АналитикаАктивовПассивов;
НастройкаСчетовУчетаСервер.СкопироватьНастройкуСчетовОбъекта(ЭтотОбъект,
ПараметрыНастройкиСчетовУчета, "НастройкаСчетовУчета", "НастройкаСчетовУчетаЕНВД");
СтатьяРасходовВзносовЕНВД = СтатьяРасходовВзносов;
АналитикаРасходовВзносовЕНВД = АналитикаРасходовВзносов;
АналитикаАктивовПассивовВзносовЕНВД = АналитикаАктивовПассивовВзносов;
НастройкаСчетовУчетаСервер.СкопироватьНастройкуСчетовОбъекта(ЭтотОбъект,
ПараметрыНастройкиСчетовУчета, "НастройкаСчетовУчетаВзносов", "НастройкаСчетовУчетаВзносовЕНВД");
ИначеЕсли РежимУчетаВзносовЕНВД = 0 Тогда
СтатьяРасходовВзносовЕНВД = СтатьяРасходовЕНВД;
АналитикаРасходовВзносовЕНВД = АналитикаРасходовЕНВД;
АналитикаАктивовПассивовВзносовЕНВД = АналитикаАктивовПассивовЕНВД;
НастройкаСчетовУчетаСервер.СкопироватьНастройкуСчетовОбъекта(ЭтотОбъект,
ПараметрыНастройкиСчетовУчета, "НастройкаСчетовУчетаЕНВД", "НастройкаСчетовУчетаВзносовЕНВД");
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция СписокОбязательныхРеквизитов()
ОбязательныеРеквизиты = Новый Массив;
ОбязательныеРеквизиты.Добавить("Наименование");
Если ОплатаСдельныхРабот Тогда
ОбязательныеРеквизиты.Добавить("БазаРаспределенияПоСдельнымРаботам");
Если ОтдельнаяСтатьяКалькуляции Тогда
ОбязательныеРеквизиты.Добавить("СтатьяКалькуляции");
КонецЕсли;
Если ОтдельнаяСтатьяКалькуляцииВзносов Тогда
ОбязательныеРеквизиты.Добавить("СтатьяКалькуляцииВзносов");
КонецЕсли;
Иначе
ОбязательныеРеквизиты.Добавить("СтатьяРасходов");
ОбязательныеРеквизиты.Добавить("АналитикаРасходов");
ОбязательныеРеквизиты.Добавить("АналитикаАктивовПассивов");
Если РежимУчетаВзносов <> 0 Тогда
ОбязательныеРеквизиты.Добавить("СтатьяРасходовВзносов");
ОбязательныеРеквизиты.Добавить("АналитикаРасходовВзносов");
ОбязательныеРеквизиты.Добавить("АналитикаАктивовПассивовВзносов");
КонецЕсли;
Если Не ОсобыйСоответствуетОсновному Тогда
ОбязательныеРеквизиты.Добавить("СтатьяРасходовЕНВД");
ОбязательныеРеквизиты.Добавить("АналитикаРасходовЕНВД");
ОбязательныеРеквизиты.Добавить("АналитикаАктивовПассивовЕНВД");
КонецЕсли;
Если Не ОсобыйСоответствуетОсновному И РежимУчетаВзносовЕНВД <> 0 Тогда
ОбязательныеРеквизиты.Добавить("СтатьяРасходовВзносовЕНВД");
ОбязательныеРеквизиты.Добавить("АналитикаРасходовВзносовЕНВД");
ОбязательныеРеквизиты.Добавить("АналитикаАктивовПассивовВзносовЕНВД");
КонецЕсли;
КонецЕсли;
Если РежимУчетаВзносовНаТравматизм <> 0 Тогда
ОбязательныеРеквизиты.Добавить("СтатьяРасходовТравматизм");
ОбязательныеРеквизиты.Добавить("АналитикаРасходовТравматизм");
ОбязательныеРеквизиты.Добавить("АналитикаАктивовПассивовТравматизм");
КонецЕсли;
Возврат ОбязательныеРеквизиты;
КонецФункции
Процедура ОчиститьНеиспользуемыеДанные()
Если ОплатаСдельныхРабот Тогда
ОсобыйСоответствуетОсновному = Истина;
СтатьяРасходов = Неопределено;
СтатьяРасходовВзносов = Неопределено;
СтатьяРасходовЕНВД = Неопределено;
СтатьяРасходовВзносовЕНВД = Неопределено;
РежимУчетаВзносов = 0;
РежимУчетаВзносовЕНВД = 0;
НаправлениеДеятельности = Неопределено;
Иначе
БазаРаспределенияПоСдельнымРаботам = Неопределено;
ОтдельнаяСтатьяКалькуляции = Ложь;
ОтдельнаяСтатьяКалькуляцииВзносов = Ложь;
КонецЕсли;
Если РежимУчетаВзносовНаТравматизм = 0 Тогда
СтатьяРасходовТравматизм = Неопределено;
КонецЕсли;
Если ТипЗнч(СтатьяРасходов) <> Тип("ПланВидовХарактеристикСсылка.СтатьиАктивовПассивов") Тогда
НастройкаСчетовУчета = Неопределено;
КонецЕсли;
Если ТипЗнч(СтатьяРасходовВзносов) <> Тип("ПланВидовХарактеристикСсылка.СтатьиАктивовПассивов") Тогда
НастройкаСчетовУчетаВзносов = Неопределено;
КонецЕсли;
Если ТипЗнч(СтатьяРасходовЕНВД) <> Тип("ПланВидовХарактеристикСсылка.СтатьиАктивовПассивов") Тогда
НастройкаСчетовУчетаЕНВД = Неопределено
КонецЕсли;
Если ТипЗнч(СтатьяРасходовВзносовЕНВД) <> Тип("ПланВидовХарактеристикСсылка.СтатьиАктивовПассивов") Тогда
НастройкаСчетовУчетаВзносовЕНВД = Неопределено;
КонецЕсли;
Если ТипЗнч(СтатьяРасходовТравматизм) <> Тип("ПланВидовХарактеристикСсылка.СтатьиАктивовПассивов") Тогда
НастройкаСчетовУчетаТравматизм = Неопределено;
КонецЕсли;
Если Не ОтдельнаяСтатьяКалькуляции Тогда
СтатьяКалькуляции = Неопределено;
КонецЕсли;
Если Не ОтдельнаяСтатьяКалькуляцииВзносов Тогда
СтатьяКалькуляцииВзносов = Неопределено;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецЕсли