Сведения для реестра прямых выплат ФСС / Модуль менеджера

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

#Область ПрограммныйИнтерфейс

#Область ДляВызоваИзДругихПодсистем

// СтандартныеПодсистемы.ВерсионированиеОбъектов

// Определяет настройки объекта для подсистемы ВерсионированиеОбъектов.
//
// Параметры:
//   Настройки - Структура - настройки подсистемы.
//
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт

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

// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов

// СтандартныеПодсистемы.Печать

// Заполняет список команд печати.
//
// Параметры:
//   КомандыПечати - ТаблицаЗначений - состав полей см. в функции УправлениеПечатью.СоздатьКоллекциюКомандПечати.
//
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
	
	Макеты = Метаданные.Документы.ЗаявлениеСотрудникаНаВыплатуПособия.Макеты;
	ДатаФорм2021 = ПрямыеВыплатыПособийСоциальногоСтрахования.ДатаВступленияВСилуФорм2021Года();
	ДатаФорм2022 = ПрямыеВыплатыПособийСоциальногоСтрахования.ДатаВступленияВСилуФорм2022();
	ДатаФорм2024 = ПрямыеВыплатыПособийСоциальногоСтрахования.ДатаВступленияВСилуФорм2024();
	ДатаФорм2025 = ПрямыеВыплатыПособийСоциальногоСтрахования.ДатаВступленияВСилуФорм2025();
	БольшеИлиРавно = ВидСравнения.БольшеИлиРавно;
	Меньше         = ВидСравнения.Меньше;
	ПособиеПоУходуЗаРебенком = Перечисления.ПособияНазначаемыеФСС.ЕжемесячноеПособиеПоУходуЗаРебенком;
	ОтпускНаПериодЛечения    = Перечисления.ПособияНазначаемыеФСС.ОтпускСверхЕжегодногоНаПериодЛечения;
	
	// Печать заявления о выплате пособия.
	ПравоЧтенияПлановыхНачислений = КадровыйУчет.ПравоНаРазделУчета("Чтение", "ПлановыеНачисления");
	Если ПравоЧтенияПлановыхНачислений Тогда
		КомандаПечати = КомандыПечати.Добавить();
		КомандаПечати.Обработчик = "УправлениеПечатьюБЗККлиент.ВыполнитьКомандуПечати";
		КомандаПечати.Идентификатор = "ЗаявлениеСотрудникаНаВыплатуПособия";
		КомандаПечати.Представление = НСтр("ru = 'Заявления о выплате пособия (оплате отпуска)'");
		КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
		УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(
			КомандаПечати,
			"Дата",
			ДатаФорм2021 + 86400*30,
			ВидСравнения.Меньше);
	КонецЕсли;
	
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Обработчик = "УправлениеПечатьюБЗККлиент.ВыполнитьКомандуПечати";
	КомандаПечати.Идентификатор = "СведенияОЗастрахованномЛице";
	КомандаПечати.Представление = НСтр("ru = 'Сведения о застрахованном лице'");
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(
		КомандаПечати,
		"ИзмененыСведенияОЗастрахованномЛице",
		Истина,
		ВидСравнения.Равно);
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(
		КомандаПечати,
		"Дата",
		ДатаФорм2021,
		БольшеИлиРавно);
	
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Обработчик = "УправлениеПечатьюБЗККлиент.ВыполнитьКомандуПечати";
	КомандаПечати.Идентификатор = "ЗаявлениеОПерерасчете";
	КомандаПечати.Представление = НСтр("ru = 'Заявление о перерасчете ранее назначенного пособия'");
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "Перерасчет", Истина, ВидСравнения.Равно);
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "Дата", ДатаФорм2021, БольшеИлиРавно);
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "Дата", ДатаФорм2022, Меньше);
	
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Обработчик     = "УправлениеПечатьюБЗККлиент.ВыполнитьКомандуПечати";
	КомандаПечати.Идентификатор  = Макеты.ПФ_MXL_ЗаявлениеОНазначенииПособияПоУходуЗаРебенком_2022.Имя;
	КомандаПечати.Представление  = Макеты.ПФ_MXL_ЗаявлениеОНазначенииПособияПоУходуЗаРебенком_2022.Представление();
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "Дата", ДатаФорм2022, БольшеИлиРавно);
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "Дата", ДатаФорм2024, Меньше);
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "ВидПособия", ПособиеПоУходуЗаРебенком);
	
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Обработчик     = "УправлениеПечатьюБЗККлиент.ВыполнитьКомандуПечати";
	КомандаПечати.Идентификатор  = Макеты.ПФ_MXL_ЗаявлениеОНазначенииПособияПоУходуЗаРебенком_2024.Имя;
	КомандаПечати.Представление  = Макеты.ПФ_MXL_ЗаявлениеОНазначенииПособияПоУходуЗаРебенком_2024.Представление();
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "Дата", ДатаФорм2024, БольшеИлиРавно);
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "Дата", ДатаФорм2025, Меньше);
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "ВидПособия", ПособиеПоУходуЗаРебенком);
	
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Обработчик     = "УправлениеПечатьюБЗККлиент.ВыполнитьКомандуПечати";
	КомандаПечати.Идентификатор  = Макеты.ПФ_MXL_ЗаявлениеОНазначенииПособияПоУходуЗаРебенком_2025.Имя;
	КомандаПечати.Представление  = Макеты.ПФ_MXL_ЗаявлениеОНазначенииПособияПоУходуЗаРебенком_2025.Представление();
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "Дата", ДатаФорм2025, БольшеИлиРавно);
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "ВидПособия", ПособиеПоУходуЗаРебенком);
	
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Обработчик     = "УправлениеПечатьюБЗККлиент.ВыполнитьКомандуПечати";
	КомандаПечати.Идентификатор  = Макеты.ПФ_MXL_ЗаявлениеОПерерасчетеПособия_2022.Имя;
	КомандаПечати.Представление  = Макеты.ПФ_MXL_ЗаявлениеОПерерасчетеПособия_2022.Представление();
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "Перерасчет", Истина);
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "Дата", ДатаФорм2022, БольшеИлиРавно);
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "КодПричиныПерерасчета", СтрРазделить("01,02,04", ","), ВидСравнения.ВСписке);
	
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Обработчик     = "УправлениеПечатьюБЗККлиент.ВыполнитьКомандуПечати";
	КомандаПечати.Идентификатор  = Макеты.ПФ_MXL_ОтпускНаПериодЛечения_2022.Имя;
	КомандаПечати.Представление  = Макеты.ПФ_MXL_ОтпускНаПериодЛечения_2022.Представление();
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "Дата", ДатаФорм2022, БольшеИлиРавно);
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "Дата", ДатаФорм2024, Меньше);
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "ВидПособия", ОтпускНаПериодЛечения);
	
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Обработчик     = "УправлениеПечатьюБЗККлиент.ВыполнитьКомандуПечати";
	КомандаПечати.Идентификатор  = Макеты.ПФ_MXL_ОтпускНаПериодЛечения_2024.Имя;
	КомандаПечати.Представление  = Макеты.ПФ_MXL_ОтпускНаПериодЛечения_2024.Представление();
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "Дата", ДатаФорм2024, БольшеИлиРавно);
	УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "ВидПособия", ОтпускНаПериодЛечения);
	
	ПрямыеВыплатыПособийСоциальногоСтрахования.ДобавитьКомандыПечатиЗаявленияСотрудникаНаВыплатуПособия(КомандыПечати);
	
КонецПроцедуры

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

// Конец СтандартныеПодсистемы.Печать

// ЗарплатаКадрыПодсистемы

// Формирует печатную форму. Вызывается из УправлениеПечатьюБЗК.Печать.
//
// Параметры:
//   КонтекстПечати - Структура - См. УправлениеПечатьюБЗК.КонтекстПечати.
//
Процедура ПриФормированииПечатнойФормы(КонтекстПечати) Экспорт
	
	Макеты = Метаданные.Документы.ЗаявлениеСотрудникаНаВыплатуПособия.Макеты;
	Если КонтекстПечати.МетаданныеМакета = Макеты.ПФ_MXL_ЗаявлениеОНазначенииПособияПоУходуЗаРебенком_2022
		Или КонтекстПечати.МетаданныеМакета = Макеты.ПФ_MXL_ЗаявлениеОНазначенииПособияПоУходуЗаРебенком_2024
		Или КонтекстПечати.МетаданныеМакета = Макеты.ПФ_MXL_ЗаявлениеОНазначенииПособияПоУходуЗаРебенком_2025 Тогда
		ВывестиЗаявлениеОНазначенииПособияПоУходуЗаРебенком_2022(КонтекстПечати);
	ИначеЕсли КонтекстПечати.МетаданныеМакета = Макеты.ПФ_MXL_ЗаявлениеОПерерасчетеПособия_2022 Тогда
		ВывестиЗаявлениеОПерерасчетеПособия_2022(КонтекстПечати);
	ИначеЕсли КонтекстПечати.МетаданныеМакета = Макеты.ПФ_MXL_ОтпускНаПериодЛечения_2022
		Или КонтекстПечати.МетаданныеМакета = Макеты.ПФ_MXL_ОтпускНаПериодЛечения_2024 Тогда
		ВывестиОтпускНаПериодЛечения_2022(КонтекстПечати);
	КонецЕсли;
	
КонецПроцедуры

// Конец ЗарплатаКадрыПодсистемы

// СтандартныеПодсистемы.УправлениеДоступом

// См. УправлениеДоступомПереопределяемый.ПриЗаполненииСписковСОграничениемДоступа.
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
	Ограничение.Текст =
	"РазрешитьЧтениеИзменение
	|ГДЕ
	|	ЗначениеРазрешено(Организация)
	|	И ЗначениеРазрешено(ФизическоеЛицо)";
КонецПроцедуры

// Конец СтандартныеПодсистемы.УправлениеДоступом

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

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

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

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

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

#Область СлужебныйПрограммныйИнтерфейс

// Возвращает описание состава документа
//
// Возвращаемое значение:
//  Структура - см. ЗарплатаКадрыСоставДокументов.НовоеОписаниеСоставаОбъекта.
//
Функция ОписаниеСоставаОбъекта() Экспорт
	Возврат ЗарплатаКадрыСоставДокументов.ОписаниеСоставаОбъектаФизическоеЛицоВШапке("ФизическоеЛицо", "Сотрудник");
КонецФункции

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

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

// Возвращает описание фиксации данных документа.
//
// Возвращаемое значение:
//  Структура - см. ФиксацияВторичныхДанныхВДокументах.ПараметрыФиксацииВторичныхДанных.
//
Функция ПараметрыФиксацииВторичныхДанных(Объект) Экспорт
	Возврат ФиксацияВторичныхДанныхВДокументах.ПараметрыФиксации(ФиксируемыеРеквизиты(Объект));
КонецФункции

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

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

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

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

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

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

// СтандартныеПодсистемы.ЗащитаПерсональныхДанных

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

// Конец СтандартныеПодсистемы.ЗащитаПерсональныхДанных

#Область ТабличныйДокументСведенияОЗастрахованномЛице

