Заявление в СФР о возмещении выплат родителям детей-инвалидов / Форма документа / Модуль формы

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

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

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

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

&НаСервере
Процедура ПриЗагрузкеДанныхИзНастроекНаСервере(Настройки)
	Если Подробно <> ОплатыПодробно Тогда
		Подробно = ОплатыПодробно;
		ОбновитьЭлементыФормы();
	КонецЕсли;
КонецПроцедуры

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

&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
	ФиксацияЗаполнитьИдентификаторыФиксТЧ(ЭтаФорма);
КонецПроцедуры

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

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

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

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

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

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


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

&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)
	ЗарплатаКадрыКлиент.КлючевыеРеквизитыЗаполненияФормыОчиститьТаблицы(ЭтаФорма);
	ОрганизацияПриИзмененииНаСервере();
КонецПроцедуры

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

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

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

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

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

&НаКлиенте
Процедура БанкПриИзменении(Элемент)
	ФиксацияЗафиксироватьИзменениеРеквизита("Банк");
	ОбновитьВторичныеДанныеИЭлементыФормы();
КонецПроцедуры

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


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

&НаКлиенте
Процедура ОплатыПриАктивизацииСтроки(Элемент)
	ПодключитьОбработчикОжидания("ОбновитьОтображениеПредупрежденийТЧ_Оплаты", 0.2, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ОплатыПриИзменении(Элемент)
	ОбновитьВторичныеДанныеИЭлементыФормы();
КонецПроцедуры

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

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

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

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

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

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

&НаКлиенте
Процедура ОплатыРебенокПриИзменении(Элемент)
	ОбновитьВторичныеДанныеИЭлементыФормы();
КонецПроцедуры

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


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

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

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

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

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

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

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

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

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

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

&НаКлиенте
Процедура ОбновитьВторичныеДанные(Команда)
	ОбновитьВторичныеДанныеИЭлементыФормы();
КонецПроцедуры

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

&НаКлиенте
Процедура ОплатыПодробно(Команда)
	ОплатыПодробно = Не ОплатыПодробно;
	Подробно       = ОплатыПодробно;
	ОбновитьЭлементыФормы();
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ПояснениеНажатие(Элемент, СтандартнаяОбработка = Ложь)

	СотрудникиКлиент.ПояснениеНажатие(Элемент, СтандартнаяОбработка);

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

&НаКлиенте
Процедура ОтключитьПроверкиПроведения(Команда)
	Объект.ОтключитьПроверкиПроведения = Не Объект.ОтключитьПроверкиПроведения;
	Модифицированность = Истина;
	ОбновитьЭлементыФормы();
КонецПроцедуры

&НаКлиенте
Процедура ВопросВПоддержку(Команда)
	СЭДОФССКлиент.ОткрытьВопросВПоддержку(ПодготовитьВопросВПоддержку());
КонецПроцедуры

&НаКлиенте
Процедура ВключитьВозможностьРедактирования(Команда)
	ВключитьВозможностьРедактированияНаСервере();
КонецПроцедуры

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

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

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


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

#Область Свойства

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

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

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

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

#Область ПодключаемыеКоманды

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

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

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

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

#Область Поддержка

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

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

#Область ПодписиДокументов

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

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

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

#Область ФиксацияВторичныхДанныхВДокументах

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

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

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

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

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

&НаКлиентеНаСервереБезКонтекста
Процедура ФиксацияЗаполнитьИдентификаторыФиксТЧ(Форма)
	ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗаполнитьИдентификаторыСтрок(Форма);
КонецПроцедуры

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

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

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

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

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

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

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

&НаКлиенте
Процедура ФиксацияЗафиксироватьИзменениеРеквизита(ИмяРеквизита, ТекущаяСтрока = 0)
	ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтаФорма, ИмяРеквизита, ТекущаяСтрока)
КонецПроцедуры

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

#Область КлючевыеРеквизитыЗаполненияФормы

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

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

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

#Область КонтактнаяИнформация

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

