Сотрудники / Налог на доходы / Модуль формы

файл

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

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

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	СотрудникиКлиент.ЗарегистрироватьОткрытиеФормы(ЭтотОбъект, "НалогНаДоходы");
	СотрудникиКлиент.ПроверитьРежимТолькоПросмотраДополнительнойФормы(ЭтотОбъект, ИзФормыСотрудника);
	
КонецПроцедуры

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

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

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


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

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

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

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

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

&НаКлиенте
Процедура РеквизитыУведомленияИФНСНаЗачетАвансовыхПлатежейГодПриИзменении(Элемент)
	
	Если Не РеквизитыУведомленияИФНСНаЗачетАвансовыхПлатежейЗаблокироватьФизическоеЛицо() Тогда
		Возврат;
	КонецЕсли;
	
	ПриИзмененииРеквизитыУведомленияИФНС();
	
КонецПроцедуры

&НаКлиенте
Процедура РеквизитыУведомленияИФНСНаЗачетАвансовыхПлатежейКодНалоговогоОрганаПриИзменении(Элемент)
	
	РеквизитыУведомленияИФНСНаЗачетАвансовыхПлатежейЗаблокироватьФизическоеЛицо();
	
КонецПроцедуры

&НаКлиенте
Процедура РеквизитыУведомленияИФНСНаЗачетАвансовыхПлатежейНомерУведомленияПриИзменении(Элемент)
	
	РеквизитыУведомленияИФНСНаЗачетАвансовыхПлатежейЗаблокироватьФизическоеЛицо();
	
КонецПроцедуры

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

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

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

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


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

&НаКлиенте
Процедура СтатусФизическихЛицКакНалогоплательщиковНДФЛИстория(Команда)

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

КонецПроцедуры

&НаКлиенте
Процедура ИсправитьЗаявлениеНаПредоставлениеСтандартныхВычетов(Команда)

	ПоказатьЗначение(, ЗаявлениеНаПредоставлениеСтандартныхВычетов);

КонецПроцедуры

&НаКлиенте
Процедура ИсправитьУведомлениеОПравеНаИмущественныйВычет(Команда)

	ПоказатьЗначение(, УведомлениеОПравеНаИмущественныйВычет);

КонецПроцедуры

&НаКлиенте
Процедура ИсправитьЕжегодныйСтандартныйВычет(Команда)

	ПоказатьЗначение(, ЕжегодныйСтандартныйВычет);

КонецПроцедуры

&НаКлиенте
Процедура ВвестиНовоеЗаявлениеНаПредоставлениеСтандартныхВычетов(Команда)

	СотрудникиКлиент.ВвестиНовоеЗаявлениеНаПредоставлениеСтандартныхВычетов(ФизическоеЛицоСсылка, ГоловнаяОрганизация);

КонецПроцедуры

&НаКлиенте
Процедура ВвестиНовоеУведомлениеОПравеНаИмущественныйВычет(Команда)

	СотрудникиКлиент.ВвестиНовоеУведомлениеОПравеНаИмущественныйВычет(ФизическоеЛицоСсылка, ГоловнаяОрганизация);

КонецПроцедуры

&НаКлиенте
Процедура ВвестиНовыеЕжегодныеСтандартныеВычеты(Команда)

	СотрудникиКлиент.ВвестиНовыеЕжегодныеСтандартныеВычеты(ФизическоеЛицоСсылка, ГоловнаяОрганизация);

КонецПроцедуры

&НаКлиенте
Процедура ВсеЗаявленияНаВычеты(Команда)

	СотрудникиКлиент.ОткрытьЖурналЗаявленийНаВычеты(ФизическоеЛицоСсылка);

КонецПроцедуры

&НаКлиенте
Процедура ВвестиПрекращениеСтандартныхВычетовНДФЛ(Команда)

	СотрудникиКлиент.ВвестиДокументПрекращениеСтандартныхВычетовНДФЛ(ФизическоеЛицоСсылка, ГоловнаяОрганизация);

КонецПроцедуры

&НаКлиенте
Процедура ДоходыСПредыдущегоМестаРаботы(Команда)

	СотрудникиКлиент.ОткрытьФормуВводаДоходовСПредыдущегоМестаРаботы(ФизическоеЛицоСсылка, ГоловнаяОрганизация);

КонецПроцедуры

