Прекращение стандартных вычетов НДФЛ / Форма документа / Модуль формы

файл

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

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

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

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

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

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

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

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

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

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

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

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

&НаКлиенте
Процедура ФизическоеЛицоПриИзменении(Элемент)
	
	ПрочитатьСтандартныеВычетыПредыдущегоМесяца();
	
КонецПроцедуры

#Область РедактированиеМесяцаСтрокой

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

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

&НаКлиенте
Процедура МесяцСтрокойНачалоВыбораЗавершение(ЗначениеВыбрано, ДополнительныеПараметры) Экспорт 
	
	ПрочитатьСтандартныеВычетыПредыдущегоМесяца();
	
КонецПроцедуры

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

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

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

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

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

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

// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
	ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);
КонецПроцедуры

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

&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
	ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

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

#Область ОбработчикиСобытийПроцессыОбработкиДокументов

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

&НаКлиенте
Процедура Подключаемый_ВыполнитьЗадачуПоОбработкеДокументаОповещение(Контекст, ДополнительныеПараметры) Экспорт
	ВыполнитьЗадачуПоОбработкеДокументаНаСервере(Контекст);
	ВыполнитьОбработкуОповещения(ДополнительныеПараметры, Контекст);
КонецПроцедуры

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

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

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

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

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

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

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

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

&НаКлиенте
Процедура Подключаемый_ПриИзмененииДополнительногоРеквизита(Элемент)
	УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.Свойства

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

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

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

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

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

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

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