Функция ТабличныйДокументСведенийОЗастрахованномЛице(МассивСсылок, ОбъектыПечати)
	ТабличныйДокумент = Новый ТабличныйДокумент;
	ТабличныйДокумент.КлючПараметровПечати = "ПараметрыПечати_СведенияОЗастрахованномЛице";
	ТабличныйДокумент.АвтоМасштаб = Истина;
	
	УправлениеПечатьюБЗК.УстановитьОтступ(ТабличныйДокумент, 0, 0, 0, 0);
	
	ДанныеДляПечатиСведений = ДанныеДляПечатиСведений(МассивСсылок);
	
	ИмяМакета = "ПФ_MXL_СведенияОЗастрахованномЛице_2021";
	ДанныеДляПечати = ДанныеДляПечатиСведений.Скопировать(Новый Структура("ИмяМакета", ИмяМакета));
	Если ДанныеДляПечати.Количество() > 0 Тогда
		ДанныеДляПечати.Сортировать("Дата, Ссылка");
		СтроковыеДанныеВВерхнийРегистр(ДанныеДляПечати);
		Для Каждого Документ Из ДанныеДляПечати Цикл
			Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ЗаявлениеСотрудникаНаВыплатуПособия." + Документ.ИмяМакета);
			ЗаполнитьСведенияОСтрахователеВМакете_2021(Макет, Документ);
			ЗаполнитьСведенияОЗастрахованномЛицеВМакете_2021(Макет, Документ);
			Если ТабличныйДокумент.ВысотаТаблицы > 0 Тогда
				ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
			КонецЕсли;
			НачалоТекущегоФрагмента = ТабличныйДокумент.ВысотаТаблицы + 1;
			ТабличныйДокумент.Вывести(Макет);
			УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НачалоТекущегоФрагмента, ОбъектыПечати, Документ.Ссылка);
		КонецЦикла;
	КонецЕсли;
	
	ИмяМакета = "ПФ_MXL_СведенияОЗастрахованномЛице_2022";
	ДанныеДляПечати = ДанныеДляПечатиСведений.Скопировать(Новый Структура("ИмяМакета", ИмяМакета));
	Если ДанныеДляПечати.Количество() > 0 Тогда
		ДанныеДляПечати.Сортировать("Дата, Ссылка");
		МетаданныеМакета = Метаданные.Документы.ЗаявлениеСотрудникаНаВыплатуПособия.Макеты[ИмяМакета];
		КонтекстПечати = УправлениеПечатьюБЗК.КонтекстПечати(МетаданныеМакета, , ОбъектыПечати, ТабличныйДокумент);
		Для Каждого Документ Из ДанныеДляПечати Цикл
			УправлениеПечатьюБЗК.ПередПечатьюОчередногоОбъекта(КонтекстПечати);
			
			СЗЛ_ВывестиШапкуСтраницы1_2022(КонтекстПечати, Документ);
			СЭДОФСС.ВывестиАдрес(КонтекстПечати, Документ.АдресРегистрации, "АдресРегистрации");
			АдресПроживания = ?(Документ.ВыплатаПочтой, Документ.АдресПроживания, "");
			СЭДОФСС.ВывестиАдрес(КонтекстПечати, АдресПроживания, "АдресПроживания");
			КонтекстПечати.ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
			СЗЛ_ВывестиШапкуСтраницы2_2022(КонтекстПечати, Документ);
			СЭДОФСС.ВывестиАдрес(КонтекстПечати, "", "ИО_АдресДоставки");
			СЗЛ_ВывестиПодвалСтраницы2_2022(КонтекстПечати, Документ);
			
			УправлениеПечатьюБЗК.ПослеПечатиОчередногоОбъекта(КонтекстПечати, Документ.Ссылка);
		КонецЦикла;
	КонецЕсли;
	
	ИмяМакета = "ПФ_MXL_СведенияОЗастрахованномЛице_2024";
	ДанныеДляПечати = ДанныеДляПечатиСведений.Скопировать(Новый Структура("ИмяМакета", ИмяМакета));
	Если ДанныеДляПечати.Количество() > 0 Тогда
		ДанныеДляПечати.Сортировать("Дата, Ссылка");
		МетаданныеМакета = Метаданные.Документы.ЗаявлениеСотрудникаНаВыплатуПособия.Макеты[ИмяМакета];
		КонтекстПечати = УправлениеПечатьюБЗК.КонтекстПечати(МетаданныеМакета, , ОбъектыПечати, ТабличныйДокумент);
		Для Каждого Документ Из ДанныеДляПечати Цикл
			УправлениеПечатьюБЗК.ПередПечатьюОчередногоОбъекта(КонтекстПечати);
			
			СЗЛ_ВывестиШапкуСтраницы1_2022(КонтекстПечати, Документ);
			СЭДОФСС.ВывестиАдрес(КонтекстПечати, Документ.АдресРегистрации, "АдресРегистрации");
			АдресПроживания = ?(Документ.ВыплатаПочтой, Документ.АдресПроживания, "");
			СЭДОФСС.ВывестиАдрес(КонтекстПечати, АдресПроживания, "АдресПроживания");
			КонтекстПечати.ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
			СЗЛ_ВывестиШапкуСтраницы2_2022(КонтекстПечати, Документ);
			СЭДОФСС.ВывестиАдрес(КонтекстПечати, "", "ИО_АдресДоставки");
			СЗЛ_ВывестиПодвалСтраницы2_2022(КонтекстПечати, Документ);
			
			УправлениеПечатьюБЗК.ПослеПечатиОчередногоОбъекта(КонтекстПечати, Документ.Ссылка);
		КонецЦикла;
	КонецЕсли;
	
	ИмяМакета = "ПФ_MXL_СведенияОЗастрахованномЛице_2025";
	ДанныеДляПечати = ДанныеДляПечатиСведений.Скопировать(Новый Структура("ИмяМакета", ИмяМакета));
	Если ДанныеДляПечати.Количество() > 0 Тогда
		ДанныеДляПечати.Сортировать("Дата, Ссылка");
		МетаданныеМакета = Метаданные.Документы.ЗаявлениеСотрудникаНаВыплатуПособия.Макеты[ИмяМакета];
		КонтекстПечати = УправлениеПечатьюБЗК.КонтекстПечати(МетаданныеМакета, , ОбъектыПечати, ТабличныйДокумент);
		Для Каждого Документ Из ДанныеДляПечати Цикл
			УправлениеПечатьюБЗК.ПередПечатьюОчередногоОбъекта(КонтекстПечати);
			
			СЗЛ_ВывестиШапкуСтраницы1_2022(КонтекстПечати, Документ);
			СЭДОФСС.ВывестиАдрес(КонтекстПечати, Документ.АдресРегистрации, "АдресРегистрации");
			АдресПроживания = ?(Документ.ВыплатаПочтой, Документ.АдресПроживания, "");
			СЭДОФСС.ВывестиАдрес(КонтекстПечати, АдресПроживания, "АдресПроживания");
			КонтекстПечати.ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
			СЗЛ_ВывестиШапкуСтраницы2_2022(КонтекстПечати, Документ);
			СЭДОФСС.ВывестиАдрес(КонтекстПечати, "", "ИО_АдресДоставки");
			СЗЛ_ВывестиПодвалСтраницы2_2022(КонтекстПечати, Документ);
			
			УправлениеПечатьюБЗК.ПослеПечатиОчередногоОбъекта(КонтекстПечати, Документ.Ссылка);
		КонецЦикла;
	КонецЕсли;
	
	Возврат ТабличныйДокумент;
КонецФункции

Функция ДанныеДляПечатиСведений(МассивСсылок)
	Запрос = Новый Запрос;
	Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	Запрос.УстановитьПараметр("МассивСсылок", МассивСсылок);
	
	// Создание ВТ кадровых данных.
	Запрос.Текст =
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Заявление.ПредставительСФР КАК ФизическоеЛицо,
	|	Заявление.Дата КАК Период
	|ПОМЕСТИТЬ ВТФизическиеЛица
	|ИЗ
	|	Документ.ЗаявлениеСотрудникаНаВыплатуПособия КАК Заявление
	|ГДЕ
	|	Заявление.Ссылка В(&МассивСсылок)
	|
	|ОБЪЕДИНИТЬ
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Заявление.ФизическоеЛицо,
	|	Заявление.Дата
	|ИЗ
	|	Документ.ЗаявлениеСотрудникаНаВыплатуПособия КАК Заявление
	|ГДЕ
	|	Заявление.Ссылка В(&МассивСсылок)";
	Запрос.Выполнить();
	Описатель = КадровыйУчет.ОписательВременныхТаблицДляСоздатьВТКадровыеДанныеФизическихЛиц(Запрос.МенеджерВременныхТаблиц, "ВТФизическиеЛица");
	КадровыйУчет.СоздатьВТКадровыеДанныеФизическихЛиц(Описатель, Истина, "ФИОПолные, Пол");
	
	// Выборка.
	Запрос.УстановитьПараметр("ДатаФорм2022", ПрямыеВыплатыПособийСоциальногоСтрахования.ДатаВступленияВСилуФорм2022());
	Запрос.УстановитьПараметр("ДатаФорм2024", ПрямыеВыплатыПособийСоциальногоСтрахования.ДатаВступленияВСилуФорм2024());
	Запрос.УстановитьПараметр("ДатаФорм2025", ПрямыеВыплатыПособийСоциальногоСтрахования.ДатаВступленияВСилуФорм2025());
	Запрос.Текст =
	"ВЫБРАТЬ
	|	Заявление.Ссылка КАК Ссылка,
	|	ВЫБОР
	|		КОГДА Заявление.Дата < &ДатаФорм2022
	|			ТОГДА ""ПФ_MXL_СведенияОЗастрахованномЛице_2021""
	|		КОГДА Заявление.Дата < &ДатаФорм2024
	|			ТОГДА ""ПФ_MXL_СведенияОЗастрахованномЛице_2022""
	|		КОГДА Заявление.Дата < &ДатаФорм2025
	|			ТОГДА ""ПФ_MXL_СведенияОЗастрахованномЛице_2024""
	|		ИНАЧЕ ""ПФ_MXL_СведенияОЗастрахованномЛице_2025""
	|	КОНЕЦ КАК ИмяМакета,
	|	Заявление.НаименованиеОрганизации КАК СтраховательНаименование,
	|	Заявление.ФамилияЗаявителя КАК СотрудникФамилия,
	|	Заявление.ИмяЗаявителя КАК СотрудникИмя,
	|	Заявление.ОтчествоЗаявителя КАК СотрудникОтчество,
	|	Заявление.ДатаРожденияПолучателя КАК ДатаРождения,
	|	Заявление.СНИЛСПолучателя КАК СНИЛС,
	|	Заявление.ИННПолучателя КАК СотрудникИНН,
	|	Заявление.СпособВыплатыПособия = ЗНАЧЕНИЕ(Перечисление.СпособыВыплатыПособия.ПочтовымПереводом) КАК ВыплатаПочтой,
	|	ВЫБОР
	|		КОГДА КадровыеДанныеСотрудника.Пол ЕСТЬ NULL
	|			ТОГДА НЕОПРЕДЕЛЕНО
	|		ИНАЧЕ КадровыеДанныеСотрудника.Пол
	|	КОНЕЦ КАК Пол,
	|	ВидДокументаУдостоверениеЛичности.КодМВД КАК УдостоверениеЛичностиКодМВД,
	|	Заявление.ВидДокументаУдостоверяющегоЛичностьПолучателя КАК УдостоверениеЛичностиВид,
	|	Заявление.СерияДокументаУдостоверяющегоЛичностьПолучателя КАК УдостоверениеЛичностиСерия,
	|	Заявление.НомерДокументаУдостоверяющегоЛичностьПолучателя КАК УдостоверениеЛичностиНомер,
	|	Заявление.ДатаВыдачиДокументаУдостоверяющегоЛичностьПолучателя КАК УдостоверениеЛичностиДатаВыдачи,
	|	Заявление.КемВыданДокументУдостоверяющийЛичностьПолучателя КАК УдостоверениеЛичностиКемВыдан,
	|	Заявление.ДатаДействияДокументаУдостоверяющегоЛичностьПолучателя КАК УдостоверениеЛичностиСрокДействия,
	|	ВидДокументаДокументНаПроживание.КодМВД КАК РазрешениеНаПроживаниеКодМВД,
	|	Заявление.ВидДокументаНаПроживание КАК РазрешениеНаПроживаниеВид,
	|	Заявление.СерияДокументаНаПроживание КАК РазрешениеНаПроживаниеСерия,
	|	Заявление.НомерДокументаНаПроживание КАК РазрешениеНаПроживаниеНомер,
	|	Заявление.ДатаВыдачиДокументаНаПроживание КАК РазрешениеНаПроживаниеДатаВыдачи,
	|	Заявление.ФинансированиеФедеральнымБюджетом КАК ПричинаПредоставленияЛьготы,
	|	Заявление.ВидОсобойЗоныПроживанияРаботы КАК ВидОсобойЗоны,
	|	Заявление.НаименованиеБанка КАК БанкНаименование,
	|	Заявление.НомерЛицевогоСчета КАК НомерСчета,
	|	Заявление.БИКБанка КАК БанкБИК,
	|	Заявление.ТелефонПолучателя КАК СотрудникТелефон,
	|	ВЫБОР
	|		КОГДА КадровыеДанныеУполномоченных.ФИОПолные ЕСТЬ NULL
	|				ИЛИ КадровыеДанныеУполномоченных.ФИОПолные = """"
	|			ТОГДА Заявление.УдалитьФИОУполномоченного
	|		ИНАЧЕ КадровыеДанныеУполномоченных.ФИОПолные
	|	КОНЕЦ КАК УполномоченныйПредставительФИО,
	|	Заявление.ДолжностьПредставителяСФР КАК УполномоченныйПредставительДолжность,
	|	Заявление.АдресЭлектроннойПочтыСтрахователя КАК СтраховательЭлектроннаяПочта,
	|	Заявление.ТелефонУполномоченногоПредставителя КАК СтраховательТелефон,
	|	Заявление.КодПодчиненностиФСС КАК КодПодчиненностиФСС,
	|	Заявление.ФизическоеЛицо КАК ФизическоеЛицо,
	|	Заявление.Дата КАК Дата,
	|	Заявление.ВидПособия КАК ВидПособия,
	|	Заявление.ФамилияПолучателя КАК ФамилияПолучателя,
	|	Заявление.ИмяПолучателя КАК ИмяПолучателя,
	|	Заявление.ОтчествоПолучателя КАК ОтчествоПолучателя,
	|	Заявление.СпособВыплатыПособия КАК СпособВыплатыПособия,
	|	Заявление.НаименованиеБанка КАК НаименованиеБанка,
	|	Заявление.НомерЛицевогоСчета КАК НомерЛицевогоСчета,
	|	Заявление.БИКБанка КАК БИКБанка,
	|	Заявление.ДатаРожденияПолучателя КАК ДатаРожденияПолучателя,
	|	Заявление.ВидДокументаУдостоверяющегоЛичностьПолучателя КАК ВидДокументаУдостоверяющегоЛичностьПолучателя,
	|	Заявление.СерияДокументаУдостоверяющегоЛичностьПолучателя КАК СерияДокументаУдостоверяющегоЛичностьПолучателя,
	|	Заявление.НомерДокументаУдостоверяющегоЛичностьПолучателя КАК НомерДокументаУдостоверяющегоЛичностьПолучателя,
	|	Заявление.ДатаВыдачиДокументаУдостоверяющегоЛичностьПолучателя КАК ДатаВыдачиДокументаУдостоверяющегоЛичностьПолучателя,
	|	Заявление.КемВыданДокументУдостоверяющийЛичностьПолучателя КАК КемВыданДокументУдостоверяющийЛичностьПолучателя,
	|	Заявление.ДатаДействияДокументаУдостоверяющегоЛичностьПолучателя КАК ДатаДействияДокументаУдостоверяющегоЛичностьПолучателя,
	|	Заявление.ВидДокументаНаПроживание КАК ВидДокументаНаПроживание,
	|	Заявление.СерияДокументаНаПроживание КАК СерияДокументаНаПроживание,
	|	Заявление.НомерДокументаНаПроживание КАК НомерДокументаНаПроживание,
	|	Заявление.ДатаВыдачиДокументаНаПроживание КАК ДатаВыдачиДокументаНаПроживание,
	|	Заявление.АдресПолучателяРегистрации КАК АдресРегистрации,
	|	Заявление.АдресПолучателяРегистрации КАК АдресПолучателяРегистрации,
	|	Заявление.АдресПолучателяФактический КАК АдресПроживания,
	|	Заявление.АдресПолучателяФактический КАК АдресПолучателяФактический,
	|	Заявление.Дата КАК ДатаПодачиЗаявления,
	|	Заявление.ОтношениеКОсобойЗоне КАК ОтношениеКОсобойЗоне,
	|	Заявление.ВидОсобойЗоныПроживанияРаботы КАК ВидОсобойЗоныПроживанияРаботы,
	|	Заявление.ФинансированиеФедеральнымБюджетом КАК ФинансированиеФедеральнымБюджетом,
	|	Заявление.НаименованиеОрганизации КАК НаименованиеОрганизации,
	|	Заявление.СНИЛСПолучателя КАК СНИЛСПолучателя,
	|	Заявление.ИННПолучателя КАК ИННПолучателя,
	|	ВЫБОР
	|		КОГДА КадровыеДанныеУполномоченных.ФИОПолные ЕСТЬ NULL
	|				ИЛИ КадровыеДанныеУполномоченных.ФИОПолные = """"
	|			ТОГДА Заявление.УдалитьФИОУполномоченного
	|		ИНАЧЕ КадровыеДанныеУполномоченных.ФИОПолные
	|	КОНЕЦ КАК ФИОУполномоченногоПредставителя,
	|	Заявление.ДолжностьПредставителяСФР КАК ДолжностьПредставителяСФР,
	|	Заявление.ТелефонУполномоченногоПредставителя КАК ТелефонУполномоченногоПредставителя,
	|	Заявление.КартаМИР КАК КартаМИР,
	|	ВидДокументаУдостоверениеЛичности.КодМВД КАК КодУдостоверенияЛичности,
	|	ВидДокументаДокументНаПроживание.КодМВД КАК КодДокументаНаПроживание,
	|	Заявление.ТелефонПолучателя КАК ТелефонПолучателя,
	|	Заявление.ФамилияЗаявителя КАК ФамилияЗаявителя,
	|	Заявление.ИмяЗаявителя КАК ИмяЗаявителя,
	|	Заявление.ОтчествоЗаявителя КАК ОтчествоЗаявителя,
	|	Заявление.АдресЭлектроннойПочтыСтрахователя КАК АдресЭлектроннойПочтыСтрахователя,
	|	ВЫРАЗИТЬ(Организации.НаименованиеПолное КАК СТРОКА(1000)) КАК ОрганизацияНаименованиеПолное,
	|	ВЫРАЗИТЬ(Организации.НаименованиеСокращенное КАК СТРОКА(1000)) КАК ОрганизацияНаименованиеСокращенное,
	|	ВЫБОР
	|		КОГДА (ВЫРАЗИТЬ(Организации.НаименованиеПолное КАК СТРОКА(1000))) = """"""""
	|			ТОГДА Организации.НаименованиеСокращенное
	|		ИНАЧЕ ВЫРАЗИТЬ(Организации.НаименованиеПолное КАК СТРОКА(1000))
	|	КОНЕЦ КАК ОрганизацияНаименование
	|ИЗ
	|	Документ.ЗаявлениеСотрудникаНаВыплатуПособия КАК Заявление
	|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыДокументовФизическихЛиц КАК ВидДокументаУдостоверениеЛичности
	|		ПО Заявление.ВидДокументаУдостоверяющегоЛичностьПолучателя = ВидДокументаУдостоверениеЛичности.Ссылка
	|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыДокументовФизическихЛиц КАК ВидДокументаДокументНаПроживание
	|		ПО Заявление.ВидДокументаНаПроживание = ВидДокументаДокументНаПроживание.Ссылка
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВТКадровыеДанныеФизическихЛиц КАК КадровыеДанныеСотрудника
	|		ПО Заявление.ФизическоеЛицо = КадровыеДанныеСотрудника.ФизическоеЛицо
	|			И Заявление.Дата = КадровыеДанныеСотрудника.Период
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВТКадровыеДанныеФизическихЛиц КАК КадровыеДанныеУполномоченных
	|		ПО Заявление.ПредставительСФР = КадровыеДанныеУполномоченных.ФизическоеЛицо
	|			И Заявление.Дата = КадровыеДанныеУполномоченных.Период
	|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации КАК Организации
	|		ПО Заявление.Организация = Организации.Ссылка
	|ГДЕ
	|	Заявление.Ссылка В(&МассивСсылок)
	|
	|УПОРЯДОЧИТЬ ПО
	|	Дата,
	|	Ссылка";
	
	Таблица = Запрос.Выполнить().Выгрузить();
	
	Возврат Таблица;