&НаКлиенте
Процедура ВычетыСПредыдущегоМестаРаботы(Команда)
	СотрудникиКлиент.ОткрытьФормуВводаВычетовСПредыдущегоМестаРаботы(ФизическоеЛицоСсылка, ГоловнаяОрганизация);
КонецПроцедуры

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

&НаКлиенте
Процедура Ок(Команда)
	
	СохранитьИЗакрытьНаКлиенте();
	
КонецПроцедуры

&НаКлиенте
Процедура Отмена(Команда)
	
	Модифицированность = Ложь;
	Закрыть();
	
КонецПроцедуры

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


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

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

&НаСервере
Процедура ПрочитатьСведенияОВычетахНДФЛ()
	
	Если ЗначениеЗаполнено(ФизическоеЛицоСсылка) Тогда
		
		МассивРезультатов = СотрудникиФормы.ПолучитьСведенияОВычетахНДФЛ(ФизическоеЛицоСсылка);
		
		Если МассивРезультатов.Количество() = 0 Тогда
			Возврат;
		КонецЕсли;
		
		ОрганизацияПоЗаявлению = НеОпределено;
		ВычетыПредоставлялись = Ложь;
		
		ВыборкаСтандартныеВычеты = МассивРезультатов[0][0];
		Если Не ВыборкаСтандартныеВычеты.МесяцРегистрации = Null Тогда
			СтандартныеВычетыНДФЛМесяцСтрокой = Формат(ВыборкаСтандартныеВычеты.МесяцРегистрации, "ДФ='ММММ гггг'");
			ВычетыПредоставлялись = Истина;
		КонецЕсли;
		
		Результат = МассивРезультатов[1];
		Если Результат.Количество() > 0 Тогда
			ВыборкаСтандартныеВычеты = Результат[0];
			СтандартныеВычетыНДФЛКод						= ВыборкаСтандартныеВычеты.КодВычетаЛичный; 
			ЗаявлениеНаПредоставлениеСтандартныхВычетов	= ВыборкаСтандартныеВычеты.Регистратор;
			ЗаявлениеНомер										= ВыборкаСтандартныеВычеты.Номер;
			ЗаявлениеДата										= ВыборкаСтандартныеВычеты.Дата;
			ОрганизацияПоЗаявлению								= ВыборкаСтандартныеВычеты.Организация;
		КонецЕсли;
		
		Результат = МассивРезультатов[2];
		Если Результат.Количество() > 0 Тогда
			СтандартныеВычетыНДФЛВычетыНаДетей.Очистить();
			Для Каждого ВыборкаВычетыНаДетей Из Результат Цикл
					
				ЗаполнитьЗначенияСвойств(СтандартныеВычетыНДФЛВычетыНаДетей.Добавить(), ВыборкаВычетыНаДетей);
				ЗаявлениеНаПредоставлениеСтандартныхВычетов	= ВыборкаВычетыНаДетей.Регистратор;
				ЗаявлениеНомер								= ВыборкаВычетыНаДетей.Номер;
				ЗаявлениеДата								= ВыборкаВычетыНаДетей.Дата;
				ОрганизацияПоЗаявлению						= ВыборкаВычетыНаДетей.Организация;
					
			КонецЦикла;
		КонецЕсли;
			
		Результат = МассивРезультатов[3];
		Если Результат.Количество() > 0 Тогда
			
			ВыборкаИмущВычеты = Результат[0];
			
			Для Каждого НазваниеВычета Из УчетНДФЛ.НазванияВычетовПредоставляемыхПоУведомлениюНО() Цикл
				ЭтотОбъект["ИмущественныеВычетыНДФЛ" + НазваниеВычета] = ВыборкаИмущВычеты[НазваниеВычета]
			КонецЦикла;
			ИмущественныеВычетыНДФЛКодНалоговогоОргана				= ВыборкаИмущВычеты.КодНалоговогоОргана; 
			УведомлениеОПравеНаИмущественныйВычет					= ВыборкаИмущВычеты.Регистратор;
			ИмущественныеВычетыНДФЛПрименятьС						= Формат(ВыборкаИмущВычеты.ПрименятьВычетыС, "ДФ='ММММ гггг'");
			ИмущественныеВычетыНДФЛНалоговыйПериод					= ВыборкаИмущВычеты.НалоговыйПериод;
			
		Иначе
			УведомлениеОПравеНаИмущественныйВычет = Неопределено;
		КонецЕсли;
		
		Результат = МассивРезультатов[4];
		Если Результат.Количество() > 0 Тогда
			ВыборкаСтандартныеЕжегодныеВычеты = Результат[0];
			
			Для Каждого НазваниеВычета Из УчетНДФЛ.НазванияЕжегодныхСтандартныхВычетов() Цикл
				ЭтотОбъект["ЕжегодныйСтандартныйВычет" + НазваниеВычета] = ВыборкаСтандартныеЕжегодныеВычеты[НазваниеВычета]
			КонецЦикла;
			ЕжегодныйСтандартныйВычет						= ВыборкаСтандартныеЕжегодныеВычеты.Регистратор;
			ЕжегодныйСтандартныйВычетНомер					= ВыборкаСтандартныеЕжегодныеВычеты.Номер;
			ЕжегодныйСтандартныйВычетДата					= ВыборкаСтандартныеЕжегодныеВычеты.Дата;
			ЕжегодныйСтандартныйВычетОрганизация			= ВыборкаСтандартныеЕжегодныеВычеты.Организация;
			ЕжегодныйСтандартныйВычетПрименятьС				= Формат(ВыборкаСтандартныеЕжегодныеВычеты.ПрименятьВычетыС, "ДФ='ММММ гггг'");
			ЕжегодныйСтандартныйВычетНалоговыйПериод		= ВыборкаСтандартныеЕжегодныеВычеты.НалоговыйПериод;
		КонецЕсли;
		
		Если ЗаявлениеНаПредоставлениеСтандартныхВычетов.Пустая()
			И УведомлениеОПравеНаИмущественныйВычет.Пустая()
			И ЕжегодныйСтандартныйВычет.Пустая() Тогда
			
			ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
				Элементы,
				"ВычетыСтраницы",
				"ТекущаяСтраница",
				Элементы.ИнфоНадписьОПримененииВычетов);
			
		Иначе 
			
			ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
				Элементы,
				"ВычетыСтраницы",
				"ТекущаяСтраница",
				Элементы.ДанныеОПримененииВычетов);
			
			ДоступностьИсправитьЗаявлениеНаПредоставлениеСтандартныхВычетов = Истина;
			ДоступностьИсправитьУведомлениеОИмущественномВычете = Истина;
			ДоступностьИсправитьЕжегодныйСтандартныйВычет = Истина;
			
			Если ОрганизацияПоЗаявлению = НеОпределено Тогда
				
				ЗаявлениеНаПредоставлениеСтандартныхВычетовИнфо = НСтр("ru = 'Стандартные вычеты не применяются. Можете ввести заявление о предоставлении стандартных вычетов'");
				ДоступностьИсправитьЗаявлениеНаПредоставлениеСтандартныхВычетов = Ложь;
				
			ИначеЕсли ОрганизацияПоЗаявлению <> ГоловнаяОрганизация Тогда
				
				ЗаявлениеНаПредоставлениеСтандартныхВычетовИнфо = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
					НСтр("ru = 'Вычеты применяются в организации %1. Чтобы начать применение вычетов в организации %2 введите новое заявление о предоставлении вычетов'"),
					ОрганизацияПоЗаявлению,
					ГоловнаяОрганизация);
				ДоступностьИсправитьЗаявлениеНаПредоставлениеСтандартныхВычетов = Ложь;
				
			Иначе
				
				ЗаявлениеНаПредоставлениеСтандартныхВычетовИнфо = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
					НСтр("ru = 'Вычеты предоставляются по заявлению номер %1 от %2'"),
					ЗаявлениеНомер,
					Формат(ЗаявлениеДата,"ДЛФ=DD"));
					
			КонецЕсли;
				
			Если НЕ ЗначениеЗаполнено(УведомлениеОПравеНаИмущественныйВычет) Тогда
				
				УведомлениеОПравеНаИмущественныйВычетИнфо = НСтр("ru = 'Имущественные и социальные вычеты не применяются. Можете ввести новое уведомление нал.органа о предоставлении вычетов'");
				ДоступностьИсправитьУведомлениеОИмущественномВычете = Ложь;
				
			Иначе
				
				УведомлениеОПравеНаИмущественныйВычетИнфо = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
					НСтр("ru = 'Имущественные или социальные вычеты предоставляются по уведомлению номер %1 от %2'"),
					ВыборкаИмущВычеты.Номер,
					Формат(ВыборкаИмущВычеты.Дата, "ДЛФ=DD"));
					
			КонецЕсли;
				
			Если НЕ ЗначениеЗаполнено(ЕжегодныйСтандартныйВычет) Тогда
				
				ЕжегодныйСтандартныйВычетИнфо = НСтр("ru = 'Ежегодные стандартные вычеты (ГТО) не применяются. Можете ввести новый ежегодный стандартный вычет'");
				ДоступностьИсправитьЕжегодныйСтандартныйВычет = Ложь;
				
			Иначе
				
				ЕжегодныйСтандартныйВычетИнфо = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
					НСтр("ru = 'Ежегодные стандартные вычеты (ГТО) предоставляются по документу номер %1 от %2'"),
					ЕжегодныйСтандартныйВычетНомер,
					Формат(ЕжегодныйСтандартныйВычетДата, "ДЛФ=DD"));
					
			КонецЕсли;
				
			ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
				Элементы,
				"ИсправитьЗаявлениеНаПредоставлениеСтандартныхВычетов",
				"Доступность",
				ДоступностьИсправитьЗаявлениеНаПредоставлениеСтандартныхВычетов);
			
			ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
				Элементы,
				"ИсправитьУведомлениеОИмущественномВычете",
				"Доступность",
				ДоступностьИсправитьУведомлениеОИмущественномВычете);
				
			ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
				Элементы,
				"ИсправитьЕжегодныйСтандартныйВычет",
				"Доступность",
				ДоступностьИсправитьЕжегодныйСтандартныйВычет);
			
		КонецЕсли;
		
	Иначе
		
		ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
			Элементы,
			"ВычетыСтраницы",
			"ТекущаяСтраница",
			Элементы.ИнфоНадписьОПримененииВычетов);
		
	КонецЕсли;
	
	УстановитьИнфоНадписьВычеты(ЭтотОбъект);
	
