Способы отражения зарплаты / Модуль объекта

файл

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ОбработчикиСобытий

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
	
	ПараметрыВыбораСтатейИАналитик = Справочники.СпособыОтраженияЗарплатыВБухУчете.ПараметрыВыбораСтатейИАналитик();
	ДоходыИРасходыСервер.ОбработкаЗаполнения(ЭтотОбъект, ПараметрыВыбораСтатейИАналитик);
	
КонецПроцедуры

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

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

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

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

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

#КонецОбласти

#КонецЕсли

Связанные материалы