КонецФункции

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

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

Процедура ЗаполнитьСведенияОЗастрахованномЛицеВМакете_2021(Макет, Документ)
	
	Сведения = СведенияОЗастрахованномЛицеДляФСС(Документ);
	
	ЗаполнитьФИОЗаявителяВРодительномПадеже(Сведения);
	
	ЗаполнитьВМакетеФИО_2021(Макет, Сведения, "ЗаявительВРодительномПадеже", 44);
	ЗаполнитьВМакетеФИО_2021(Макет, Сведения, "Получатель", 44);
	
	ЗаполнитьВМакетеДатуРожденияПолучателя(Макет, Сведения);
	
	Если Сведения.СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.ЧерезБанк Тогда
		ЗаполнитьВМакетеВыплатуЧерезБанк(Макет, Сведения);
	ИначеЕсли Сведения.СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.НаКартуМИР Тогда
		ЗаполнитьВМакетеВыплатуНаКартуМИР(Макет, Сведения.КартаМИР);
	ИначеЕсли Сведения.СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.ПочтовымПереводом Тогда
		Макет.Области["ВыплатаПочтой"].Текст = "v";
	КонецЕсли;
	
	ЗаполнитьВМакетеСведенияОбАдресе_2021(Макет, Сведения.АдресПроживания,  "АдресПроживания");
	ЗаполнитьВМакетеСведенияОбАдресе_2021(Макет, Сведения.АдресРегистрации, "АдресРегистрации");
	
	ПрямыеВыплатыПособийСоциальногоСтрахования.ВывестиТелефонПоБуквам(
		Сведения.ТелефонПолучателя,
		Макет,
		"ТелефонПолучателя_",
		30);
	
	ЗаполнитьВМакетеУдостоверениеЛичности_2021(Макет, Документ);
	
	ЗаполнитьВМакетеРазрешениеНаПроживание(Макет, Документ, 20);
	
	ЗаполнитьВМакетеДанныеОПроживанииРаботеВОсобойЗоне(Макет, Документ);
	
	ЗаполнитьВМакетеДанныеОФинансированииФедеральнымБюджетом(Макет, Документ);
	
	ЗаполнитьВМакетеСНИЛССотрудника(Макет, Документ);
	
	ЗаполнитьВМакетеИННСотрудника(Макет, Документ);
	
КонецПроцедуры

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

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

Функция ПредставлениеТелефона(ЗначениеТелефона, ОграничениеДлины) Экспорт
	Возврат КонтактнаяИнформацияБЗК.ПредставлениеТелефона(ЗначениеТелефона, ОграничениеДлины, Истина);
КонецФункции

Процедура ЗаполнитьВМакетеФИО_2021(Макет, Сведения, Префикс, Длина)
	
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Сведения[Префикс + "Фамилия"],  Макет, Префикс + "_Фамилия_",  Длина);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Сведения[Префикс + "Имя"],      Макет, Префикс + "_Имя_",      Длина);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Сведения[Префикс + "Отчество"], Макет, Префикс + "_Отчество_", Длина);
	
КонецПроцедуры

Процедура СЗЛ_ВывестиШапкуСтраницы1_2022(КонтекстПечати, Документ)
	Параметры = Новый Структура(КонтекстПечати.ИменаПараметровОбластей.Страница1_Шапка);
	Секция    = УправлениеПечатьюБЗК.СекцияПечатнойФормы(КонтекстПечати, "Страница1_Шапка");
	
	УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, Документ.СтраховательНаименование, "СтраховательНаименование");
	
	ЧастиИмени = СЭДОФСС.ФИОВРодительномПадеже(
		Документ.СотрудникФамилия,
		Документ.СотрудникИмя,
		Документ.СотрудникОтчество,
		Документ.ФизическоеЛицо);
	УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, ЧастиИмени.Фамилия,  "Заявитель_ФамилияВРодительномПадеже");
	УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, ЧастиИмени.Имя,      "Заявитель_ИмяВРодительномПадеже");
	УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, ЧастиИмени.Отчество, "Заявитель_ОтчествоВРодительномПадеже");
	
	УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, Документ.СотрудникФамилия,  "СотрудникФамилия");
	УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, Документ.СотрудникИмя,      "СотрудникИмя");
	УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, Документ.СотрудникОтчество, "СотрудникОтчество");
	
	УправлениеПечатьюБЗК.ВывестиДатуПоБуквам(Секция, Документ.ДатаРождения, "ДатаРождения");
	
	Если Документ.Пол = Перечисления.ПолФизическогоЛица.Женский Тогда
		Секция.ТабличныйДокумент.Области["Пол_Ж"].Текст = "v";
	Иначе
		Секция.ТабличныйДокумент.Области["Пол_М"].Текст = "v";
	КонецЕсли;
	
	СНИЛС = УчетПособийСоциальногоСтрахованияКлиентСервер.СНИЛСВФорматеФСС(Документ.СНИЛС);
	УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, СНИЛС,                 "СНИЛС");
	УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, Документ.СотрудникИНН, "СотрудникИНН");
	
	СЗЛ_ВывестиУдостоверениеЛичности_2022(Секция, Документ);
	
	СЗЛ_ВывестиРазрешениеНаПроживание_2022(Секция, Документ);
	
	СЗЛ_ВывестиСведенияОЛьготах_2022(Параметры, Документ);
	
	Секция.ТабличныйДокумент.Параметры.Заполнить(Параметры);
	КонтекстПечати.ТабличныйДокумент.Вывести(Секция.ТабличныйДокумент);
КонецПроцедуры

Процедура СЗЛ_ВывестиУдостоверениеЛичности_2022(Секция, Документ)
	
	Если ЭтоПаспорт(Документ.УдостоверениеЛичностиКодМВД) Тогда
		
		Секция.ТабличныйДокумент.Области["Паспорт"].Текст = "v";
		
		ДокументСерия = СтрЗаменить(Документ.УдостоверениеЛичностиСерия, " ", "");
		УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, ДокументСерия, "ПаспортСерия");
		УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, Документ.УдостоверениеЛичностиНомер, "ПаспортНомер");
		УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, Документ.УдостоверениеЛичностиКемВыдан, "ПаспортКемВыдан");
		УправлениеПечатьюБЗК.ВывестиДатуПоБуквам(Секция, Документ.УдостоверениеЛичностиДатаВыдачи, "ПаспортДата");
		
	ИначеЕсли ЭтоВременноеУдостоверениеЛичности(Документ.УдостоверениеЛичностиКодМВД) Тогда
		
		Секция.ТабличныйДокумент.Области["ВременноеУдостоверение"].Текст = "v";
		
		УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, Документ.УдостоверениеЛичностиНомер, "ВременноеУдостоверениеНомер");
		УправлениеПечатьюБЗК.ВывестиДатуПоБуквам(
			Секция,
			Документ.УдостоверениеЛичностиСрокДействия,
			"ВременноеУдостоверениеДата");
		
	ИначеЕсли ЗначениеЗаполнено(Документ.УдостоверениеЛичностиКодМВД) Тогда
		
		Секция.ТабличныйДокумент.Области["ИнойДокумент"].Текст = "v";
		
		ДокументСерия = СтрЗаменить(Документ.УдостоверениеЛичностиСерия, " ", "");
		УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, ДокументСерия, "ИнойДокументСерия");
		УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, Документ.УдостоверениеЛичностиНомер, "ИнойДокументНомер");
		УправлениеПечатьюБЗК.ВывестиДатуПоБуквам(Секция, Документ.УдостоверениеЛичностиСрокДействия, "ИнойДокументДата");
		
	КонецЕсли;
	
КонецПроцедуры

Процедура СЗЛ_ВывестиРазрешениеНаПроживание_2022(Секция, Документ)
	
	ДокументСерия = СтрЗаменить(Документ.РазрешениеНаПроживаниеСерия, " ", "");
	
	Если ЭтоВидНаЖительство(Документ.РазрешениеНаПроживаниеКодМВД) Тогда
		
		Секция.ТабличныйДокумент.Области["ЭтоВНЖ"].Текст = "v";
		
		УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, ДокументСерия, "ВНЖ_Серия");
		УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, Документ.РазрешениеНаПроживаниеНомер, "ВНЖ_Номер");
		УправлениеПечатьюБЗК.ВывестиДатуПоБуквам(Секция, Документ.РазрешениеНаПроживаниеДатаВыдачи, "ВНЖ_Дата");
		
	ИначеЕсли ЭтоРазрешениеНаВременноеПроживание(Документ.РазрешениеНаПроживаниеКодМВД) Тогда
		
		Секция.ТабличныйДокумент.Области["ЭтоРВП"].Текст = "v";
		
		УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, ДокументСерия, "РВП_Серия");
		УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, Документ.РазрешениеНаПроживаниеНомер, "РВП_Номер");
		УправлениеПечатьюБЗК.ВывестиДатуПоБуквам(Секция, Документ.РазрешениеНаПроживаниеДатаВыдачи, "РВП_Дата");
		
	КонецЕсли;
	
КонецПроцедуры

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

Процедура СЗЛ_ВывестиШапкуСтраницы2_2022(КонтекстПечати, Документ)
	Секция = УправлениеПечатьюБЗК.СекцияПечатнойФормы(КонтекстПечати, "Страница2_Шапка");
	
	Если Документ.СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.ЧерезБанк Тогда
		
		Секция.ТабличныйДокумент.Области["ВыплатаЧерезБанк"].Текст = "v";
		
		УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, Документ.БанкНаименование, "БанкНаименование");
		УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, Документ.НомерСчета, "НомерСчета");
		УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, Документ.БанкБИК, "БанкБИК");
		
	ИначеЕсли Документ.СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.НаКартуМИР Тогда
		
		Секция.ТабличныйДокумент.Области["ВыплатаЧерезБанк"].Текст = "v";
		
		НомерКартыМИР = БанковскиеКарты.ПолныйНомерКарты(Документ.КартаМИР);
		УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, НомерКартыМИР, "НомерКартыМИР");
		
	ИначеЕсли Документ.ВыплатаПочтой Тогда
		
		Секция.ТабличныйДокумент.Области["ВыплатаПочтой"].Текст = "v";
		
	КонецЕсли;
	
	КонтекстПечати.ТабличныйДокумент.Вывести(Секция.ТабличныйДокумент);
КонецПроцедуры

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

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

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