&НаСервере
Процедура ИнициализироватьПоляВводаКонтактнойИнформации()
	Если ПоляВводаКонтактнойИнформации <> Неопределено Тогда
		Возврат;
	КонецЕсли;
	// ПоляВводаКонтактнойИнформации - Структура
	//   * Ключ     - Строка    - Имя реквизита формы.
	//   * Значение - Структура - Свойства реквизита объекта.
	//       * Имя - Строка - Имя реквизита объекта хранящего значение контактной информации.
	//       * Тип - ПеречислениеСсылка.ТипыКонтактнойИнформации - Тип контактной информации.
	//       * Вид - Строка - Имя предопределенного вида контактной информации.
	ПоляВводаКонтактнойИнформации = Новый Структура;
	БыстрыйПоискРеквизитовФормы = Новый Соответствие;
	
	Реквизит = ОписаниеРеквизитаКонтактнойИнформации();
	Реквизит.Имя = "ТелефонСоставителя";
	Реквизит.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон;
	Реквизит.Вид = "Справочник.ВидыКонтактнойИнформации.ТелефонОрганизации";
	ПоляВводаКонтактнойИнформации.Вставить(Реквизит.Имя + "Представление", Реквизит);
	БыстрыйПоискРеквизитовФормы.Вставить(Реквизит.Имя, Реквизит.Имя + "Представление");
	
	Реквизит = ОписаниеРеквизитаКонтактнойИнформации();
	Реквизит.Имя = "АдресОрганизации";
	Реквизит.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
	Реквизит.Вид = "Справочник.ВидыКонтактнойИнформации.ЮрАдресОрганизации";
	ПоляВводаКонтактнойИнформации.Вставить(Реквизит.Имя + "Представление", Реквизит);
	БыстрыйПоискРеквизитовФормы.Вставить(Реквизит.Имя, Реквизит.Имя + "Представление");
	
	ПоляВводаКонтактнойИнформации.Вставить("БыстрыйПоискРеквизитовФормы", БыстрыйПоискРеквизитовФормы);
КонецПроцедуры

&НаСервереБезКонтекста
Функция ОписаниеРеквизитаКонтактнойИнформации()
	Возврат Новый Структура("Имя, Тип, Вид");
КонецФункции

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

&НаКлиенте
Процедура Подключаемый_ПолеВводаКонтактнойИнформацииПриИзменении(Элемент)
	Текст = Элемент.ТекстРедактирования;
	ПолеВводаКонтактнойИнформацииПриИзмененииПриИзмененииНаСервере(Текст, Элемент.Имя);
КонецПроцедуры

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

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

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

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

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

&НаСервере
Процедура ДатаПриИзмененииНаСервере()
	ОбновитьВторичныеДанныеИЭлементыФормы();
КонецПроцедуры

&НаСервере
Процедура ПриПолученииДанныхНаСервере(ТекущийОбъект)
	
	НаПроактивеВерсия_2_41 = СЭДОФСС.НачатПереходНаВерсиюПроактива_2_41();

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

#Область Форма

&НаКлиенте
Процедура ПодключитьОбработчикОжиданияПрочитатьОбновитьВторичныеДанные()
	ОтключитьОбработчикОжидания("ПрочитатьОбновитьВторичныеДанные");
	ПодключитьОбработчикОжидания("ПрочитатьОбновитьВторичныеДанные", 0.1, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ПрочитатьОбновитьВторичныеДанные()
	ПрочитатьОбновитьВторичныеДанныеНаСервере();
КонецПроцедуры

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

&НаСервере
Процедура ОбновитьВторичныеДанныеИЭлементыФормы(Знач Заполнить = Ложь)
	ОбновитьВторичныеДанныеНаСервере(Заполнить);
	ОбновитьЭлементыФормы();
КонецПроцедуры

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

#Область Регистрация

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

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

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

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

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

&НаСервере
Процедура ЗаполнитьНаСервере()
	ОбновитьВторичныеДанныеИЭлементыФормы(Истина);
КонецПроцедуры

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

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

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

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

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

#Область Примечание

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

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

#Область Команды

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

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

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

&НаСервереБезКонтекста
Функция Исправление(Ссылка)
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	Шапка.Ссылка КАК Ссылка
	|ИЗ
	|	Документ.ЗаявлениеВФССОВозмещенииВыплатРодителямДетейИнвалидов КАК Шапка
	|ГДЕ
	|	Шапка.ИсправленныйДокумент = &Ссылка";
	Запрос.УстановитьПараметр("Ссылка", Ссылка);
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		Возврат Выборка.Ссылка;
	КонецЕсли;
	
	Возврат Неопределено;
КонецФункции

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

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

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

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