КонецПроцедуры

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

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

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

&НаКлиенте
Процедура СохранитьИЗакрыть(Результат, ДополнительныеПараметры) Экспорт 
	
	СохранитьИЗакрытьНаКлиенте();
	
КонецПроцедуры

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

&НаКлиенте
Процедура СохранитьИЗакрытьНаКлиентеЗавершение(Отказ, ДополнительныеПараметры) Экспорт 

	Если Не Отказ И Открыта() Тогда
		
		Модифицированность = Ложь;
		Если ДополнительныеПараметры.ЗакрытьФорму Тогда
			Закрыть();
		КонецЕсли;
		
	КонецЕсли; 
	
КонецПроцедуры

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

&НаКлиенте
Процедура ЗапроситьРежимИзмененияСтатусаНалогоплательщикаЗавершение(Отказ, ДополнительныеПараметры) Экспорт 
	
	СохранитьДанныеЗавершение(Отказ, ДополнительныеПараметры.ОповещениеЗавершения);
	
КонецПроцедуры

&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьПолеСтатусПериод(Форма, ДатаСеанса)

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

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

КонецПроцедуры

&НаСервере
Процедура УстановитьДоступностьВводаВычетов() Экспорт
	
	ДоступностьКоманд = ЗначениеЗаполнено(ГоловнаяОрганизация);
	
	ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
		Элементы,
		"НовоеЗаявлениеНаПредоставлениеВычетов1",
		"Доступность",
		ДоступностьКоманд);
	
	ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
		Элементы,
		"НовоеУведомлениеОПравеНаИмущественныйВычет1",
		"Доступность",
		ДоступностьКоманд);
	
	ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
		Элементы,
		"НовоеЗаявлениеНаПредоставлениеВычетов",
		"Доступность",
		ДоступностьКоманд);
	
	ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
		Элементы,
		"НовоеУведомлениеОПравеНаИмущественныйВычет",
		"Доступность",
		ДоступностьКоманд);
	
	ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
		Элементы,
		"ВсеЗаявленияНаВычеты1",
		"Доступность",
		ДоступностьКоманд);
	
КонецПроцедуры

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

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

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

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

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

&НаСервере
Процедура ПриИзмененииРеквизитыУведомленияИФНСНаСервере()
	
	НалоговыйПериод = РеквизитыУведомленияИФНСНаЗачетАвансовыхПлатежей.Год;
	СохранитьРеквизитыУведомленияИФНСНаЗачетАвансовыхПлатежей();
	ПрочитатьРеквизитыУведомленияИФНСНаЗачетАвансовыхПлатежей(НалоговыйПериод);
	
КонецПроцедуры

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

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

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

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

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

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

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

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