Функция ТабличныйДокументЗаявленияОПерерасчетеПособия(МассивСсылок, ОбъектыПечати)
	ТабличныйДокумент = Новый ТабличныйДокумент;
	ТабличныйДокумент.КлючПараметровПечати = "ПараметрыПечати_ЗаявлениеОПерерасчете";
	ТабличныйДокумент.АвтоМасштаб = Истина;
	
	ДанныеДляПечатиЗаявлений = ДанныеДляПечатиЗаявленийОПерерасчете(МассивСсылок);
	ИмяМакета = "ПФ_MXL_ЗаявлениеВФССОПерерасчетеПособия_2021";
	Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ЗаявлениеСотрудникаНаВыплатуПособия." + ИмяМакета);
	Для Каждого Заявление Из ДанныеДляПечатиЗаявлений Цикл
		ЗаполнитьДанныеЗаявленияОПерерасчетеВМакете_2021(Макет, Заявление);
		Если ТабличныйДокумент.ВысотаТаблицы > 0 Тогда
			ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;
		НачалоТекущегоФрагмента = ТабличныйДокумент.ВысотаТаблицы + 1;
		ТабличныйДокумент.Вывести(Макет);
		УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НачалоТекущегоФрагмента, ОбъектыПечати, Заявление.Ссылка);
	КонецЦикла;
	
	Возврат ТабличныйДокумент;
КонецФункции

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

КонецФункции

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

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

#Область ПечатныеФормы2022

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

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

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

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

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

#Область ВыводКонтактнойИнформации

Процедура ЗаполнитьВМакетеСведенияОбАдресе_2021(Макет, СтруктураАдреса, Префикс) Экспорт
	Если СтруктураАдреса = Неопределено Тогда
		Возврат;
	КонецЕсли;
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Индекс), Макет, Префикс + "_Индекс_", 6);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Регион), Макет, Префикс + "_Регион_", 45);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Район),  Макет, Префикс + "_Район_", 45);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.НаселенныйПункт), Макет, Префикс + "_НаселенныйПункт_", 42);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Улица), Макет, Префикс + "_Улица_", 45);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Дом), Макет, Префикс + "_Дом_", 8);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Корпус), Макет, Префикс + "_Корпус_", 9);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Строение), Макет, Префикс + "_Строение_", 9);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Квартира), Макет, Префикс + "_Квартира_", 9);
КонецПроцедуры

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

#Область ТабличныйДокументЗаявленияСотрудниковНаВыплатуПособия

Функция ТабличныйДокументЗаявленияСотрудниковНаВыплатуПособия(МассивСсылок, ОбъектыПечати)
	ТабличныйДокумент = Новый ТабличныйДокумент;
	ТабличныйДокумент.КлючПараметровПечати = "ПараметрыПечати_ЗаявлениеСотрудникаНаВыплатуПособия";
	ТабличныйДокумент.АвтоМасштаб = Истина;
	
	ДанныеДляПечатиЗаявлений = ДанныеДляПечатиЗаявлений(МассивСсылок);
	
	ПравоЧтенияСреднегоЗаработка = КадровыйУчет.ПравоНаРазделУчета("Чтение", "НачисленнаяЗарплата");
	
	ДатаФорм2017 = ПрямыеВыплатыПособийСоциальногоСтрахования.ДатаВступленияВСилуФорм2017Года();
	Для Каждого Заявление Из ДанныеДляПечатиЗаявлений Цикл
		ИмяМакета = ?(Заявление.Дата < ДатаФорм2017, "ПФ_MXL_ЗаявлениеВФССОВыплатеПособия_2012", "ПФ_MXL_ЗаявлениеВФССОВыплатеПособия_2017");
		Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ЗаявлениеСотрудникаНаВыплатуПособия." + ИмяМакета);
		
		Если ИмяМакета = "ПФ_MXL_ЗаявлениеВФССОВыплатеПособия_2012" Тогда
			ЗаполнитьДанныеЗаявленияВМакете_2012(Макет, Заявление, ПравоЧтенияСреднегоЗаработка);
		Иначе
			ЗаполнитьДанныеЗаявленияВМакете_2017(Макет, Заявление, ПравоЧтенияСреднегоЗаработка);
		КонецЕсли;
		
		Если ТабличныйДокумент.ВысотаТаблицы > 0 Тогда
			ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;
		НачалоТекущегоФрагмента = ТабличныйДокумент.ВысотаТаблицы + 1;
		ТабличныйДокумент.Вывести(Макет);
		УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НачалоТекущегоФрагмента, ОбъектыПечати, Заявление.Ссылка);
	КонецЦикла;
	
	Возврат ТабличныйДокумент;
КонецФункции

#Область ДанныеДляПечатиЗаявлений

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

КонецФункции

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

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

КонецФункции

Функция ЭтоСтрокаXML(Строка)
	Возврат СтрНачинаетсяС(Строка, "<");
КонецФункции

Функция ЭтоСтрокаJSON(Строка)
	Возврат СтрНачинаетсяС(Строка, "{") И СтрЗаканчиваетсяНа(Строка, "}");
КонецФункции

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

#Область Печать

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

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

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

Процедура ЗаполнитьДанныеЗаявленияВМакете_2012(Макет, Заявление, ПравоЧтенияСреднегоЗаработка)
	
	ЗаполнитьВМакетеНаименованиеФСС(Макет, Заявление);
	
	ЗаполнитьВМакетеФИОЗаявителя(Макет, Заявление);
	
	ЗаполнитьВМакетеВидПособия_2012(Макет, Заявление);
	
	Если Заявление.СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.ЧерезБанк Тогда
		ЗаполнитьВМакетеВыплатуЧерезБанк(Макет, Заявление);
	Иначе
		ЗаполнитьВМакетеВыплатуЧерезПочту_2012(Макет, Заявление);
	КонецЕсли;
	
	ЗаполнитьВМакетеФИОИТелефонПолучателя(Макет, Заявление);
	
	ЗаполнитьВМакетеДатуРожденияПолучателя(Макет, Заявление);
	
	ЗаполнитьВМакетеУдостоверениеЛичности_2012(Макет, Заявление);
	
	ЗаполнитьВМакетеРазрешениеНаПроживание(Макет, Заявление, 8);
	
	ЗаполнитьВМакетеСведенияОМестеЖительства_2012(Макет, Заявление);
	
	Если ЭтоПособиеПоВременнойНетрудоспособности(Заявление.ВидПособия)
		Или ЭтоПособиеПоНесчастномуСлучаю(Заявление.ВидПособия)
		Или ЭтоПособиеПоБеременностиИРодам(Заявление.ВидПособия) Тогда
		ЗаполнитьВМакетеРеквизитыЛН(Макет, Заявление);
	КонецЕсли;
	
	Если ЭтоПособиеВставшимНаУчетВРанниеСроки(Заявление.ВидПособия) Тогда
		ЗаполнитьВМакетеРеквизитыСправкиОПостановкеНаУчетВРанниеСрокиБеременности(Макет, Заявление);
	КонецЕсли;
	
	Если ЭтоЕдиновременноеПособиеПриРожденииРебенка(Заявление.ВидПособия) Тогда
		ЗаполнитьВМакетеОбластьЕдиновременногоПособияПриРожденииРебенка_2012(Макет, Заявление);
	КонецЕсли;
	
	Если ЭтоУходЗаРебенком(Заявление.ВидПособия) Тогда
		ЗаполнитьВМакетеОбластьЕжемесячноеПособиеПоУходуЗаРебенком_2012(Макет, Заявление);
	КонецЕсли;
	
	ЗаполнитьВМакетеДатуПодачиЗаявления(Макет, Заявление);
	
	ЗаполнитьВМакетеНаименованиеРаботодателя(Макет, Заявление, 26);
	
	ЗаполнитьВМакетеВидЗанятостиСотрудника(Макет, Заявление);
	
	ЗаполнитьВМакетеСНИЛССотрудника(Макет, Заявление);
	
	ЗаполнитьВМакетеИННСотрудника(Макет, Заявление);
	
	Если ПредоставленоЗаявлениеОЗаменеКалендарныхГодов(Заявление) Тогда 
		ЗаполнитьВМакетеДанныеОЗаменеКалендарныхГодов(Макет, Заявление);
	КонецЕсли;
	
	Если Заявление.ДоляВремени > 0 И Заявление.ДоляВремени < 1 Тогда
		Макет.Параметры.НеполноеРабочееВремя = Истина;
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(Формат(Заявление.ДоляВремени, "ЧЦ=3; ЧДЦ=0; ЧС=-2; ЧВН=; ЧГ=0"), Макет, "Ставка_", 3);
	КонецЕсли;
	
	Если ПравоЧтенияСреднегоЗаработка Тогда
		ЗарплатаКадры.ВывестиСуммуВРубляхКопейкахВЯчейки(Заявление.ТарифнаяСтавкаОклад, Макет, "ТарифнаяСтавкаОклад_", 9);
		
		Если ЭтоУходЗаРебенком(Заявление.ВидПособия) Тогда
			ЗарплатаКадры.ВывестиСуммуВРубляхКопейкахВЯчейки(Заявление.СреднийЗаработок, Макет, "СреднийЗаработок_", 10);
		КонецЕсли;
	КонецЕсли;
	
	ЗаполнитьВМакетеДанныеОПериодеПростоя(Макет, Заявление, 8, ПравоЧтенияСреднегоЗаработка);
	
	ЗаполнитьВМакетеПериодЗаКоторыйПособиеНеНазначается(Макет, Заявление);
	
	ЗаполнитьВМакетеДанныеУполномоченногоПредставителя(Макет, Заявление);
	
КонецПроцедуры

Процедура ЗаполнитьДанныеЗаявленияВМакете_2017(Макет, Заявление, ПравоЧтенияСреднегоЗаработка)
	
	ЗаполнитьВМакетеНаименованиеФСС(Макет, Заявление);
	
	ЗаполнитьВМакетеФИОЗаявителя(Макет, Заявление);
	
	ЗаполнитьВМакетеВидПособия_2017(Макет, Заявление);
	
	Если Заявление.СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.ЧерезБанк Тогда
		ЗаполнитьВМакетеВыплатуЧерезБанк(Макет, Заявление);
	ИначеЕсли Заявление.СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.НаКартуМИР Тогда
		ЗаполнитьВМакетеВыплатуНаКартуМИР(Макет, Заявление.КартаМИР);
	ИначеЕсли Заявление.СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.ПочтовымПереводом Тогда
		ЗаполнитьВМакетеВыплатуЧерезПочту_2017(Макет, Заявление);
	КонецЕсли;
	
	ЗаполнитьВМакетеФИОИТелефонПолучателя(Макет, Заявление);
	
	ЗаполнитьВМакетеДатуРожденияПолучателя(Макет, Заявление);
	
	ЗаполнитьВМакетеУдостоверениеЛичности_2017(Макет, Заявление);
	
	ЗаполнитьВМакетеРазрешениеНаПроживание(Макет, Заявление, 8);
	
	ЗаполнитьВМакетеСведенияОМестеЖительства_2017(Макет, Заявление);
	
	Если ЭтоПособиеПоВременнойНетрудоспособности(Заявление.ВидПособия)
		Или ЭтоПособиеПоНесчастномуСлучаю(Заявление.ВидПособия)
		Или ЭтоПособиеПоБеременностиИРодам(Заявление.ВидПособия) Тогда
		ЗаполнитьВМакетеРеквизитыЛН(Макет, Заявление);
	КонецЕсли;
	
	Если ЭтоПособиеВставшимНаУчетВРанниеСроки(Заявление.ВидПособия) Тогда
		ЗаполнитьВМакетеРеквизитыСправкиОПостановкеНаУчетВРанниеСрокиБеременности(Макет, Заявление);
	КонецЕсли;
	
	Если ЭтоЕдиновременноеПособиеПриРожденииРебенка(Заявление.ВидПособия) Тогда
		ЗаполнитьВМакетеОбластьЕдиновременногоПособияПриРожденииРебенка_2017(Макет, Заявление);
	КонецЕсли;
	
	Если ЭтоУходЗаРебенком(Заявление.ВидПособия) Тогда
		ЗаполнитьВМакетеОбластьЕжемесячноеПособиеПоУходуЗаРебенком_2017(Макет, Заявление);
	ИначеЕсли ЭтоПособиеПоБеременностиИРодам(Заявление.ВидПособия) Тогда
		ЗаполнитьВМакетеРеквизитыПриказаНаОтпускПоУходуЗаРебенком(Макет, Заявление);
	КонецЕсли;
	
	ЗаполнитьВМакетеДатуПодачиЗаявления(Макет, Заявление);
	
	ЗаполнитьВМакетеНаименованиеРаботодателя(Макет, Заявление, 40);
	
	ЗаполнитьВМакетеВидЗанятостиСотрудника(Макет, Заявление);
	
	ЗаполнитьВМакетеСНИЛССотрудника(Макет, Заявление);
	
	ЗаполнитьВМакетеИННСотрудника(Макет, Заявление);
	
	Если ПредоставленоЗаявлениеОЗаменеКалендарныхГодов(Заявление) Тогда
		ЗаполнитьВМакетеДанныеОЗаменеКалендарныхГодов(Макет, Заявление);
	КонецЕсли;
	
	Если Заявление.ДоляВремени > 0 И Заявление.ДоляВремени < 1 Тогда
		Макет.Параметры.НеполноеРабочееВремя = Истина;
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(Формат(Заявление.ДоляВремени, "ЧЦ=4; ЧДЦ=0; ЧС=-3; ЧВН=; ЧГ=0"), Макет, "Ставка_", 4);
	КонецЕсли;
	
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.ЧислоКалендарныхДней, Макет, "ЧислоКалендарныхДней_", 3);
	
	Если ПравоЧтенияСреднегоЗаработка И ПособиеЗависитОтСреднего(Заявление.ВидПособия) Тогда
		Если ЗначениеЗаполнено(Заявление.СреднийЗаработок) Тогда
			ЗарплатаКадры.ВывестиСуммуВРубляхКопейкахВЯчейки(Заявление.СреднийЗаработок, Макет, "СреднийЗаработок_", 11);
		КонецЕсли;
		Если ЗначениеЗаполнено(Заявление.ПервыйРасчетныйГод) Тогда
			Макет.Параметры.ПервыйГодРасчета = Заявление.ПервыйРасчетныйГод - 2000;
			ЗарплатаКадры.ВывестиСуммуВРубляхКопейкахВЯчейки(Заявление.ЗаработокПервыйГодРасчета, Макет, "ЗаработокЗаПервыйГод_", 11);
		КонецЕсли;
		Если ЗначениеЗаполнено(Заявление.ВторойРасчетныйГод) Тогда
			Макет.Параметры.ВторойГодРасчета = Заявление.ВторойРасчетныйГод - 2000;
			ЗарплатаКадры.ВывестиСуммуВРубляхКопейкахВЯчейки(Заявление.ЗаработокВторойГодРасчета, Макет, "ЗаработокЗаВторойГод_", 11);
		КонецЕсли;
	КонецЕсли;
	
	ЗаполнитьВМакетеДанныеОПериодеПростоя(Макет, Заявление, 11, ПравоЧтенияСреднегоЗаработка);
	
	ЗаполнитьВМакетеПериодЗаКоторыйПособиеНеНазначается(Макет, Заявление);
	
	ЗаполнитьВМакетеДанныеУполномоченногоПредставителя(Макет, Заявление);
	
