Способы отражения зарплаты / Форма элемента / Модуль формы

файл
#Область ОписаниеПеременных

&НаКлиенте
Перем КэшированныеЗначения;

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

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

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

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

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	НастройкаСчетовУчетаСервер.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецПроцедуры

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

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

#Область ОбработчикиСобытийЭлементовШапкиФормы

#Область НеЕНВД

&НаКлиенте
Процедура СтатьяРасходовНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.НачалоВыбораСтатьи(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры

&НаКлиенте
Процедура СтатьяРасходовПриИзменении(Элемент)
	ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элемент);
	ПараметрыВыбораСтатьи = ДоходыИРасходыКлиентСервер.ПараметрыВыбораПоЭлементу(ЭтотОбъект, Элемент);
	УстановитьПараметрыАвтоподбораАналитик(ПараметрыВыбораСтатьи);
КонецПроцедуры

&НаКлиенте
Процедура АналитикаРасходовНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.НачалоВыбораАналитикиРасходов(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры

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

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

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

&НаКлиенте
Процедура НастроитьОтражениеВРеглУчетеНажатие(Элемент, СтандартнаяОбработка)
	НастройкаСчетовУчетаКлиент.ПриНажатии(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры

&НаКлиенте
Процедура РежимАналитикиВзносовПриИзменении(Элемент)
	
	Объект.СтатьяРасходовВзносов = ПредопределенноеЗначение("ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка");
	Объект.АналитикаРасходовВзносов = Неопределено;
	Объект.АналитикаАктивовПассивовВзносов = Неопределено;
	АналитикаРасходовВзносовАвтоматически = Ложь;
	АналитикаРасходовВзносовОбязательна = Ложь;
	
	Элементы.ГруппаВзносыОбщаяАналитика.Видимость = Объект.РежимУчетаВзносов = 1;
	
КонецПроцедуры

&НаКлиенте
Процедура СтатьяРасходовВзносовНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.НачалоВыбораСтатьи(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры

&НаКлиенте
Процедура СтатьяРасходовВзносовПриИзменении(Элемент)
	ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элемент);
	ПараметрыВыбораСтатьи = ДоходыИРасходыКлиентСервер.ПараметрыВыбораПоЭлементу(ЭтотОбъект, Элемент);
	УстановитьПараметрыАвтоподбораАналитик(ПараметрыВыбораСтатьи);
КонецПроцедуры

&НаКлиенте
Процедура АналитикаРасходовВзносовНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.НачалоВыбораАналитикиРасходов(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры

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

&НаКлиенте
Процедура АналитикаРасходовВзносовАвтоПодбор(Элемент, Текст, ДанныеВыбора, Параметры, Ожидание, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.АвтоПодборАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, Параметры, СтандартнаяОбработка);
КонецПроцедуры

&НаКлиенте
Процедура АналитикаРасходовВзносовОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, Параметры, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.ОкончаниеВводаТекстаАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, Параметры, СтандартнаяОбработка);
КонецПроцедуры

&НаКлиенте
Процедура НастроитьОтражениеВРеглУчетеВзносыНажатие(Элемент, СтандартнаяОбработка)
	НастройкаСчетовУчетаКлиент.ПриНажатии(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры

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

#Область ЕНВД

&НаКлиенте
Процедура ОсобыйСоответствуетОсновномуПриИзменении(Элемент)
	ОсобыйСоответствуетОсновномуПриИзмененииНаСервере();
КонецПроцедуры

&НаКлиенте
Процедура СтатьяРасходовЕНВДНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.НачалоВыбораСтатьи(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры

&НаКлиенте
Процедура СтатьяРасходовЕНВДПриИзменении(Элемент)
	ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элемент);
	ПараметрыВыбораСтатьи = ДоходыИРасходыКлиентСервер.ПараметрыВыбораПоЭлементу(ЭтотОбъект, Элемент);
	УстановитьПараметрыАвтоподбораАналитик(ПараметрыВыбораСтатьи);
КонецПроцедуры

&НаКлиенте
Процедура АналитикаРасходовЕНВДНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.НачалоВыбораАналитикиРасходов(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры

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

&НаКлиенте
Процедура АналитикаРасходовЕНВДАвтоПодбор(Элемент, Текст, ДанныеВыбора, Параметры, Ожидание, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.АвтоПодборАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, Параметры, СтандартнаяОбработка);
КонецПроцедуры

&НаКлиенте
Процедура АналитикаРасходовЕНВДОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, Параметры, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.ОкончаниеВводаТекстаАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, Параметры, СтандартнаяОбработка);
КонецПроцедуры

&НаКлиенте
Процедура НастроитьОтражениеВРеглУчетеЕНВДНажатие(Элемент, СтандартнаяОбработка)
	НастройкаСчетовУчетаКлиент.ПриНажатии(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры

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

&НаКлиенте
Процедура СтатьяРасходовВзносовЕНВДНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.НачалоВыбораСтатьи(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры

&НаКлиенте
Процедура СтатьяРасходовВзносовЕНВДПриИзменении(Элемент)
	ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элемент);
	ПараметрыВыбораСтатьи = ДоходыИРасходыКлиентСервер.ПараметрыВыбораПоЭлементу(ЭтотОбъект, Элемент);
	УстановитьПараметрыАвтоподбораАналитик(ПараметрыВыбораСтатьи);
КонецПроцедуры

&НаКлиенте
Процедура АналитикаРасходовВзносовЕНВДНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.НачалоВыбораАналитикиРасходов(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры

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

&НаКлиенте
Процедура АналитикаРасходовВзносовЕНВДАвтоПодбор(Элемент, Текст, ДанныеВыбора, Параметры, Ожидание, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.АвтоПодборАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, Параметры, СтандартнаяОбработка);
КонецПроцедуры

&НаКлиенте
Процедура АналитикаРасходовВзносовЕНВДОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, Параметры, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.ОкончаниеВводаТекстаАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, Параметры, СтандартнаяОбработка);
КонецПроцедуры

&НаКлиенте
Процедура НастроитьОтражениеВРеглУчетеВзносыЕНВДНажатие(Элемент, СтандартнаяОбработка)
	НастройкаСчетовУчетаКлиент.ПриНажатии(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры

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

#Область Травматизм

&НаКлиенте
Процедура СтатьяРасходовТравматизмНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.НачалоВыбораСтатьи(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры

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

&НаКлиенте
Процедура АналитикаРасходовТравматизмНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.НачалоВыбораАналитикиРасходов(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры

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

&НаКлиенте
Процедура АналитикаРасходовТравматизмАвтоПодбор(Элемент, Текст, ДанныеВыбора, Параметры, Ожидание, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.АвтоПодборАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, Параметры, СтандартнаяОбработка);
КонецПроцедуры

&НаКлиенте
Процедура АналитикаРасходовТравматизмОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, Параметры, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.ОкончаниеВводаТекстаАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, Параметры, СтандартнаяОбработка);
КонецПроцедуры

&НаКлиенте
Процедура НастроитьОтражениеВРеглУчетеТравматизмНажатие(Элемент, СтандартнаяОбработка)
	НастройкаСчетовУчетаКлиент.ПриНажатии(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры

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

&НаКлиенте
Процедура ХарактерПриИзменении(Элемент)
	
	Объект.ОплатаСдельныхРабот = ХарактерНачисления = "РаспределяетсяНаПроизводство";
	НастроитьВидимостьЭлементов();
	
КонецПроцедуры

&НаКлиенте
Процедура ОтдельнаяСтатьяКалькуляцииПриИзменении(Элемент)
	Элементы.СтатьяКалькуляции.Доступность = Объект.ОтдельнаяСтатьяКалькуляции;
КонецПроцедуры

&НаКлиенте
Процедура ОтдельнаяСтатьяКалькуляцииВзносовПриИзменении(Элемент)
	Элементы.СтатьяКалькуляцииВзносов.Доступность = Объект.ОтдельнаяСтатьяКалькуляцииВзносов;
КонецПроцедуры

&НаКлиенте
Процедура ВыделитьВзносыНаТравматизмНаОтдельнуюСтатьюПриИзменении(Элемент)
	Элементы.ГруппаСтатьиРасходовВзносовНаТравматизм.Доступность = Объект.РежимУчетаВзносовНаТравматизм;
КонецПроцедуры

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

#Область ОбработчикиКомандФормы

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

&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъектаЗавершение(Результат, ДополнительныеПараметры) Экспорт
	
	Если Результат <> Неопределено Тогда
		Реквизиты = ЗапретРедактированияРеквизитовОбъектовКлиент.Реквизиты(ЭтотОбъект, , Ложь);
		Элементы.РазрешитьРедактированиеРеквизитовОбъекта.Доступность = Ложь;
		Элементы.НастроитьОтражениеВРеглУчете.Доступность             = Истина;
		Элементы.НастроитьОтражениеВРеглУчетеВзносов.Доступность      = Истина;
		Элементы.НастроитьОтражениеВРеглУчетеЕНВД.Доступность         = Истина;
		Элементы.НастроитьОтражениеВРеглУчетеВзносовЕНВД.Доступность  = Истина;
		Элементы.НастроитьОтражениеВРеглУчетеТравматизм.Доступность   = Истина;
		
		ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьДоступностьЭлементовФормы(ЭтотОбъект, Реквизиты);
	КонецЕсли;
	
КонецПроцедуры

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

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

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

&НаСервере
Процедура НастроитьВидимостьЭлементов()
	
	Элементы.СтраницаСдельные            .Видимость = Объект.ОплатаСдельныхРабот;
	Элементы.БазаРаспределенияПоВыработке.Видимость = Объект.ОплатаСдельныхРабот;
	Элементы.СтраницаПостатейные         .Видимость = Не Объект.ОплатаСдельныхРабот;
	Элементы.НаправлениеДеятельности     .Видимость = Не Объект.ОплатаСдельныхРабот;
	
КонецПроцедуры

&НаСервере
Процедура ПриСозданииЧтенииНаСервере()
	
	НастроитьЭлементыФормы();
	
	НастроитьВидимостьЭлементов();
	
КонецПроцедуры

&НаСервере
Процедура ОсобыйСоответствуетОсновномуПриИзмененииНаСервере()
	
	Объект.СтатьяРасходовЕНВД = ПланыВидовХарактеристик.СтатьиРасходов.ПустаяСсылка();
	Объект.АналитикаРасходовЕНВД = Неопределено;
	Объект.АналитикаАктивовПассивовЕНВД = Неопределено;
	АналитикаРасходовЕНВДОбязательна = Ложь;
	АналитикаРасходовЕНВДАвтоматически = Ложь;
	
	Объект.СтатьяРасходовВзносовЕНВД = ПланыВидовХарактеристик.СтатьиРасходов.ПустаяСсылка();
	Объект.АналитикаРасходовВзносовЕНВД = Неопределено;
	Объект.АналитикаАктивовПассивовВзносовЕНВД = Неопределено;
	АналитикаРасходовВзносовЕНВДОбязательна = Ложь;
	АналитикаРасходовВзносовЕНВДАвтоматически = Ложь;

	Если Объект.ОсобыйСоответствуетОсновному Тогда
		Объект.РежимУчетаВзносовЕНВД = -1;
	Иначе
		Объект.РежимУчетаВзносовЕНВД = 0;
	КонецЕсли;
	
	НастроитьЭлементыФормы();
	
КонецПроцедуры

#Область ПриИзмененииРеквизитов

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

&НаСервере
Процедура УстановитьПараметрыАвтоподбораАналитик(ПараметрыВыбораСтатьи)
	
	АналитикаПодбираетсяАвтоматически = АналитикаПодбираетсяАвтоматически(Объект[ПараметрыВыбораСтатьи.Статья]);
	
	ЭтотОбъект[ПараметрыВыбораСтатьи.АналитикаРасходов + "Автоматически"] = АналитикаПодбираетсяАвтоматически;
	
	Для Каждого ИмяЭлементаАналитики Из ПараметрыВыбораСтатьи.ЭлементыФормы.АналитикаРасходов Цикл
		ЗаполнитьПодсказкуВвода(ИмяЭлементаАналитики, АналитикаПодбираетсяАвтоматически);
	КонецЦикла;
	
	Для Каждого ИмяЭлементаАналитики Из ПараметрыВыбораСтатьи.ЭлементыФормы.АналитикаАктивовПассивов Цикл
		ЗаполнитьПодсказкуВвода(ИмяЭлементаАналитики, АналитикаПодбираетсяАвтоматически);
	КонецЦикла;
	
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьПодсказкуВвода(ИмяЭлемента, АналитикаПодбираетсяАвтоматически)
	
	Если АналитикаПодбираетсяАвтоматически Тогда
		Элементы[ИмяЭлемента].ПодсказкаВвода = НСтр("ru = '<подбирается автоматически>'");
	Иначе
		Элементы[ИмяЭлемента].ПодсказкаВвода = "";
	КонецЕсли;
	
КонецПроцедуры

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

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

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