КонецПроцедуры

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

Процедура ЗаполнитьВМакетеФИОПолучателя(Макет, Заявление)
	
	Префикс = "ФИО_Получателя_";
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.ФамилияПолучателя, Макет, Префикс, 36);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.ИмяПолучателя, Макет, Префикс, 36, 37);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.ОтчествоПолучателя, Макет, Префикс, 36, 73);
	
КонецПроцедуры

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

Процедура ЗаполнитьВМакетеНаименованиеСтрахователя(Макет, Заявление)
	
	ДлиныСтрок = Новый Массив();
	ДлиныСтрок.Добавить(27);
	НаименованиеОрганизации = ЗарплатаКадры.РазбитьСтрокуНаПодСтроки(Заявление.ОрганизацияНаименование, ДлиныСтрок);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(НаименованиеОрганизации, Макет, "НаименованиеСтрахователя_", 135);
	
КонецПроцедуры

Процедура ЗаполнитьВМакетеФИОЗаявителя(Макет, Заявление) Экспорт
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ФИОЗаявителяДляПечатиПоБуквам(Заявление), Макет, "ФИО_Заявителя_", 81);
КонецПроцедуры

Функция ФИОЗаявителяДляПечатиПоБуквам(Документ)
	Фамилия  = СокрЛП(Документ.ФамилияЗаявителя);
	Имя      = СокрЛП(Документ.ИмяЗаявителя);
	Отчество = СокрЛП(Документ.ОтчествоЗаявителя);
	
	ПробелыИПереносыСтрок = " " + Символы.ВК + Символы.ВТаб + Символы.НПП + Символы.ПС + Символы.ПФ + Символы.Таб;
	
	Если Фамилия = "" Тогда
		КоличествоСловФамилии = 0;
	Иначе
		КоличествоСловФамилии = СтрРазделить(Фамилия, ПробелыИПереносыСтрок, Ложь).Количество();
	КонецЕсли;
	Если Имя = "" Тогда
		КоличествоСловИмени = 0;
	Иначе
		КоличествоСловИмени = СтрРазделить(Имя, ПробелыИПереносыСтрок, Ложь).Количество();
	КонецЕсли;
	
	ФИО = Фамилия + " " + Имя + " " + Отчество;
	ФИОВРодительномПадеже = "";
	ФизическиеЛицаЗарплатаКадры.Просклонять(ФИО, 2, ФИОВРодительномПадеже, , Документ.ФизическоеЛицо);
	
	Если ЗначениеЗаполнено(ФИОВРодительномПадеже) Тогда
		
		Если КоличествоСловФамилии = 1 И КоличествоСловИмени = 1 Тогда
			МассивПодстрок = СтрРазделить(ФИОВРодительномПадеже, ПробелыИПереносыСтрок, Ложь);
			Фамилия = МассивПодстрок[0];
			Имя     = МассивПодстрок[1];
			МассивПодстрок.Удалить(0);
			МассивПодстрок.Удалить(0);
			Отчество = СтрСоединить(МассивПодстрок, " ");
			ВывестиПоОтдельности = СтрДлина(Фамилия) <= 27 И СтрДлина(Имя) <= 27 И СтрДлина(Отчество) <= 27;
		Иначе
			ВывестиПоОтдельности = Ложь;
		КонецЕсли;
		
	Иначе
		
		ФИОВРодительномПадеже = ФИО;
		ВывестиПоОтдельности = СтрДлина(Фамилия) <= 27 И СтрДлина(Имя) <= 27 И СтрДлина(Отчество) <= 27;
		
	КонецЕсли;
	
	Если ВывестиПоОтдельности Тогда
		Добивка = "                           ";
		Возврат ВРег(Лев(Фамилия + Добивка, 27) + Лев(Имя + Добивка, 27) + Лев(Отчество + Добивка, 27));
	КонецЕсли;
	
	ДлиныСтрок = Новый Массив();
	ДлиныСтрок.Добавить(27);
	Возврат Лев(ЗарплатаКадры.РазбитьСтрокуНаПодСтроки(ВРег(ФИОВРодительномПадеже), ДлиныСтрок), 81);
КонецФункции

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

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

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

#Область СпособВыплатыПособия

Процедура ЗаполнитьВМакетеВыплатуЧерезБанк(Макет, Заявление)
	
	Макет.Области["ВыплатаЧерезБанк"].Текст = "v";
	
	ДлиныСтрок = Новый Массив();
	ДлиныСтрок.Добавить(39);
	НаименованиеБанка = ЗарплатаКадры.РазбитьСтрокуНаПодСтроки(Заявление.НаименованиеБанка, ДлиныСтрок);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(НаименованиеБанка, Макет, "НаименованиеБанка_", 78);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерЛицевогоСчета, Макет, "НомерСчета_", 20);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.БИКБанка, Макет, "БИК_", 9);
	
КонецПроцедуры

Процедура ЗаполнитьВМакетеВыплатуНаКартуМИР(Макет, КартаМИР)
	
	Макет.Области["ВыплатаЧерезБанк"].Текст = "v";
	
	НомерКартыМИР = БанковскиеКарты.ПолныйНомерКарты(КартаМИР);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(НомерКартыМИР, Макет, "НомерКартыМИР_", 19);
	
КонецПроцедуры

Процедура ЗаполнитьВМакетеВыплатуЧерезПочту_2012(Макет, Заявление)
	
	Макет.Области["ВыплатаПочтой"].Текст = "v";
	
	СтруктураАдреса = СтруктураАдресаВМашиночитаемомФормате_2012(Заявление.АдресПроживания);
	Префикс = "Адрес_";
	
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Индекс), Макет, Префикс, 6);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Регион), Макет, Префикс, 17, 7);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Район), Макет, Префикс, 17, 24);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.НаселенныйПункт), Макет, Префикс, 34, 41);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Улица), Макет, Префикс, 37, 75);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Дом), Макет, Префикс, 8, 112);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Корпус), Макет, Префикс, 3, 120);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Строение), Макет, Префикс, 3, 123);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Квартира), Макет, Префикс, 6, 126);

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

Процедура ЗаполнитьВМакетеВыплатуЧерезПочту_2017(Макет, Заявление)
	
	Макет.Области["ВыплатаПочтой"].Текст = "v";
	
	СтруктураАдреса = СтруктураАдресаВМашиночитаемомФормате_2012(Заявление.АдресПроживания);
	Префикс = "Адрес_";
	
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Индекс), Макет, Префикс, 6);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Регион), Макет, Префикс, 37, 7);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Район), Макет, Префикс, 37, 44);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.НаселенныйПункт), Макет, Префикс, 34, 81);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Улица), Макет, Префикс, 37, 115);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Дом), Макет, Префикс, 8, 152);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Корпус), Макет, Префикс, 3, 160);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Строение), Макет, Префикс, 3, 163);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Квартира), Макет, Префикс, 5, 166);
	
КонецПроцедуры

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

#Область ПолучательПособия

Процедура ЗаполнитьВМакетеФИОИТелефонПолучателя(Макет, Заявление)
	
	ЗаполнитьВМакетеФИОПолучателя(Макет, Заявление);
	
	ЗаполнитьВМакетеТелефон(Макет, Заявление.ТелефонПолучателя, "Тел_");
	
КонецПроцедуры

Процедура ЗаполнитьВМакетеДатуРожденияПолучателя(Макет, Заявление) Экспорт
	ДатаРождения = СтрЗаменить(Формат(Заявление.ДатаРожденияПолучателя, "ДЛФ=D"),".","");
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ДатаРождения, Макет, "ДатаРождения_", 8);
КонецПроцедуры

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

#Область УдостоверениеЛичности

Процедура ЗаполнитьВМакетеУдостоверениеЛичности_2012(Макет, Заявление)
	
	ДокументСерия = Заявление.СерияДокументаУдостоверяющегоЛичностьПолучателя;
	ДокументСерия = СтрЗаменить(ДокументСерия, " ", "");
	
	Если ЭтоПаспорт(Заявление.КодУдостоверенияЛичности) Тогда
		
		Макет.Области["Паспорт"].Текст = "v ";
		
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(ДокументСерия, Макет, "ПаспортСерия_", 4);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерДокументаУдостоверяющегоЛичностьПолучателя, Макет, "ПаспортНомер_", 6);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаВыдачиДокументаУдостоверяющегоЛичностьПолучателя, "ДЛФ=D"),".",""), Макет, "ПаспортДата_", 8);
		
		ДлиныСтрок = Новый Массив();
		ДлиныСтрок.Добавить(36);
		ДлиныСтрок.Добавить(39); 
		КемВыданДокументУдостоверяющийЛичностьПолучателя = ЗарплатаКадры.РазбитьСтрокуНаПодСтроки(Заявление.КемВыданДокументУдостоверяющийЛичностьПолучателя, ДлиныСтрок);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(КемВыданДокументУдостоверяющийЛичностьПолучателя, Макет, "ПаспортКемВыдан_", 75);
		
	ИначеЕсли ЭтоВременноеУдостоверениеЛичности(Заявление.КодУдостоверенияЛичности) Тогда
		
		Макет.Области["ВременноеУдостоверение"].Текст = "v ";
		
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерДокументаУдостоверяющегоЛичностьПолучателя, Макет, "ВременноеУдостоверениеНомер_", 6);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаДействияДокументаУдостоверяющегоЛичностьПолучателя, "ДФ=dd.MM.yy"),".",""), Макет, "ВременноеУдостоверениеДата_", 6);
		
	ИначеЕсли ЗначениеЗаполнено(Заявление.КодУдостоверенияЛичности) Тогда
		
		Макет.Области["ИнойДокумент"].Текст = "v ";
		
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(ДокументСерия, Макет, "ИнойДокументСерия_", 2);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерДокументаУдостоверяющегоЛичностьПолучателя, Макет, "ИнойДокументНомер_", 8);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаДействияДокументаУдостоверяющегоЛичностьПолучателя, "ДФ=dd.MM.yy"),".",""), Макет, "ИнойДокументДата_", 6);
		
	КонецЕсли; 
	
КонецПроцедуры

Процедура ЗаполнитьВМакетеУдостоверениеЛичности_2017(Макет, Заявление) Экспорт
	
	Если ЭтоПаспорт(Заявление.КодУдостоверенияЛичности) Тогда
		
		Макет.Области["Паспорт"].Текст = "v ";
		
		ДокументСерия = СтрЗаменить(Заявление.СерияДокументаУдостоверяющегоЛичностьПолучателя, " ", "");
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(ДокументСерия, Макет, "ПаспортСерия_", 4);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерДокументаУдостоверяющегоЛичностьПолучателя, Макет, "ПаспортНомер_", 6);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаВыдачиДокументаУдостоверяющегоЛичностьПолучателя, "ДЛФ=D"),".",""), Макет, "ПаспортДата_", 8);
		
		ДлиныСтрок = Новый Массив();
		ДлиныСтрок.Добавить(36);
		ДлиныСтрок.Добавить(39); 
		КемВыданДокументУдостоверяющийЛичностьПолучателя = ЗарплатаКадры.РазбитьСтрокуНаПодСтроки(Заявление.КемВыданДокументУдостоверяющийЛичностьПолучателя, ДлиныСтрок);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(КемВыданДокументУдостоверяющийЛичностьПолучателя, Макет, "ПаспортКемВыдан_", 75);
		
	ИначеЕсли ЭтоВременноеУдостоверениеЛичности(Заявление.КодУдостоверенияЛичности) Тогда
		
		Макет.Области["ВременноеУдостоверение"].Текст = "v ";
		
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерДокументаУдостоверяющегоЛичностьПолучателя, Макет, "ВременноеУдостоверениеНомер_", 8);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаДействияДокументаУдостоверяющегоЛичностьПолучателя, "ДФ=dd.MM.yy"),".",""), Макет, "ВременноеУдостоверениеДата_", 6);
		
	ИначеЕсли ЗначениеЗаполнено(Заявление.КодУдостоверенияЛичности) Тогда
		
		Макет.Области["ИнойДокумент"].Текст = "v ";
		
		ДокументСерия = СтрЗаменить(Заявление.СерияДокументаУдостоверяющегоЛичностьПолучателя, " ", "");
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(ДокументСерия, Макет, "ИнойДокументСерия_", 2);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерДокументаУдостоверяющегоЛичностьПолучателя, Макет, "ИнойДокументНомер_", 8);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаДействияДокументаУдостоверяющегоЛичностьПолучателя, "ДФ=dd.MM.yy"),".",""), Макет, "ИнойДокументДата_", 6);
		
	КонецЕсли; 
	
КонецПроцедуры

Процедура ЗаполнитьВМакетеУдостоверениеЛичности_2021(Макет, Заявление) Экспорт
	
	Если ЭтоПаспорт(Заявление.КодУдостоверенияЛичности) Тогда
		
		Макет.Области["Паспорт"].Текст = "v";
		
		ДокументСерия = СтрЗаменить(Заявление.СерияДокументаУдостоверяющегоЛичностьПолучателя, " ", "");
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(ДокументСерия, Макет, "ПаспортСерия_", 4);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерДокументаУдостоверяющегоЛичностьПолучателя, Макет, "ПаспортНомер_", 6);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаВыдачиДокументаУдостоверяющегоЛичностьПолучателя, "ДЛФ=D"),".",""), Макет, "ПаспортДата_", 8);
		
		ДлиныСтрок = Новый Массив();
		ДлиныСтрок.Добавить(43);
		ДлиныСтрок.Добавить(43);
		ДлиныСтрок.Добавить(43);
		КемВыданДокументУдостоверяющийЛичностьПолучателя = ЗарплатаКадры.РазбитьСтрокуНаПодСтроки(Заявление.КемВыданДокументУдостоверяющийЛичностьПолучателя, ДлиныСтрок);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(КемВыданДокументУдостоверяющийЛичностьПолучателя, Макет, "ПаспортКемВыдан_", 129);
		
	ИначеЕсли ЭтоВременноеУдостоверениеЛичности(Заявление.КодУдостоверенияЛичности) Тогда
		
		Макет.Области["ВременноеУдостоверение"].Текст = "v";
		
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерДокументаУдостоверяющегоЛичностьПолучателя, Макет, "ВременноеУдостоверениеНомер_", 8);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаДействияДокументаУдостоверяющегоЛичностьПолучателя, "ДФ=dd.MM.yy"),".",""), Макет, "ВременноеУдостоверениеДата_", 6);
		
	ИначеЕсли ЗначениеЗаполнено(Заявление.КодУдостоверенияЛичности) Тогда
		
		Макет.Области["ИнойДокумент"].Текст = "v";
		
		ДокументСерия = СтрЗаменить(Заявление.СерияДокументаУдостоверяющегоЛичностьПолучателя, " ", "");
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(ДокументСерия, Макет, "ИнойДокументСерия_", 2);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерДокументаУдостоверяющегоЛичностьПолучателя, Макет, "ИнойДокументНомер_", 8);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаДействияДокументаУдостоверяющегоЛичностьПолучателя, "ДФ=dd.MM.yy"),".",""), Макет, "ИнойДокументДата_", 6);
		
	КонецЕсли; 
	
КонецПроцедуры

Функция ЭтоПаспорт(КодУдостоверенияЛичности)
	
	Возврат КодУдостоверенияЛичности = "01"
		ИЛИ КодУдостоверенияЛичности = "02"
		ИЛИ КодУдостоверенияЛичности = "06"
		ИЛИ КодУдостоверенияЛичности = "09"
		ИЛИ КодУдостоверенияЛичности = "10"
		ИЛИ КодУдостоверенияЛичности = "21"
		ИЛИ КодУдостоверенияЛичности = "22"
		ИЛИ КодУдостоверенияЛичности = "26";
	
КонецФункции 

Функция ЭтоВременноеУдостоверениеЛичности(КодУдостоверенияЛичности)
	
	Возврат КодУдостоверенияЛичности = "14";
	
КонецФункции 

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

#Область РазрешениеНаПроживание

Процедура ЗаполнитьВМакетеРазрешениеНаПроживание(Макет, Заявление, РазрешениеНомерДлина) Экспорт
	
	ДокументСерия = Заявление.СерияДокументаНаПроживание;
	ДокументСерия = СтрЗаменить(ДокументСерия, " ", "");
	
	Если ЭтоРазрешениеНаВременноеПроживание(Заявление.КодДокументаНаПроживание) Тогда
		Макет.Области["ИнойДокумент2"].Текст = "v";
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(ДокументСерия, Макет, "РазрешениеСерия_", 2);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерДокументаНаПроживание, Макет, "РазрешениеНомер_", РазрешениеНомерДлина);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаВыдачиДокументаНаПроживание, "ДЛФ=D"),".",""), Макет, "РазрешениеДата_", 8);
	ИначеЕсли ЭтоВидНаЖительство(Заявление.КодДокументаНаПроживание) Тогда
		Макет.Области["ИнойДокумент1"].Текст = "v";
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(ДокументСерия, Макет, "ВидНаЖительствоСерия_", 2);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерДокументаНаПроживание, Макет, "ВидНаЖительствоНомер_", 8);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаВыдачиДокументаНаПроживание, "ДЛФ=D"),".",""), Макет, "ВидНаЖительствоДата_", 8);
	КонецЕсли;
	
КонецПроцедуры

Функция ЭтоРазрешениеНаВременноеПроживание(КодДокументаНаПроживание) Экспорт
	
	Возврат КодДокументаНаПроживание = "15";
	
КонецФункции 

Функция ЭтоВидНаЖительство(КодДокументаНаПроживание) Экспорт
	
	Возврат КодДокументаНаПроживание = "12";
	
КонецФункции 

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

#Область ВыводАдресов

Процедура ЗаполнитьВМакетеСведенияОМестеЖительства_2012(Макет, Заявление)
	
	СтруктураАдреса = СтруктураАдресаВМашиночитаемомФормате_2012(Заявление.АдресРегистрации);
	Префикс = "АдресРегистрации_";
	
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Индекс), Макет, Префикс, 6);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Регион), Макет, Префикс, 17, 7);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Район), Макет, Префикс, 17, 24);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.НаселенныйПункт), Макет, Префикс, 34, 41);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Улица), Макет, Префикс, 37, 75);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Дом), Макет, Префикс, 8, 112);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Корпус), Макет, Префикс, 3, 120);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Строение), Макет, Префикс, 3, 123);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Квартира), Макет, Префикс, 6, 126);
	
КонецПроцедуры

Процедура ЗаполнитьВМакетеСведенияОМестеЖительства_2017(Макет, Заявление) Экспорт
	
	СтруктураАдреса = СтруктураАдресаВМашиночитаемомФормате_2012(Заявление.АдресРегистрации);
	Префикс = "АдресРегистрации_";
	
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Индекс), Макет, Префикс, 6);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Регион), Макет, Префикс, 37, 7);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Район), Макет, Префикс, 37, 44);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.НаселенныйПункт), Макет, Префикс, 34, 81);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Улица), Макет, Префикс, 37, 115);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Дом), Макет, Префикс, 8, 152);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Корпус), Макет, Префикс, 3, 160);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Строение), Макет, Префикс, 3, 163);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(СтруктураАдреса.Квартира), Макет, Префикс, 5, 166);
	
КонецПроцедуры

Функция СтруктураАдресаВМашиночитаемомФормате_2012(Адрес)
	Возврат ПрямыеВыплатыПособийСоциальногоСтрахования.СтруктураАдресаВМашиночитаемомФормате2012(Адрес);
КонецФункции

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

Процедура ЗаполнитьВМакетеРеквизитыЛН(Макет, Заявление)
	
	Если ЭтоПособиеПоБеременностиИРодам(Заявление.ВидПособия) Тогда
		ПрефиксОбласти = "БеременностьРоды";
	Иначе
		ПрефиксОбласти = "Нетрудоспособность";
	КонецЕсли;
	
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаВыдачиБольничного, "ДФ=dd.MM.yy"),".",""),  Макет, ПрефиксОбласти + "ЛН_Дата_", 6);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерБольничного, Макет, ПрефиксОбласти + "ЛН_Номер_", 12);
	
КонецПроцедуры

Процедура ЗаполнитьВМакетеРеквизитыСправкиОПостановкеНаУчетВРанниеСрокиБеременности(Макет, Заявление)
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаСправкиБеременной, "ДФ=dd.MM.yy"),".",""),  Макет, "СправкаПоБеременностиДата_", 6);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерСправкиБеременной, Макет, "СправкаПоБеременностиНомер_", 11);
КонецПроцедуры

#Область ЕдиновременноеПособиеПриРожденииРебенка

Процедура ЗаполнитьВМакетеОбластьЕдиновременногоПособияПриРожденииРебенка_2012(Макет, Заявление)
	
	Если ДолжнаБытьСправкаОРождении(Заявление) Тогда
		// Реквизиты справки о рождении.
		Если Заявление.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма1 Тогда
			Макет.Параметры.Форма24 = Истина;
		ИначеЕсли Заявление.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма2 Тогда
			Макет.Параметры.Форма25 = Истина;
		ИначеЕсли Заявление.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма3 Тогда
			Макет.Параметры.Форма26 = Истина;
		ИначеЕсли Заявление.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма4 Тогда
			Макет.Параметры.Форма25 = Истина;
		ИначеЕсли Заявление.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма24 Тогда
			Макет.Параметры.Форма24 = Истина;
		ИначеЕсли Заявление.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма25 Тогда
			Макет.Параметры.Форма25 = Истина;
		ИначеЕсли Заявление.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма26 Тогда
			Макет.Параметры.Форма26 = Истина;
		КонецЕсли;
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаСправкиОРождении, "ДФ=dd.MM.yy"),".",""),  Макет, "СправкаДата_", 6);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерСправкиОРождении, Макет, "СправкаНомер_", 10);
	Иначе
		ЗаполнитьВМакетеРеквизитыСвидетельстваОРождении(Макет, Заявление, "СвидетельствоОРождении", 4, 9);
		ЗаполнитьВМакетеРеквизитыИногоПодтвержденияРождения(Макет, Заявление, "ИноеПодтверждениеРождения", 12);
	КонецЕсли;
	
	Если ПредоставленаСправкаОНеполученииПособияОтОтца(Заявление) Тогда
		ЗаполнитьВМакетеРеквизитыСправкиОНеполученииПособияОтДругогоРодителя(Макет, Заявление.НомерСправкиОтОтца, Заявление.ДатаСправкиОтОтца);
	Иначе
		ЗаполнитьВМакетеРеквизитыСправкиОНеполученииПособияОтДругогоРодителя(Макет, Заявление.НомерСправкиОтМатери, Заявление.ДатаСправкиОтМатери);
	КонецЕсли;
	
	ЗаполнитьВМакетеРеквизитыРешенияОбОпеке(Макет, Заявление, "РешениеОбОпеке", 12);
	
	// Реквизиты решения об усыновлении.
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаРешенияОбУсыновлении, "ДЛФ=D"),".",""), Макет, "РешениеОбУсыновленииДата_", 8);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерРешенияОбУсыновлении, Макет, "РешениеОбУсыновленииНомер_", 9);
	
	// Реквизиты договора о передаче на воспитание.
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаДоговораОПередачеНаВоспитание, "ДЛФ=D"),".",""),  Макет, "ДоговорОВоспитанииДата_", 8);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерДоговораОПередачеНаВоспитание, Макет, "ДоговорОВоспитанииНомер_", 9);
	
КонецПроцедуры

Процедура ЗаполнитьВМакетеОбластьЕдиновременногоПособияПриРожденииРебенка_2017(Макет, Заявление)
	
	Если ДолжнаБытьСправкаОРождении(Заявление) Тогда
		// Реквизиты справки о рождении.
		Если Заявление.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма1 Тогда
			Макет.Параметры.Форма24 = Истина;
		ИначеЕсли Заявление.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма2 Тогда
			Макет.Параметры.Форма25 = Истина;
		ИначеЕсли Заявление.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма3 Тогда
			Макет.Параметры.Форма26 = Истина;
		ИначеЕсли Заявление.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма4 Тогда
			Макет.Параметры.Форма25 = Истина;
		ИначеЕсли Заявление.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма24 Тогда
			Макет.Параметры.Форма24 = Истина;
		ИначеЕсли Заявление.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма25 Тогда
			Макет.Параметры.Форма25 = Истина;
		ИначеЕсли Заявление.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма26 Тогда
			Макет.Параметры.Форма26 = Истина;
		КонецЕсли;
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаСправкиОРождении, "ДФ=dd.MM.yy"),".",""),  Макет, "СправкаДата_", 6);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерСправкиОРождении, Макет, "СправкаНомер_", 11);
	Иначе
		ЗаполнитьВМакетеРеквизитыСвидетельстваОРождении(Макет, Заявление, "СвидетельствоОРождении", 6, 11);
		ЗаполнитьВМакетеРеквизитыИногоПодтвержденияРождения(Макет, Заявление, "ИноеПодтверждениеРождения", 12);
	КонецЕсли;
	
	Если ПредоставленаСправкаОНеполученииПособияОтОтца(Заявление) Тогда
		ЗаполнитьВМакетеРеквизитыСправкиОНеполученииПособияОтДругогоРодителя(Макет, Заявление.НомерСправкиОтОтца, Заявление.ДатаСправкиОтОтца);
	Иначе
		ЗаполнитьВМакетеРеквизитыСправкиОНеполученииПособияОтДругогоРодителя(Макет, Заявление.НомерСправкиОтМатери, Заявление.ДатаСправкиОтМатери);
	КонецЕсли;
	
	ЗаполнитьВМакетеРеквизитыРешенияОбОпеке(Макет, Заявление, "РешениеОбОпеке", 12);
	
	// Реквизиты решения об усыновлении.
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаРешенияОбУсыновлении, "ДЛФ=D"),".",""), Макет, "РешениеОбУсыновленииДата_", 8);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерРешенияОбУсыновлении, Макет, "РешениеОбУсыновленииНомер_", 12);
	
	// Реквизиты договора о передаче на воспитание.
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаДоговораОПередачеНаВоспитание, "ДЛФ=D"),".",""),  Макет, "ДоговорОВоспитанииДата_", 8);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерДоговораОПередачеНаВоспитание, Макет, "ДоговорОВоспитанииНомер_", 12);
	
КонецПроцедуры

Функция ДолжнаБытьСправкаОРождении(Заявление)
	Возврат Не ЗначениеЗаполнено(Заявление.ДатаСвидетельстваОРождении) 
			И Не ЗначениеЗаполнено(Заявление.ДатаИногоПодтвержденияРождения);
КонецФункции 

Процедура ЗаполнитьВМакетеРеквизитыСправкиОНеполученииПособияОтДругогоРодителя(Макет, НомерСправки, ДатаСправки)
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(ДатаСправки, "ДФ=dd.MM.yy"),".",""),  Макет, "СправкаОтДругогоРодителяДата_", 6);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(НомерСправки, Макет, "СправкаОтДругогоРодителяНомер_", 12);
КонецПроцедуры

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

#Область ЕжемесячноеПособиеПоУходуЗаРебенком

Процедура ЗаполнитьВМакетеОбластьЕжемесячноеПособиеПоУходуЗаРебенком_2012(Макет, Заявление)
	
	ЗаполнитьВМакетеРеквизитыСвидетельстваОРождении(Макет, Заявление, "СвидетельствоОРожденииII", 4, 9);
	
	ЗаполнитьВМакетеРеквизитыРешенияОбОпеке(Макет, Заявление, "РешениеОбОпекеII", 11);
	
	ЗаполнитьВМакетеРеквизитыИногоПодтвержденияРождения(Макет, Заявление, "ИноеПодтверждениеРожденияII", 11);
	
	ЗаполнитьВМакетеРеквизитыПриказаНаОтпускПоУходуЗаРебенком(Макет, Заявление);
	
	ЗаполнитьВМакетеДокументаОРожденииДругогоРебенка(Макет, Заявление);
	
	Если ПредоставленаСправкаОНеполученииПособияОтОбоихРодителей(Заявление) Тогда
		Макет.Параметры.СправкаОтОбоихРодителейОНеполученииПособия = Истина;
		ЗаполнитьВМакетеДатуНомерСправкиОНеполученииПособияОтОтца(Макет, Заявление);
		ЗаполнитьВМакетеДатуНомерСправкиОНеполученииПособияОтМатери(Макет, Заявление);
	ИначеЕсли ПредоставленаСправкаОНеполученииПособияОтОтца(Заявление) Тогда
		Макет.Параметры.СправкаОтОтцаОНеполученииПособия = Истина;
		ЗаполнитьВМакетеДатуНомерСправкиОНеполученииПособияОтОтца(Макет, Заявление);
	ИначеЕсли ПредоставленаСправкаОНеполученииПособияОтМатери(Заявление) Тогда
		Макет.Параметры.СправкаОтМатериОНеполученииПособия = Истина;
		ЗаполнитьВМакетеДатуНомерСправкиОНеполученииПособияОтМатери(Макет, Заявление);
	КонецЕсли;
	
	ЗаполнитьВМакетеРеквизитыСправкиОНеполученииПоДругимМестамРаботы(Макет, Заявление);
	
	ЗаполнитьВМакетеДанныеОПроживанииРаботеВОсобойЗоне(Макет, Заявление);
	
КонецПроцедуры

Процедура ЗаполнитьВМакетеОбластьЕжемесячноеПособиеПоУходуЗаРебенком_2017(Макет, Заявление)
	
	ЗаполнитьВМакетеРеквизитыСвидетельстваОРождении(Макет, Заявление, "СвидетельствоОРожденииII", 7, 11);
	
	ЗаполнитьВМакетеРеквизитыРешенияОбОпеке(Макет, Заявление, "РешениеОбОпекеII", 12);
	
	ЗаполнитьВМакетеРеквизитыИногоПодтвержденияРождения(Макет, Заявление, "ИноеПодтверждениеРожденияII", 12);
	
	ЗаполнитьВМакетеРеквизитыПриказаНаОтпускПоУходуЗаРебенком(Макет, Заявление);
	
	ЗаполнитьВМакетеДокументаОРожденииДругогоРебенка(Макет, Заявление);
	
	Если ПредоставленаСправкаОНеполученииПособияОтОбоихРодителей(Заявление) Тогда
		Макет.Параметры.СправкаОтОтцаОНеполученииПособия = Истина;
		Макет.Параметры.СправкаОтМатериОНеполученииПособия = Истина;
		ЗаполнитьВМакетеДатуНомерСправкиОНеполученииПособияОтОтца(Макет, Заявление);
		ЗаполнитьВМакетеДатуНомерСправкиОНеполученииПособияОтМатери(Макет, Заявление);
	ИначеЕсли ПредоставленаСправкаОНеполученииПособияОтОтца(Заявление) Тогда
		Макет.Параметры.СправкаОтОтцаОНеполученииПособия = Истина;
		ЗаполнитьВМакетеДатуНомерСправкиОНеполученииПособияОтОтца(Макет, Заявление);
	ИначеЕсли ПредоставленаСправкаОНеполученииПособияОтМатери(Заявление) Тогда
		Макет.Параметры.СправкаОтМатериОНеполученииПособия = Истина;
		ЗаполнитьВМакетеДатуНомерСправкиОНеполученииПособияОтМатери(Макет, Заявление);
	КонецЕсли;
	
	ЗаполнитьВМакетеРеквизитыСправкиОНеполученииПоДругимМестамРаботы(Макет, Заявление);
	
	ЗаполнитьВМакетеДанныеОПроживанииРаботеВОсобойЗоне(Макет, Заявление);
	
КонецПроцедуры

Процедура ЗаполнитьВМакетеРеквизитыПриказаНаОтпускПоУходуЗаРебенком(Макет, Заявление)
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаПриказаНаОтпускПоУходуЗаРебенком, "ДФ=dd.MM.yy"),".",""),  Макет, "ДатаПриказаНаОтпускПоУходуЗаРебенком_", 6);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ОтпускПоУходуЗаРебенкомДатаНачало, "ДФ=dd.MM.yy"),".",""),  Макет, "ОтпускПоУходуЗаРебенкомДатаНачало_", 6);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ОтпускПоУходуЗаРебенкомДатаОкончание, "ДФ=dd.MM.yy"),".",""),  Макет, "ОтпускПоУходуЗаРебенкомДатаОкончание_", 6);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Прав("          " + Заявление.НомерПриказаНаОтпускПоУходуЗаРебенком,10), Макет, "НомерПриказаНаОтпускПоУходуЗаРебенком_", 10);
КонецПроцедуры

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

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

#Область СправкиОНеполученииПособия

Процедура ЗаполнитьВМакетеДатуНомерСправкиОНеполученииПособияОтОтца(Макет, Заявление)
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаСправкиОтОтца, "ДФ=dd.MM.yy"),".",""),  Макет, "ДатаСправкиОтОтца_", 6);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерСправкиОтОтца,  Макет, "НомерСправкиОтОтца_", 11);
КонецПроцедуры

Процедура ЗаполнитьВМакетеДатуНомерСправкиОНеполученииПособияОтМатери(Макет, Заявление)
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаСправкиОтМатери, "ДФ=dd.MM.yy"),".",""),  Макет, "ДатаСправкиОтМатери_", 6);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерСправкиОтМатери,  Макет, "НомерСправкиОтМатери_", 11);
КонецПроцедуры

Процедура ЗаполнитьВМакетеРеквизитыСправкиОНеполученииПоДругимМестамРаботы(Макет, Заявление)
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаСправкиПоДругимМестамРаботы, "ДФ=dd.MM.yy"),".",""),  Макет, "ДатаСправкиПоДругимМестамРаботы_", 6);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерСправкиПоДругимМестамРаботы,  Макет, "НомерСправкиПоДругимМестамРаботы_", 11);
КонецПроцедуры

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

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

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

#Область ПособияНаДетей

Процедура ЗаполнитьВМакетеРеквизитыСвидетельстваОРождении(Макет, Заявление, ПрефиксОбласти, ДлинаСерии, ДлинаНомера)
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаСвидетельстваОРождении, "ДЛФ=D"),".",""), Макет, ПрефиксОбласти + "Дата_", 8);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.СерияСвидетельстваОРождении, Макет, ПрефиксОбласти + "Серия_", ДлинаСерии);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерСвидетельстваОРождении, Макет, ПрефиксОбласти + "Номер_", ДлинаНомера);
КонецПроцедуры

Процедура ЗаполнитьВМакетеРеквизитыРешенияОбОпеке(Макет, Заявление, ПрефиксОбласти, ДлинаНомераРешенияОбОпеке)
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаРешенияОбОпеке, "ДЛФ=D"),".",""),  Макет, ПрефиксОбласти + "Дата_", 8);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерРешенияОбОпеке, Макет, ПрефиксОбласти + "Номер_", ДлинаНомераРешенияОбОпеке);
КонецПроцедуры

Процедура ЗаполнитьВМакетеРеквизитыИногоПодтвержденияРождения(Макет, Заявление, ПрефиксОбласти, ДлинаНомераИногоДокумента)
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаИногоПодтвержденияРождения, "ДЛФ=D"),".",""),  Макет, ПрефиксОбласти + "Дата_", 8);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.НомерИногоПодтвержденияРождения, Макет, ПрефиксОбласти + "Номер_", ДлинаНомераИногоДокумента);
КонецПроцедуры

Функция ПредоставленаСправкаОНеполученииПособияОтОтца(Заявление)
	Возврат Заявление.СправкаОНеполученииПособия = Перечисления.РодителиПредоставившиеСправкуОНеполученииПособия.Отец;
КонецФункции

Функция ПредоставленаСправкаОНеполученииПособияОтМатери(Заявление)
	Возврат Заявление.СправкаОНеполученииПособия = Перечисления.РодителиПредоставившиеСправкуОНеполученииПособия.Мать;
КонецФункции

Функция ПредоставленаСправкаОНеполученииПособияОтОбоихРодителей(Заявление)
	Возврат Заявление.СправкаОНеполученииПособия = Перечисления.РодителиПредоставившиеСправкуОНеполученииПособия.ОбаРодителя;
КонецФункции

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

Процедура ЗаполнитьВМакетеДатуПодачиЗаявления(Макет, Заявление)
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ДатаПодачиЗаявления, "ДФ=dd.MM.yy"),".",""),  Макет, "ДатаПодачи_", 6);
КонецПроцедуры

Процедура ЗаполнитьВМакетеНаименованиеРаботодателя(Макет, Заявление, ДлинаСтроки)
	ДлиныСтрок = Новый Массив();
	ДлиныСтрок.Добавить(ДлинаСтроки);
	НаименованиеРаботодателяИВидЗанятости = ЗарплатаКадры.РазбитьСтрокуНаПодСтроки("" + Заявление.НаименованиеОрганизации, ДлиныСтрок);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(НаименованиеРаботодателяИВидЗанятости, Макет, "РаботодательИВидЗанятости_", ДлинаСтроки*3);
КонецПроцедуры

Процедура ЗаполнитьВМакетеВидЗанятостиСотрудника(Макет, Заявление)
	
	Макет.Параметры.ОсновноеМестоРаботы = Заявление.ВидЗанятостиСотрудника = Перечисления.ВидыЗанятости.ОсновноеМестоРаботы;
	
КонецПроцедуры

Процедура ЗаполнитьВМакетеСНИЛССотрудника(Макет, Заявление) Экспорт
	
	СНИЛС = Заявление.СНИЛСПолучателя;
	СНИЛС = СтрЗаменить(СНИЛС,"-","");
	СНИЛС = СтрЗаменить(СНИЛС," ","");
	
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СНИЛС, Макет, "СНИЛС_", 11);
	
КонецПроцедуры

Процедура ЗаполнитьВМакетеИННСотрудника(Макет, Заявление) Экспорт
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.ИННПолучателя, Макет, "ИНННетрудоспособного_", 12);
КонецПроцедуры

#Область ЗаменаКалендарныхГодов

Функция ПредоставленоЗаявлениеОЗаменеКалендарныхГодов(Заявление)
	Возврат Заявление.ЗаявлениеРаботникаОЗаменеКалендарныхГодов;
КонецФункции

Процедура ЗаполнитьВМакетеДанныеОЗаменеКалендарныхГодов(Макет, Заявление)
	Макет.Параметры.ЗаявлениеРаботникаОЗаменеКалендарныхГодов = Истина;
	
	Если Не Заявление.ПервыйГодЗаменен И Заявление.ВторойГодЗаменен Тогда
		// Вывод 2го периода на месте 1го.
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(Формат(Заявление.ВторойЗамененныйГод - 2000, "ЧЦ=2; ЧВН="), Макет, "ПервыйГод_", 2);
		ЗарплатаКадры.ВывестиДанныеПоБуквенно(Формат(Заявление.ВторойРасчетныйГод - 2000, "ЧЦ=2; ЧВН="), Макет, "ВторойГод_", 2);
	Иначе
		Если Заявление.ПервыйГодЗаменен Тогда
			ЗарплатаКадры.ВывестиДанныеПоБуквенно(Формат(Заявление.ПервыйЗамененныйГод - 2000, "ЧЦ=2; ЧВН="), Макет, "ПервыйГод_", 2);
			ЗарплатаКадры.ВывестиДанныеПоБуквенно(Формат(Заявление.ПервыйРасчетныйГод - 2000, "ЧЦ=2; ЧВН="), Макет, "ВторойГод_", 2);
		КонецЕсли;
		Если Заявление.ВторойГодЗаменен Тогда
			ЗарплатаКадры.ВывестиДанныеПоБуквенно(Формат(Заявление.ВторойЗамененныйГод - 2000, "ЧЦ=2; ЧВН="), Макет, "ТретийГод_", 2);
			ЗарплатаКадры.ВывестиДанныеПоБуквенно(Формат(Заявление.ВторойРасчетныйГод - 2000, "ЧЦ=2; ЧВН="), Макет, "ЧетвертыйГод_", 2);
		КонецЕсли;
	КонецЕсли;
КонецПроцедуры

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

Процедура ЗаполнитьВМакетеДанныеОПериодеПростоя(Макет, Заявление, ДлинаПоляСреднийЗаработок, ПравоЧтенияСреднегоЗаработка)
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ПериодПростояДатаНачало, "ДФ=dd.MM.yy"),".",""),  Макет, "ПериодПростояДатаНачало_", 6);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.ПериодПростояДатаОкончание, "ДФ=dd.MM.yy"),".",""),  Макет, "ПериодПростояДатаОкончание_", 6);
	Если ПравоЧтенияСреднегоЗаработка Тогда
		ЗарплатаКадры.ВывестиСуммуВРубляхКопейкахВЯчейки(Заявление.СреднедневнойЗаработокНаПериодПростоя, Макет, "СреднедневнойЗаработокНаПериодПростоя_", ДлинаПоляСреднийЗаработок);
	КонецЕсли;
КонецПроцедуры

Процедура ЗаполнитьВМакетеПериодЗаКоторыйПособиеНеНазначается(Макет, Заявление)
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.НеоплачиваемыйПериодДатаНачала, "ДФ=dd.MM.yy"),".",""),  Макет, "ПособияНеНазначаютсяДатаНачало_", 6);
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(СтрЗаменить(Формат(Заявление.НеоплачиваемыйПериодДатаОкончания, "ДФ=dd.MM.yy"),".",""),  Макет, "ПособияНеНазначаютсяДатаОкончание_", 6);
КонецПроцедуры

Процедура ЗаполнитьВМакетеДанныеУполномоченногоПредставителя(Макет, Заявление, НужноПодтверждениеУполномоченного = Истина)
	Если НужноПодтверждениеУполномоченного Тогда
		Макет.Параметры.Подтверждаю = ЗначениеЗаполнено(Заявление.ФИОУполномоченногоПредставителя);
	КонецЕсли;
	Макет.Параметры.ДолжностьРуководителя = "" + Заявление.ДолжностьПредставителяСФР;
	Макет.Параметры.ФИОРуководителя = "" + Заявление.ФИОУполномоченногоПредставителя;
	ЗаполнитьВМакетеТелефон(Макет, Заявление.ТелефонУполномоченногоПредставителя, "ТелефонСоставителя_");
КонецПроцедуры

Процедура ЗаполнитьВМакетеЭлектронныйАдресУполномоченногоПредставителя(Макет, Заявление)

	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Заявление.АдресЭлектроннойПочтыСтрахователя, Макет, "АдресЭлектроннойПочты_", 28);

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

Функция ЭтоПособиеПоВременнойНетрудоспособности(ВидПособия)
	Возврат ВидПособия = Перечисления.ПособияНазначаемыеФСС.ПособиеПоВременнойНетрудоспособности;
КонецФункции

Функция ЭтоПособиеПоБеременностиИРодам(ВидПособия)
	Возврат ВидПособия = Перечисления.ПособияНазначаемыеФСС.ПособиеПоБеременностиИРодам
		Или ВидПособия = Перечисления.ПособияНазначаемыеФСС.ПособиеПоБеременностиИРодамВставшимНаУчетВРанниеСроки;
КонецФункции

Функция ЭтоПособиеВставшимНаУчетВРанниеСроки(ВидПособия)
	Возврат ВидПособия = Перечисления.ПособияНазначаемыеФСС.ПособиеВставшимНаУчетВРанниеСроки
		Или ВидПособия = Перечисления.ПособияНазначаемыеФСС.ПособиеПоБеременностиИРодамВставшимНаУчетВРанниеСроки;
КонецФункции

Функция ЭтоЕдиновременноеПособиеПриРожденииРебенка(ВидПособия) Экспорт
	Возврат ВидПособия = Перечисления.ПособияНазначаемыеФСС.ЕдиновременноеПособиеПриРожденииРебенка;
КонецФункции

Функция ЭтоУходЗаРебенком(ВидПособия) Экспорт
	Возврат ВидПособия = Перечисления.ПособияНазначаемыеФСС.ЕжемесячноеПособиеПоУходуЗаРебенком;
КонецФункции

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

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

Функция ПособиеЗависитОтСреднего(ВидПособия) Экспорт
	Возврат Не ПособиеФиксированнойСуммой(ВидПособия);
КонецФункции

Функция ПособиеФиксированнойСуммой(ВидПособия)
	Возврат ВидПособия = Перечисления.ПособияНазначаемыеФСС.ЕдиновременноеПособиеПриРожденииРебенка
		Или ВидПособия = Перечисления.ПособияНазначаемыеФСС.ПособиеВставшимНаУчетВРанниеСроки;
КонецФункции

Процедура ЗаполнитьВМакетеТелефон(Макет, ЗначениеКонтактнойИнформации, ПрефиксОбласти)
	Если ПустаяСтрока(ЗначениеКонтактнойИнформации) Тогда
		Возврат;
	КонецЕсли;
	
	СтруктураТелефона = УправлениеКонтактнойИнформацией.СведенияОТелефоне(ЗначениеКонтактнойИнформации);
	
	Телефон = СтруктураТелефона.КодГорода + СтруктураТелефона.НомерТелефона;
	Телефон = СтрЗаменить(Телефон, "(", "");
	Телефон = СтрЗаменить(Телефон, ")", "");
	Телефон = СтрЗаменить(Телефон, " ", "");
	Телефон = СтрЗаменить(Телефон, "-", "");
	Телефон = СтрЗаменить(Телефон, ",", "");
	
	ЗарплатаКадры.ВывестиДанныеПоБуквенно(Телефон, Макет, ПрефиксОбласти, 10);
КонецПроцедуры

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

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

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

#Область ОбновлениеИнформационнойБазы

Функция АктуальнаяВерсия() Экспорт
	Возврат 8;
КонецФункции

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

Процедура ОбновитьДокумент(ДокументОбъект) Экспорт
	Если ДокументОбъект.ВерсияДокумента < 1 Тогда
		// При переходе на версию 1.7.5 изменился порядок заполнения поля RECALC_REASON_CODE (КодПричиныПерерасчета).
		// Удален код "03" (Поступление заявления от застрахованного лица о применении норм законодательства
		//   при исчислении среднего заработка, действовавшего до 01.01.2011г. Для пособия по беременности и родам.);
		// У кодов "04"-"07" сдвинута нумерация на -1 (стала "03"-"06").
		Если ДокументОбъект.КодПричиныПерерасчета = "03" Тогда
			ДокументОбъект.КодПричиныПерерасчета = "У1"; // Для целостности.
		ИначеЕсли ДокументОбъект.КодПричиныПерерасчета = "04" Тогда
			ДокументОбъект.КодПричиныПерерасчета = "03";
		ИначеЕсли ДокументОбъект.КодПричиныПерерасчета = "05" Тогда
			ДокументОбъект.КодПричиныПерерасчета = "04";
		ИначеЕсли ДокументОбъект.КодПричиныПерерасчета = "06" Тогда
			ДокументОбъект.КодПричиныПерерасчета = "05";
		ИначеЕсли ДокументОбъект.КодПричиныПерерасчета = "07" Тогда
			ДокументОбъект.КодПричиныПерерасчета = "06";
		КонецЕсли;
	КонецЕсли;
	
	Если ДокументОбъект.ВерсияДокумента < 2 Тогда
		// Поддержка формата 1.7.5.
		// В поле "PAYMENT_TYPE" (СпособВыплатыПособия) появился вариант выплаты "2 - На карту МИР".
		Если ДокументОбъект.СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.ЧерезБанк
			И ЗначениеЗаполнено(ДокументОбъект.КартаМИР) Тогда
			ДокументОбъект.СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.НаКартуМИР;
		КонецЕсли;
		// Поле СпособВыплатыПособия теперь заполняется еще и на основании поля КартаМИР, которое, для этого, становится фиксируемым.
		Если ЗначениеЗаполнено(ДокументОбъект.КартаМИР) Тогда
			ФиксацияВторичныхДанныхВДокументах.ЗафиксироватьРеквизитОбъекта(ДокументОбъект, "КартаМИР");
			ФиксацияВторичныхДанныхВДокументах.ЗафиксироватьРеквизитОбъекта(ДокументОбъект, "СпособВыплатыПособия");
		КонецЕсли;
		// Восстановлено умолчательное пустое значение поля КодПричиныПерерасчета (пустая строка).
		Если ПустаяСтрока(ДокументОбъект.КодПричиныПерерасчета) Или ДокументОбъект.КодПричиныПерерасчета = "0" Или ДокументОбъект.КодПричиныПерерасчета = "00" Тогда
			ДокументОбъект.КодПричиныПерерасчета = "";
		КонецЕсли;
	КонецЕсли;
	
	Если ДокументОбъект.ВерсияДокумента < 3 Тогда
		// Механизм заполнения ответственных лиц организаций.
		ФиксацияВторичныхДанныхВДокументах.ЗафиксироватьРеквизитОбъекта(ДокументОбъект, "ПредставительСФР");
		ФиксацияВторичныхДанныхВДокументах.ЗафиксироватьРеквизитОбъекта(ДокументОбъект, "ДолжностьПредставителяСФР");
		ФиксацияВторичныхДанныхВДокументах.ЗафиксироватьРеквизитОбъекта(ДокументОбъект, "ОснованиеПодписиПредставителяСФР");
		УчетПособийСоциальногоСтрахования.ЗаполнитьУполномоченногоПоПрямымВыплатамФСС(ДокументОбъект);
	КонецЕсли;
	
	Если ДокументОбъект.ВерсияДокумента < 4 Тогда
		// Заполнение кодов адресов для предоставления возможности их редактирования в форме.
		Если ЗначениеЗаполнено(ДокументОбъект.АдресПолучателяРегистрации) Тогда
			ТекстОшибки = Неопределено;
			КодыАдреса = ПрямыеВыплатыПособийСоциальногоСтрахования.КодыАдреса(ДокументОбъект.АдресПолучателяРегистрации, ТекстОшибки);
			Если КодыАдреса = Неопределено Тогда
				ЗаписьЖурналаРегистрации(
					НСтр("ru = 'Пособия социального страхования.ПВСО'", ОбщегоНазначения.КодОсновногоЯзыка()),
					УровеньЖурналаРегистрации.Предупреждение,
					ДокументОбъект.Метаданные(),
					ДокументОбъект.Ссылка,
					СтрШаблон(
						НСтр("ru = 'Не удалось получить коды ФИАС и КЛАДР адреса регистрации получателя в документе %1 по причине:
							|%2'"),
						ДокументОбъект.Ссылка,
						ТекстОшибки));
			Иначе
				ДокументОбъект.АдресПолучателяРегистрацииИдентификаторФИАС = КодыАдреса.ИдентификаторОбъектаФИАС;
				ДокументОбъект.АдресПолучателяРегистрацииКодКЛАДР = ?(СтрДлина(КодыАдреса.КодКЛАДР) = 16, "0" + КодыАдреса.КодКЛАДР, КодыАдреса.КодКЛАДР);
			КонецЕсли;
		КонецЕсли;
		Если ЗначениеЗаполнено(ДокументОбъект.АдресПолучателяФактический) Тогда
			ТекстОшибки = Неопределено;
			КодыАдреса = ПрямыеВыплатыПособийСоциальногоСтрахования.КодыАдреса(ДокументОбъект.АдресПолучателяФактический, ТекстОшибки);
			Если КодыАдреса = Неопределено Тогда
				ЗаписьЖурналаРегистрации(
					НСтр("ru = 'Пособия социального страхования.ПВСО'", ОбщегоНазначения.КодОсновногоЯзыка()),
					УровеньЖурналаРегистрации.Предупреждение,
					ДокументОбъект.Метаданные(),
					ДокументОбъект.Ссылка,
					СтрШаблон(
						НСтр("ru = 'Не удалось получить коды ФИАС и КЛАДР почтового адреса получателя в документе %1 по причине:
							|%2'"),
						ДокументОбъект.Ссылка,
						ТекстОшибки));
			Иначе
				ДокументОбъект.АдресПолучателяФактическийИдентификаторФИАС = КодыАдреса.ИдентификаторОбъектаФИАС;
				ДокументОбъект.АдресПолучателяФактическийКодКЛАДР = ?(СтрДлина(КодыАдреса.КодКЛАДР) = 16, "0" + КодыАдреса.КодКЛАДР, КодыАдреса.КодКЛАДР);
			КонецЕсли;
		КонецЕсли;
	КонецЕсли;
	
	Если ДокументОбъект.ВерсияДокумента < 5 Тогда
		Если ЗначениеЗаполнено(ДокументОбъект.УдалитьНомерКартыМИР) И Не СтрНачинаетсяС(ДокументОбъект.УдалитьНомерКартыМИР, "##") Тогда
			КартаМИР = КартаМИР(ДокументОбъект);
			Если ЗначениеЗаполнено(КартаМИР) И Не ЗначениеЗаполнено(ДокументОбъект.КартаМИР) Тогда
				ДокументОбъект.КартаМИР = КартаМИР;
				ФиксацияВторичныхДанныхВДокументах.ЗафиксироватьРеквизитОбъекта(ДокументОбъект, "КартаМИР");
			КонецЕсли;
			ДвоичныеДанные = ТекстВДвоичныеДанные(ДокументОбъект.УдалитьНомерКартыМИР, КодировкаТекста.UTF8, Ложь);
			ДокументОбъект.УдалитьНомерКартыМИР = "##" + Base64Строка(ДвоичныеДанные);
		КонецЕсли;
	КонецЕсли;
	
	Если ДокументОбъект.ВерсияДокумента < 6 Тогда
		Если ЗначениеЗаполнено(ДокументОбъект.ИзвещениеИзФССДата)
			Или ЗначениеЗаполнено(ДокументОбъект.ИзвещениеИзФССНомер) Тогда
			ФиксацияВторичныхДанныхВДокументах.ЗафиксироватьРеквизитОбъекта(ДокументОбъект, "ИзвещениеИзФССДата");
			ФиксацияВторичныхДанныхВДокументах.ЗафиксироватьРеквизитОбъекта(ДокументОбъект, "ИзвещениеИзФССНомер");
		КонецЕсли;
	КонецЕсли;
	
	Если ДокументОбъект.ВерсияДокумента < 7 Тогда
		Если ЗначениеЗаполнено(ДокументОбъект.Банк) Или ЗначениеЗаполнено(ДокументОбъект.БИКБанка) Тогда
			ДокументОбъект.КоррСчетБанка = СпособыПрямыхВыплатФСС.КоррСчетБанка(ДокументОбъект.Банк, ДокументОбъект.БИКБанка);
		КонецЕсли;
	КонецЕсли;
	
	Если ДокументОбъект.ВерсияДокумента < 8 Тогда
		Если ЗначениеЗаполнено(ДокументОбъект.Организация) Тогда
			ДокументОбъект.ГоловнаяОрганизация = ЗарплатаКадры.ГоловнаяОрганизация(ДокументОбъект.Организация);
		КонецЕсли;
		Если ТипЗнч(ДокументОбъект.ДокументОснование) = Тип("ДокументСсылка.БольничныйЛист")
			И ЗначениеЗаполнено(ДокументОбъект.ДокументОснование) Тогда
			ДокументОбъект.ФинансированиеФедеральнымБюджетом = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументОбъект.ДокументОснование, "ФинансированиеФедеральнымБюджетом");
		КонецЕсли;
	КонецЕсли;
	
	ДокументОбъект.ВерсияДокумента = АктуальнаяВерсия();
КонецПроцедуры

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

// Записывает текст в двоичные данные.
//
// Параметры:
//   Текст - Строка - Записываемый текст.
//   Кодировка - КодировкаТекста, Строка - Кодировка записываемого текста.
//   ЗаписатьBOM - Булево - Признак записи маркера последовательности байтов (BOM) в начало двоичных данных.
//
// Возвращаемое значение:
//   ДвоичныеДанные - Двоичные данные текста.
//
Функция ТекстВДвоичныеДанные(Текст, Кодировка, ЗаписатьBOM)
	Поток = Новый ПотокВПамяти();
	ЗаписьТекста = Новый ЗаписьТекста(Поток, "windows-1251", , , ЗаписатьBOM);
	ЗаписьТекста.Записать(Текст);
	ЗаписьТекста.Закрыть();
	Возврат Поток.ЗакрытьИПолучитьДвоичныеДанные();
КонецФункции

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

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

#КонецЕсли

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