#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область ДляВызоваИзДругихПодсистем
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Обработчик = "УправлениеПечатьюБЗККлиент.ВыполнитьКомандуПечати";
КомандаПечати.Идентификатор = "РеестрПособий";
КомандаПечати.Представление = НСтр("ru = 'Реестр пособий'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Ложь;
КонецПроцедуры
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ДляВсехСтрок( ЗначениеРазрешено(ФизическиеЛица.ФизическоеЛицо, NULL КАК ИСТИНА)
| ) И ЗначениеРазрешено(Организация)";
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс
#Область РегламентированнаяОтчетность
Функция ПриИзмененииСтатусаОтправкиДокумента(РеестрСсылка, СтатусОтправки) Экспорт
СтатусДокумента = Перечисления.СтатусыЗаявленийИРеестровНаВыплатуПособий.ИзСтатусаОтправки(СтатусОтправки);
Если ТипЗнч(СтатусДокумента) = Тип("ПеречислениеСсылка.СтатусыЗаявленийИРеестровНаВыплатуПособий") Тогда
ДокументОбъект = РеестрСсылка.ПолучитьОбъект();
ДокументОбъект.СтатусДокумента = СтатусДокумента;
СвойстваПоследнейОтправки = ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера.СвойстваПоследнейОтправкиОтчетаВФСС(РеестрСсылка);
Если СвойстваПоследнейОтправки <> Неопределено
И ЗначениеЗаполнено(СвойстваПоследнейОтправки.ИдентификаторОтправкиНаСервере) Тогда
ДокументОбъект.ВходящийНомерРеестра = СвойстваПоследнейОтправки.ИдентификаторОтправкиНаСервере;
КонецЕсли;
ДокументОбъект.Записать();
Иначе
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Ошибка при вызове процедуры ""%1"": значение ""%2"" (тип ""%3"") не поддерживается для реестров прямых выплат.'"),
"ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервераПереопределяемый.ПриИзмененииСтатусаОтправкиДокумента",
СтатусОтправки,
ТипЗнч(СтатусОтправки));
СообщенияБЗК.СообщитьОПроблеме(ТекстОшибки, РеестрСсылка, "СтатусДокумента");
КонецЕсли;
КонецФункции
#КонецОбласти
#Область СоставДокументов
Функция ОписаниеСоставаОбъекта() Экспорт
ОписаниеСостава = ЗарплатаКадрыСоставДокументов.НовоеОписаниеСоставаОбъекта();
ОписаниеСостава.ЗаполнятьФизическиеЛицаПоСотрудникам = Ложь;
ОписаниеСостава.ИспользоватьКраткийСостав = Ложь;
ОписаниеСостава.ЗаполнятьТабличнуюЧастьФизическиеЛицаДокумента = Ложь;
ЗарплатаКадрыСоставДокументов.ДобавитьОписаниеХраненияСотрудниковФизическихЛиц(
ОписаниеСостава.ОписаниеХраненияСотрудниковФизическихЛиц,
"ФизическиеЛица",
"ФизическоеЛицо");
Возврат ОписаниеСостава;
КонецФункции
#КонецОбласти
#Область ФиксацияВторичныхДанныхВДокументах
Функция ПараметрыФиксацииВторичныхДанных() Экспорт
ФиксируемыеРеквизиты = ФиксируемыеРеквизиты();
ФиксируемыеТЧ = Новый Структура("СведенияНеобходимыеДляНазначенияПособий", СтрРазделить("Заявление", ",", Ложь));
Возврат ФиксацияВторичныхДанныхВДокументах.ПараметрыФиксации(ФиксируемыеРеквизиты, ФиксируемыеТЧ);
КонецФункции
#КонецОбласти
#Область ОбновлениеИнформационнойБазы
Процедура ЗаполнитьСостояниеОтправки(ПараметрыОбновления = Неопределено) Экспорт
ОбработкаЗавершена = Истина;
Запрос = Новый Запрос;
Для Каждого МетаданныеЗначения Из Метаданные.Перечисления.СтатусыЗаявленийИРеестровНаВыплатуПособий.ЗначенияПеречисления Цикл
Запрос.УстановитьПараметр(МетаданныеЗначения.Имя, Перечисления.СтатусыЗаявленийИРеестровНаВыплатуПособий[МетаданныеЗначения.Имя]);
КонецЦикла;
Запрос.Текст =
"ВЫБРАТЬ
| СтатусыОтправки.Объект КАК Объект,
| СтатусыОтправки.Статус КАК СтатусБРО,
| ВЫБОР
| КОГДА СтатусыОтправки.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыОтправки.Сдан)
| ТОГДА &ПринятФСС
| КОГДА СтатусыОтправки.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыОтправки.НеПринят)
| ТОГДА &НеПринятФСС
| КОГДА СтатусыОтправки.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыОтправки.Отправлен)
| ТОГДА &ПереданВФСС
| КОГДА СтатусыОтправки.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыОтправки.Доставлен)
| ТОГДА &ПереданВФСС
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатусДокументооборота
|ПОМЕСТИТЬ ВТСостояния
|ИЗ
| РегистрСведений.СтатусыОтправки КАК СтатусыОтправки
|ГДЕ
| СтатусыОтправки.Объект ССЫЛКА Документ.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий
|;
|
|
|ВЫБРАТЬ
| Реестры.Ссылка КАК Ссылка,
| ВТСостояния.СтатусБРО КАК СтатусБРО,
| ВТСостояния.СтатусДокументооборота КАК СтатусДокументооборота
|ИЗ
| ВТСостояния КАК ВТСостояния
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий КАК Реестры
| ПО ВТСостояния.Объект = Реестры.Ссылка
| И ВТСостояния.СтатусДокументооборота <> Реестры.СтатусДокумента
| И (ВТСостояния.СтатусДокументооборота <> НЕОПРЕДЕЛЕНО)
| И (Реестры.СтатусДокумента <> &ПринятФСС)
| И (Реестры.СтатусДокумента <> &НеПринятФСС)
| И (Реестры.СтатусДокумента <> &Аннулирован)";
ИзмерениеОтбора = "Ссылка";
ПространствоБлокировки = "Документ.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Если Не ОбновлениеИнформационнойБазыЗарплатаКадрыБазовый.ПодготовитьОбновлениеДанных(
ПараметрыОбновления,
ПространствоБлокировки,
ИзмерениеОтбора,
Выборка[ИзмерениеОтбора]) Тогда
ОбработкаЗавершена = Ложь;
Продолжить;
КонецЕсли;
СтатусДокумента = Перечисления.СтатусыЗаявленийИРеестровНаВыплатуПособий.ИзСтатусаОтправки(Выборка.СтатусБРО);
Если ТипЗнч(СтатусДокумента) = Тип("ПеречислениеСсылка.СтатусыЗаявленийИРеестровНаВыплатуПособий") Тогда
РеестрОбъект = Выборка.Ссылка.ПолучитьОбъект();
РеестрОбъект.СтатусДокумента = СтатусДокумента;
СЭДОФСС.ЗаписатьДокумент(РеестрОбъект);
КонецЕсли;
ОбновлениеИнформационнойБазыЗарплатаКадрыБазовый.ЗавершитьОбновлениеДанных(ПараметрыОбновления);
КонецЦикла;
Если ПараметрыОбновления <> Неопределено Тогда
ПараметрыОбновления.ОбработкаЗавершена = ОбработкаЗавершена;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область ЗащитаПерсональныхДанных
Процедура ЗаполнитьСведенияОПерсональныхДанных(ТаблицаСведений) Экспорт
Объект = Метаданные.Документы.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий.ПолноеИмя();
НовыеСведения = ТаблицаСведений.Добавить();
НовыеСведения.Объект = Объект;
НовыеСведения.ПоляРегистрации = "СведенияНеобходимыеДляНазначенияПособий.Заявление.Сотрудник";
НовыеСведения.ПоляДоступа = "СведенияНеобходимыеДляНазначенияПособий.ОдновременныйУходЗаНесколькимиДетьми,СведенияНеобходимыеДляНазначенияПособий.ФинансированиеФедеральнымБюджетом";
НовыеСведения.ОбластьДанных = "ЛичныеДанные";
НовыеСведения = ТаблицаСведений.Добавить();
НовыеСведения.Объект = Объект;
НовыеСведения.ПоляРегистрации = "СведенияНеобходимыеДляНазначенияПособий.Заявление.Сотрудник";
НовыеСведения.ПоляДоступа = "СведенияНеобходимыеДляНазначенияПособий.ОтчествоРебенка,СведенияНеобходимыеДляНазначенияПособий.ИмяРебенка,СведенияНеобходимыеДляНазначенияПособий.ФамилияРебенка";
НовыеСведения.ОбластьДанных = "ЛичныеДанные";
НовыеСведения = ТаблицаСведений.Добавить();
НовыеСведения.Объект = Объект;
НовыеСведения.ПоляРегистрации = "СведенияНеобходимыеДляНазначенияПособий.Заявление.Сотрудник";
НовыеСведения.ПоляДоступа = "СведенияНеобходимыеДляНазначенияПособий.НаличиеРешенияСудаОЛишенииПрав,СведенияНеобходимыеДляНазначенияПособий.НомерДокумента";
НовыеСведения.ОбластьДанных = "ЛичныеДанные";
НовыеСведения = ТаблицаСведений.Добавить();
НовыеСведения.Объект = Объект;
НовыеСведения.ПоляРегистрации = "СведенияНеобходимыеДляНазначенияПособий.Заявление.Сотрудник";
НовыеСведения.ПоляДоступа = "СведенияНеобходимыеДляНазначенияПособий.СерияДокумента,СведенияНеобходимыеДляНазначенияПособий.ДатаДокумента";
НовыеСведения.ОбластьДанных = "ЛичныеДанные";
НовыеСведения = ТаблицаСведений.Добавить();
НовыеСведения.Объект = Объект;
НовыеСведения.ПоляРегистрации = "СведенияНеобходимыеДляНазначенияПособий.Заявление.Сотрудник";
НовыеСведения.ПоляДоступа = "СведенияНеобходимыеДляНазначенияПособий.НаименованиеПодтверждающегоДокумента,СведенияНеобходимыеДляНазначенияПособий.ВидПодтверждающегоДокумента";
НовыеСведения.ОбластьДанных = "ЛичныеДанные";
НовыеСведения = ТаблицаСведений.Добавить();
НовыеСведения.Объект = Объект;
НовыеСведения.ПоляРегистрации = "СведенияНеобходимыеДляНазначенияПособий.Заявление.Сотрудник";
НовыеСведения.ПоляДоступа = "СведенияНеобходимыеДляНазначенияПособий.ДатаРожденияРебенка,СведенияНеобходимыеДляНазначенияПособий.ОчередностьРожденияРебенка";
НовыеСведения.ОбластьДанных = "ЛичныеДанные";
НовыеСведения = ТаблицаСведений.Добавить();
НовыеСведения.Объект = Объект;
НовыеСведения.ПоляРегистрации = "СведенияНеобходимыеДляНазначенияПособий.Заявление.Сотрудник";
НовыеСведения.ПоляДоступа = "СведенияНеобходимыеДляНазначенияПособий.НовыйСтатусНетрудоспособного,СведенияНеобходимыеДляНазначенияПособий.ПериодНахожденияВСтационареСРебенкомПо";
НовыеСведения.ОбластьДанных = "ЛичныеДанные";
НовыеСведения = ТаблицаСведений.Добавить();
НовыеСведения.Объект = Объект;
НовыеСведения.ПоляРегистрации = "СведенияНеобходимыеДляНазначенияПособий.Заявление.Сотрудник";
НовыеСведения.ПоляДоступа = "СведенияНеобходимыеДляНазначенияПособий.ПериодНахожденияВСтационареСРебенкомС,СведенияНеобходимыеДляНазначенияПособий.КодНарушенияРежима";
НовыеСведения.ОбластьДанных = "ЛичныеДанные";
НовыеСведения = ТаблицаСведений.Добавить();
НовыеСведения.Объект = Объект;
НовыеСведения.ПоляРегистрации = "СведенияНеобходимыеДляНазначенияПособий.Заявление.Сотрудник";
НовыеСведения.ПоляДоступа = "СведенияНеобходимыеДляНазначенияПособий.ПоставленаНаУчетВРанниеСрокиБеременности,СведенияНеобходимыеДляНазначенияПособий.ПоУходуФИО2";
НовыеСведения.ОбластьДанных = "ЛичныеДанные";
НовыеСведения = ТаблицаСведений.Добавить();
НовыеСведения.Объект = Объект;
НовыеСведения.ПоляРегистрации = "СведенияНеобходимыеДляНазначенияПособий.Заявление.Сотрудник";
НовыеСведения.ПоляДоступа = "СведенияНеобходимыеДляНазначенияПособий.ПоУходуРодственнаяСвязь2,СведенияНеобходимыеДляНазначенияПособий.ПоУходуВозрастМесяцев2";
НовыеСведения.ОбластьДанных = "ЛичныеДанные";
НовыеСведения = ТаблицаСведений.Добавить();
НовыеСведения.Объект = Объект;
НовыеСведения.ПоляРегистрации = "СведенияНеобходимыеДляНазначенияПособий.Заявление.Сотрудник";
НовыеСведения.ПоляДоступа = "СведенияНеобходимыеДляНазначенияПособий.ПоУходуВозрастЛет2,СведенияНеобходимыеДляНазначенияПособий.ПоУходуФИО1,СведенияНеобходимыеДляНазначенияПособий.ПоУходуРодственнаяСвязь1";
НовыеСведения.ОбластьДанных = "ЛичныеДанные";
НовыеСведения = ТаблицаСведений.Добавить();
НовыеСведения.Объект = Объект;
НовыеСведения.ПоляРегистрации = "СведенияНеобходимыеДляНазначенияПособий.Заявление.Сотрудник";
НовыеСведения.ПоляДоступа = "СведенияНеобходимыеДляНазначенияПособий.ПоУходуВозрастМесяцев1,СведенияНеобходимыеДляНазначенияПособий.ПоУходуВозрастЛет1";
НовыеСведения.ОбластьДанных = "ЛичныеДанные";
НовыеСведения = ТаблицаСведений.Добавить();
НовыеСведения.Объект = Объект;
НовыеСведения.ПоляРегистрации = "СведенияНеобходимыеДляНазначенияПособий.Заявление.Сотрудник";
НовыеСведения.ПоляДоступа = "СведенияНеобходимыеДляНазначенияПособий.ВторойКодПричиныНетрудоспособности,СведенияНеобходимыеДляНазначенияПособий.ДополнительныйКодПричиныНетрудоспособности";
НовыеСведения.ОбластьДанных = "ЛичныеДанные";
НовыеСведения = ТаблицаСведений.Добавить();
НовыеСведения.Объект = Объект;
НовыеСведения.ПоляРегистрации = "СведенияНеобходимыеДляНазначенияПособий.Заявление.Сотрудник";
НовыеСведения.ПоляДоступа = "СведенияНеобходимыеДляНазначенияПособий.КодПричиныНетрудоспособности,СведенияНеобходимыеДляНазначенияПособий.НомерПервичногоЛисткаНетрудоспособности,СведенияНеобходимыеДляНазначенияПособий.НомерЛисткаНетрудоспособности";
НовыеСведения.ОбластьДанных = "ЛичныеДанные";
НовыеСведения = ТаблицаСведений.Добавить();
НовыеСведения.Объект = Объект;
НовыеСведения.ПоляРегистрации = "СведенияНеобходимыеДляНазначенияПособий.Заявление.Сотрудник";
НовыеСведения.ПоляДоступа = "СведенияНеобходимыеДляНазначенияПособий.ГруппаИнвалидности,СведенияНеобходимыеДляНазначенияПособий.ДатаОсвидетельствованияМСЭ,СведенияНеобходимыеДляНазначенияПособий.ДатаРегистрацииДокументовМСЭ,СведенияНеобходимыеДляНазначенияПособий.ДатаНаправленияВБюроМСЭ";
НовыеСведения.ОбластьДанных = "Инвалидность";
КонецПроцедуры
#КонецОбласти
#Область ФормированиеФайла
Функция ФайлРеестра(Ссылка, УникальныйИдентификатор) Экспорт
ВыборкаПоШапкеДокумента = ЗапросПоШапкеРеестра(Ссылка).Выполнить().Выбрать();
ВыборкаПоШапкеДокумента.Следующий();
ИдентификаторФСС = ИдентификаторФСС(ВыборкаПоШапкеДокумента);
ТекстXML = СформироватьФайлРеестра(ВыборкаПоШапкеДокумента, ИдентификаторФСС);
Кодировка = "windows-1251";
ДвоичныеДанные = ЗарплатаКадры.СтрокаВДвоичныеДанные(ТекстXML, Кодировка, Истина);
ОписаниеФайла = Новый Структура("ИмяФайлаБезРасширения, ИмяФайлаСРасширением, ТекстXML, АдресДвоичныхДанных, Кодировка");
ОписаниеФайла.ИмяФайлаБезРасширения = ИдентификаторФСС;
ОписаниеФайла.ИмяФайлаСРасширением = ОписаниеФайла.ИмяФайлаБезРасширения + ".xml";
ОписаниеФайла.ТекстXML = ТекстXML;
ОписаниеФайла.АдресДвоичныхДанных = ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификатор);
ОписаниеФайла.Кодировка = Кодировка;
Возврат ОписаниеФайла;
КонецФункции
Функция ПолучитьФайлДляОтправки(Ссылка, Отказ = Ложь) Экспорт
ФайлРеестра = ФайлРеестра(Ссылка, Неопределено);
Если ФайлРеестра = Неопределено Тогда
Отказ = Истина;
Возврат Неопределено;
КонецЕсли;
ФайлДляОтправки = Новый Структура("АдресФайлаВыгрузки, ИмяФайлаВыгрузки, ТипФайлаВыгрузки, КодировкаФайлаВыгрузки");
ФайлДляОтправки.ИмяФайлаВыгрузки = ФайлРеестра.ИмяФайлаСРасширением;
ФайлДляОтправки.АдресФайлаВыгрузки = ФайлРеестра.АдресДвоичныхДанных;
ФайлДляОтправки.ТипФайлаВыгрузки = "РеестрЗаявленийНаВыплатуПособийДляПередачиВФСС";
ФайлДляОтправки.КодировкаФайлаВыгрузки = КодировкаТекста.ANSI;
Возврат ФайлДляОтправки;
КонецФункции
Функция СформироватьФайлРеестра(ВыборкаПоШапкеДокумента, ИдентификаторФСС)
РегистрационныйНомерДляФСС = УчетПособийСоциальногоСтрахованияКлиентСервер.РегистрационныйНомерДляОбменаФСС(
ВыборкаПоШапкеДокумента);
ROWSET = ПрямыеВыплатыПособийСоциальногоСтрахования.КорневойЭлементРеестраПилотногоПроектаФСС();
ROWSET.author = ?(ЗначениеЗаполнено(ВыборкаПоШапкеДокумента.ФИОСоставителя), ВыборкаПоШапкеДокумента.ФИОСоставителя, "");
ROWSET.version = "1.7.7";
ROWSET.software = Лев(РегламентированнаяОтчетность.НазваниеПрограммы(), 255);
ROWSET.version_software = Лев(Метаданные.Версия, 15);
ROWSET.phone = ВыборкаПоШапкеДокумента.ТелефонСоставителя;
ROWSET.email = ВыборкаПоШапкеДокумента.АдресЭлектроннойПочтыСоставителя;
ROWSET.EMPL_REG_NO = РегистрационныйНомерДляФСС;
УстановитьЗначениеЕслиЗаполнено(ROWSET.EMPL_OGRN, ВыборкаПоШапкеДокумента.ОГРНОрганизации);
УстановитьЗначениеЕслиЗаполнено(ROWSET.EMPL_KPP, ВыборкаПоШапкеДокумента.КППОрганизации);
УстановитьЗначениеЕслиЗаполнено(ROWSET.EMPL_INN, ВыборкаПоШапкеДокумента.ИННОрганизации);
СписокROW = ПрямыеВыплатыПособийСоциальногоСтрахования.СписокЭлементовРеестраПилотногоПроектаФСС(ROWSET);
ВыборкаСтрок = ЗапросПоСтрокамРеестра(ВыборкаПоШапкеДокумента).Выполнить().Выбрать();
ИсключаемыеПериоды = ЗапросПоИсключаемымПериодам(ВыборкаПоШапкеДокумента).Выполнить().Выгрузить();
ПриостановленияТД = ЗапросПоПриостановлениямТД(ВыборкаПоШапкеДокумента).Выполнить().Выгрузить();
НомерДокументаВПачке = 0;
Пока ВыборкаСтрок.Следующий() Цикл
НомерДокументаВПачке = НомерДокументаВПачке + 1;
ROW = ПрямыеВыплатыПособийСоциальногоСтрахования.ЭлементРеестраПилотногоПроектаФСС(ROWSET);
ROW.BATCH_NO = ИдентификаторФСС + ":" + Формат(НомерДокументаВПачке, "ЧЦ=10; ЧГ=");
ROW.EMPLOYER = ВыборкаПоШапкеДокумента.ОрганизацияСокращенно;
ROW.EMPL_REG_NO = РегистрационныйНомерДляФСС;
ROW.EMPL_PARENT_NO = ВыборкаПоШапкеДокумента.КодПодчиненностиФСС;
ROW.APPROVE1 = ВыборкаПоШапкеДокумента.ФИОРуководителя;
УстановитьЗначениеЕслиЗаполнено(ROW.EMPL_OGRN, ВыборкаПоШапкеДокумента.ОГРНОрганизации);
УстановитьЗначениеЕслиЗаполнено(ROW.EMPL_KPP, ВыборкаПоШапкеДокумента.КППОрганизации);
УстановитьЗначениеЕслиЗаполнено(ROW.EMPL_INN, ВыборкаПоШапкеДокумента.ИННОрганизации);
УстановитьЗначениеЕслиЗаполнено(ROW.APPROVE2, ВыборкаПоШапкеДокумента.ФИОГлавногоБухгалтера);
УстановитьЗначениеЕслиЗаполнено(ROW.APPROVE1_ROLE, ВыборкаПоШапкеДокумента.ДолжностьРуководителя);
ЗаполнитьСтрокуРеестра(ROW, ВыборкаСтрок);
ЗаполнитьИсключаемыеПериодыВСтрокеРеестра(ROW, ВыборкаСтрок, ИсключаемыеПериоды);
ЗаполнитьПриостановленияТДВСтрокеРеестра(ROW, ВыборкаСтрок, ПриостановленияТД);
ЗаполнитьСведенияПо20ФЗВСтрокеРеестра(ROW, ВыборкаСтрок);
СписокROW.Добавить(ROW);
КонецЦикла;
СтрокаXML = ПрямыеВыплатыПособийСоциальногоСтрахования.ЗаписатьРеестрВСтрокуXML(ROWSET);
Возврат СтрокаXML;
КонецФункции
Процедура ЗаполнитьСтрокуРеестра(ROW, СтруктураДанных)
ROW.TYPE_INFO = Число(СтруктураДанных.Перерасчет);
Если СтруктураДанных.Перерасчет Тогда
ROW.RECALC_REASON_CODE = Число(СтруктураДанных.КодПричиныПерерасчета);
КонецЕсли;
Если СтруктураДанных.ВидВыплаты = "1" Или СтруктураДанных.ВидВыплаты = "2" Тогда
ROW.FSS_PAYMENT_FLAG = ?(ЗначениеЗаполнено(СтруктураДанных.ДатаНачалаОплаты), 1, 0);
КонецЕсли;
ROW.DOC_TYPE = СтруктураДанных.ВидВыплаты;
ROW.DOC_DT1 = СтруктураДанных.ДатаПредставленияПакетаДокументов;
ROW.SNILS = СтрЗаменить(СтрЗаменить(СтруктураДанных.СНИЛСПолучателя, "-","")," ","");
ROW.SURNAME = СтруктураДанных.Фамилия;
ROW.NAME = СтруктураДанных.Имя;
ROW.PATRONIMIC = СтруктураДанных.Отчество;
УстановитьЗначениеЕслиЗаполнено(ROW.INN_PERSON, СтруктураДанных.ИННПолучателя);
ЗаполнитьСтатусНалогоплательщикаВСтрокеРеестра(ROW, СтруктураДанных);
ROW.RESIDENT_CODE = СтруктураДанных.КодСтраны;
ROW.BIRTHDAY = СтруктураДанных.ДатаРождения;
ROW.GENDER = Число(СтруктураДанных.Пол = Перечисления.ПолФизическогоЛица.Женский);
ROW.ID_TYPE = СтруктураДанных.УдостоверениеЛичностиКодМВД;
ROW.ID_NO = СокрЛПД(СтруктураДанных.СерияУдостоверенияЛичности + " " + СтруктураДанных.НомерУдостоверенияЛичности);
ROW.ID_DT = СтруктураДанных.ДатаВыдачиУдостоверенияЛичности;
ROW.ID_DEPT = СокрЛПД(СтруктураДанных.КемВыданоУдостоверениеЛичности);
УстановитьДатуЕслиЗаполнена(ROW.ID1_FN_DT, СтруктураДанных.УдостоверениеЛичностиСрокДействия);
Если ЗначениеЗаполнено(СтруктураДанных.Гражданство)
И СтруктураДанных.Гражданство <> ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.СтраныМира.Россия")
И (ЗначениеЗаполнено(СтруктураДанных.СерияДокументаНаПроживание)
Или ЗначениеЗаполнено(СтруктураДанных.НомерДокументаНаПроживание)
Или ЗначениеЗаполнено(СтруктураДанных.ДатаВыдачиДокументаНаПроживание)) Тогда
ROW.ID3_TYPE = СтруктураДанных.КодМВДДокументаНаПроживание;
СерияНомер = СокрЛПД(СтруктураДанных.СерияДокументаНаПроживание + " " + СтруктураДанных.НомерДокументаНаПроживание);
УстановитьЗначениеЕслиЗаполнено(ROW.ID3_NO, СерияНомер);
УстановитьДатуЕслиЗаполнена(ROW.ID3_DT, СтруктураДанных.ДатаВыдачиДокументаНаПроживание);
КонецЕсли;
ROW.OWNER_FLAG = 1;
ROW.EMPL_FLAG = Число(Не СтруктураДанных.Совместительство);
HOLID_TYPE = Перечисления.ОснованияПрекращенияПособийПоУходу.ЗначениеЧислом(
СтруктураДанных.ДосрочноеПрекращениеОтпускаПоУходуТипПриказа);
Если HOLID_TYPE <> Неопределено Тогда
ROW.HOLID_TYPE = HOLID_TYPE;
ROW.HOLID_NO = СтруктураДанных.ДосрочноеПрекращениеОтпускаПоУходуНомерПриказа;
ROW.HOLID_DT = СтруктураДанных.ДосрочноеПрекращениеОтпускаПоУходуДатаПриказа;
ROW.HOLID_DT_EX = СтруктураДанных.ДосрочноеПрекращениеОтпускаПоУходуДатаПрекращенияОплаты;
КонецЕсли;
Если СтруктураДанных.ИзвещениеИзФССИспользование Тогда
ROW.RESP_NO = СтруктураДанных.ИзвещениеИзФССНомер;
ROW.RESP_DT = СтруктураДанных.ИзвещениеИзФССДата;
КонецЕсли;
Если СтруктураДанных.СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.ПочтовымПереводом Тогда
ROW.PAYMENT_TYPE = 0;
ОписаниеАдреса = СтруктураАдреса(СтруктураДанных.АдресПолучателяФактический);
ROW.POST_INDEX = ОписаниеАдреса.Индекс;
ROW.ADDR_A1 = ОписаниеАдреса.Регион;
ROW.ADDR_A2 = ОписаниеАдреса.Район;
ROW.ADDR_A3 = ОписаниеАдреса.Город;
ROW.ADDR_A4 = ОписаниеАдреса.НаселенныйПункт;
ROW.ADDR_PLAN = ОписаниеАдреса.Территория;
ROW.ADDR_A5 = ОписаниеАдреса.Улица;
ROW.ADDR_HOUSE = ОписаниеАдреса.Дом;
ROW.ADDR_BUILDING = ОписаниеАдреса.Корпус;
ROW.ADDR_FLAT = ОписаниеАдреса.Квартира;
ROW.ADDR_KLADR = СтруктураДанных.АдресПолучателяФактическийКодКЛАДР;
ROW.ADDR_GUID = СтруктураДанных.АдресПолучателяФактическийИдентификаторФИАС;
ИначеЕсли СтруктураДанных.СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.ЧерезБанк Тогда
ROW.PAYMENT_TYPE = 1;
ROW.ACCOUNT_BIC = СтруктураДанных.БИКБанка;
ROW.ACCOUNT_NAME = СтруктураДанных.НаименованиеБанка;
ROW.ACCOUNT = СтруктураДанных.НомерЛицевогоСчета;
ИначеЕсли СтруктураДанных.СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.НаКартуМИР Тогда
ROW.PAYMENT_TYPE = 2;
ROW.PAYCARD_NUM = БанковскиеКарты.ПолныйНомерКарты(СтруктураДанных.КартаМИР);
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ТелефонПолучателя) Тогда
СтруктураТелефона = КонтактнаяИнформацияБЗК.СтруктураТелефона(СтруктураДанных.ТелефонПолучателя);
Если ЗначениеЗаполнено(СтруктураТелефона.Представление) Тогда
ROW.PERSON_PHONE = КонтактнаяИнформацияБЗК.ПредставлениеТелефона(СтруктураТелефона, 30);
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.АдресПолучателяРегистрации) Тогда
Если ROW.RESIDENT_FLAG = 1 Тогда
ОписаниеАдреса = СтруктураАдреса(СтруктураДанных.АдресПолучателяРегистрации);
ROW.POST_INDEX2 = ОписаниеАдреса.Индекс;
ROW.ADDR2_A1 = ОписаниеАдреса.Регион;
ROW.ADDR2_A2 = ОписаниеАдреса.Район;
ROW.ADDR2_A3 = ОписаниеАдреса.Город;
ROW.ADDR2_A4 = ОписаниеАдреса.НаселенныйПункт;
ROW.ADDR2_PLAN = ОписаниеАдреса.Территория;
ROW.ADDR2_A5 = ОписаниеАдреса.Улица;
ROW.ADDR2_HOUSE = ОписаниеАдреса.Дом;
ROW.ADDR2_BUILDING = ОписаниеАдреса.Корпус;
ROW.ADDR2_FLAT = ОписаниеАдреса.Квартира;
ROW.ADDR2_KLADR = СтруктураДанных.АдресПолучателяРегистрацииКодКЛАДР;
ROW.ADDR2_GUID = СтруктураДанных.АдресПолучателяРегистрацииИдентификаторФИАС;
Иначе
ROW.ADDR2 = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформации(
СтруктураДанных.АдресПолучателяРегистрации,
КадровыйУчет.ВидКонтактнойИнформацииАдресПоПропискеФизическиеЛица());
КонецЕсли;
КонецЕсли;
Если СтруктураДанных.РайонныйКоэффициент >= 1.10 И СтруктураДанных.РайонныйКоэффициент <= 3 Тогда
ROW.KF_REG = СтруктураДанных.РайонныйКоэффициент * 100;
Иначе
ROW.KF_REG = 100;
КонецЕсли;
Если СтруктураДанных.ВидВыплаты = "1" Или СтруктураДанных.ВидВыплаты = "2" Тогда
Если ЗначениеЗаполнено(СтруктураДанных.ПериодПростояС1) Или ЗначениеЗаполнено(СтруктураДанных.ПериодПростояПо1)
Или ЗначениеЗаполнено(СтруктураДанных.ПериодПростояС2) Или ЗначениеЗаполнено(СтруктураДанных.ПериодПростояПо2) Тогда
ТипPERIODS = ROW.Свойства().Получить("PERIODS").Тип;
PERIODS = ФабрикаXDTO.Создать(ТипPERIODS);
ТипPERIOD = PERIODS.Свойства().Получить("PERIOD").Тип;
Если ЗначениеЗаполнено(СтруктураДанных.ПериодПростояС1) Или ЗначениеЗаполнено(СтруктураДанных.ПериодПростояПо1) Тогда
PERIOD = ФабрикаXDTO.Создать(ТипPERIOD);
PERIOD.START_DATE = XMLДатаДляРеестра(СтруктураДанных.ПериодПростояС1);
PERIOD.END_DATE = XMLДатаДляРеестра(СтруктураДанных.ПериодПростояПо1);
PERIOD.IDLE_AVERAGE = СтруктураДанных.СреднийЗаработокНаПериодПростоя1;
PERIODS.PERIOD.Добавить(PERIOD);
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ПериодПростояС2) Или ЗначениеЗаполнено(СтруктураДанных.ПериодПростояПо2) Тогда
PERIOD = ФабрикаXDTO.Создать(ТипPERIOD);
PERIOD.START_DATE = XMLДатаДляРеестра(СтруктураДанных.ПериодПростояС2);
PERIOD.END_DATE = XMLДатаДляРеестра(СтруктураДанных.ПериодПростояПо2);
PERIOD.IDLE_AVERAGE = СтруктураДанных.СреднийЗаработокНаПериодПростоя2;
PERIODS.PERIOD.Добавить(PERIOD);
КонецЕсли;
ROW.PERIODS.Добавить(PERIODS);
КонецЕсли;
НестраховойСтаж = УчетПособийСоциальногоСтрахования.НестраховойСтаж(СтруктураДанных);
Если НестраховойСтаж.Лет <> 0 Или НестраховойСтаж.Месяцев <> 0 Тогда
ROW.INSUR_YY = СтруктураДанных.СтажРасширенныйЛет;
ROW.INSUR_MM = СтруктураДанных.СтажРасширенныйМесяцев;
ROW.NOT_INSUR_YY = НестраховойСтаж.Лет;
ROW.NOT_INSUR_MM = НестраховойСтаж.Месяцев;
Иначе
ROW.INSUR_YY = СтруктураДанных.СтажЛет;
ROW.INSUR_MM = СтруктураДанных.СтажМесяцев;
КонецЕсли;
ROW.LN_CODE = СтруктураДанных.НомерЛисткаНетрудоспособности;
Если СтруктураДанных.ЭтоЭЛН Тогда
ROW.LN_TYPE = 1;
ИначеЕсли ФорматНомераЛНСоответствуетКоду2(СтруктураДанных.НомерЛисткаНетрудоспособности) Тогда
ROW.LN_TYPE = 2;
Если ЗначениеЗаполнено(СтруктураДанных.AvgSal) Тогда
ROW.AVG_SAL = СтруктураДанных.AvgSal;
КонецЕсли;
Иначе
ROW.LN_TYPE = 0;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ПоУходуФИО1) Тогда
УстановитьЗначениеЕслиЗаполнено(ROW.SERV1_DAYS, СтруктураДанных.УходЗаРодственникомИспользованоДней1);
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ПоУходуФИО2) Тогда
УстановитьЗначениеЕслиЗаполнено(ROW.SERV2_DAYS, СтруктураДанных.УходЗаРодственникомИспользованоДней2);
КонецЕсли;
ROW.CALC_CONDITION1 = СтруктураДанных.УсловияИсчисленияКод1;
ROW.CALC_CONDITION2 = СтруктураДанных.УсловияИсчисленияКод2;
ROW.CALC_CONDITION3 = СтруктураДанных.УсловияИсчисленияКод3;
Если СтруктураДанных.УсловияИсчисленияКод1 = "43"
Или СтруктураДанных.УсловияИсчисленияКод2 = "43"
Или СтруктураДанных.УсловияИсчисленияКод3 = "43" Тогда
ЗаполнитьПричинуРадиационногоВоздействия(ROW, СтруктураДанных);
КонецЕсли;
УстановитьДатуЕслиЗаполнена(ROW.FORM1_DT, СтруктураДанных.ДатаАктаФормыН1);
УстановитьДатуЕслиЗаполнена(ROW.RETURN_DATE_EMPL, СтруктураДанных.ДатаНачалаРаботы);
Если ЗначениеЗаполнено(СтруктураДанных.СрочныйДоговорС) И ЗначениеЗаполнено(СтруктураДанных.СрочныйДоговорПо) Тогда
ROW.WORK_CONTRACT_START_DT = XMLДатаДляРеестра(СтруктураДанных.СрочныйДоговорС);
ROW.WORK_CONTRACT_FINISH_DT = XMLДатаДляРеестра(СтруктураДанных.СрочныйДоговорПо);
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ДатаНачалаОплаты) Тогда
ROW.DT1 = XMLДатаДляРеестра(СтруктураДанных.ДатаНачалаОплаты);
ROW.DT2 = XMLДатаДляРеестра(СтруктураДанных.ДатаОкончанияОплаты);
КонецЕсли;
УстановитьЗначениеЕслиЗаполнено(ROW.EMPL_PAYMENT, СтруктураДанных.СуммаПособияРаботодателя);
УстановитьЗначениеЕслиЗаполнено(ROW.FSS_PAYMENT, СтруктураДанных.СуммаПособияФСС);
УстановитьЗначениеЕслиЗаполнено(ROW.PAYMENT, СтруктураДанных.СуммаПособияВсего);
КонецЕсли;
УстановитьЗначениеЕслиЗаполнено(ROW.EMPL_NOTE, СтруктураДанных.ИнаяИнформация);
ЗаполнитьСправкуОПостановкеНаУчетВРанниеСрокиБеременности(ROW, СтруктураДанных);
ЗаполнитьСведенияОЛисткеНетрудоспособностиВСтрокеРеестра(ROW, СтруктураДанных);
ЗаполнитьКоличествоОплаченныхДнейНетрудоспособностиИнвалида(ROW, СтруктураДанных);
Если СтруктураДанных.ВидВыплаты = "1" Или СтруктураДанных.ВидВыплаты = "2" Или СтруктураДанных.ВидВыплаты = "5" Тогда
ROW.BASE_AVG_DAILY_SAL = СтруктураДанных.СреднийЗаработокЗаРасчетныйПериод;
Если СтруктураДанных.ПорядокРасчетаСреднегоЗаработка = Перечисления.СпособыРасчетаСреднегоЗаработкаДляОплатыПособия.СреднийЗаработок Тогда
ROW.YEAR1 = СтруктураДанных.ПервыйГодРасчета;
ROW.YEAR2 = СтруктураДанных.ВторойГодРасчета;
Если СтруктураДанных.ЗамененыКалендарныеГодыРасчетаСреднегоЗаработка Тогда
ROW.YEAR_CHANGE_FLAG = 1;
ROW.YEAR1_OLD = СтруктураДанных.ЗамененныйПервыйГодРасчета;
ROW.YEAR2_OLD = СтруктураДанных.ЗамененныйВторойГодРасчета;
Иначе
ROW.YEAR_CHANGE_FLAG = 0;
КонецЕсли;
ROW.BASE_CALC_DAYS = СтруктураДанных.КалендарныхДнейРасчетногоПериода;
ROW.BASE_SUM1 = СтруктураДанных.ЗаработокПервыйГодРасчета;
ROW.BASE_SUM2 = СтруктураДанных.ЗаработокВторойГодРасчета;
ROW.BASE_AVG_SAL = СреднийЗаработокЗаДваКалендарныхГода(СтруктураДанных);
КонецЕсли;
Если СтруктураДанных.ДоляВремени > 0 И СтруктураДанных.ДоляВремени < 1 Тогда
ROW.KF_SHORT_DAY = Окр(СтруктураДанных.ДоляВремени, 3);
Иначе
ROW.KF_SHORT_DAY = 1;
КонецЕсли;
КонецЕсли;
Если СтруктураДанных.ВидВыплаты = "4" Тогда
Если ЗначениеЗаполнено(СтруктураДанных.ВидСправкиОРожденииРебенка)
И ЗначениеЗаполнено(СтруктураДанных.НомерСправки)
И ЗначениеЗаполнено(СтруктураДанных.ДатаСправки) Тогда
ROW.REF_TYPE = Перечисления.ФормыСправкиОРожденииРебенка.КодЗначения(СтруктураДанных.ВидСправкиОРожденииРебенка);
ROW.REF_24_NO = СтруктураДанных.НомерСправки;
ROW.REF_24_DT = XMLДатаДляРеестра(СтруктураДанных.ДатаСправки);
Иначе
Если ЗначениеЗаполнено(СтруктураДанных.ДатаПодтверждающегоДокумента)
И СтруктураДанных.ВидПодтверждающегоДокумента <> Перечисления.ВидыПодтверждающихДокументовОтпускаПоУходу.РешениеОбУстановленииОпеки Тогда
ROW.O_CERT_NO = СокрЛПД(СтруктураДанных.СерияНомерПодтверждающегоДокумента);
ROW.O_CERT_DT = XMLДатаДляРеестра(СтруктураДанных.ДатаПодтверждающегоДокумента);
Иначе
ROW.O_CERT_NO = ?(ЗначениеЗаполнено(СтруктураДанных.НомерИногоПодтвержденияРождения),
СокрЛПД(СтруктураДанных.НомерИногоПодтвержденияРождения),
"00000000");
ROW.O_CERT_DT = ?(ЗначениеЗаполнено(СтруктураДанных.ДатаИногоПодтвержденияРождения),
XMLДатаДляРеестра(СтруктураДанных.ДатаИногоПодтвержденияРождения),
XMLДатаДляРеестра(СтруктураДанных.ДатаРожденияРебенка));
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.НомерДоговораОПередачеНаВоспитание) И ЗначениеЗаполнено(СтруктураДанных.ДатаДоговораОПередачеНаВоспитание) Тогда
ROW.REF_FAMILY_NO = СтруктураДанных.НомерДоговораОПередачеНаВоспитание;
ROW.REF_FAMILY_DT = XMLДатаДляРеестра(СтруктураДанных.ДатаДоговораОПередачеНаВоспитание);
КонецЕсли;
ROW.REF_NPAY_OTHER_NO = СтруктураДанных.НомерСправкиОтДругогоРодителя;
ROW.REF_NPAY_OTHER_DT = XMLДатаДляРеестра(СтруктураДанных.ДатаСправкиОтДругогоРодителя);
КонецЕсли;
Если СтруктураДанных.ВидВыплаты = "2" Или СтруктураДанных.ВидВыплаты = "5" Тогда
ROW.HOLID_DT_ST = XMLДатаДляРеестра(СтруктураДанных.ДатаНачала);
ROW.HOLID_DT_FN = XMLДатаДляРеестра(СтруктураДанных.ДатаОкончания);
ROW.HOLID_ORD_NO = СтруктураДанных.НомерПриказаНаОтпускПоУходуЗаРебенком;
ROW.HOLID_ORD_DT = XMLДатаДляРеестра(СтруктураДанных.ДатаПриказаНаОтпускПоУходуЗаРебенком);
КонецЕсли;
Если СтруктураДанных.ВидВыплаты = "4" Или СтруктураДанных.ВидВыплаты = "5" Тогда
ROW.CERT_BR = XMLДатаДляРеестра(СтруктураДанных.ДатаРожденияРебенка);
ROW.CERT_SURNAME = СтруктураДанных.ФамилияРебенка;
ROW.CERT_NAME = СтруктураДанных.ИмяРебенка;
ROW.CERT_PATRONIMIC = СтруктураДанных.ОтчествоРебенка;
Если ЗначениеЗаполнено(СтруктураДанных.УсыновлениеОпека) Тогда
ROW.WARD_FLAG = СтруктураДанных.УсыновлениеОпека;
ROW.WARD_REF_NO = СтруктураДанных.УсыновлениеОпекаСерияНомер;
ROW.WARD_REF_DT = XMLДатаДляРеестра(СтруктураДанных.УсыновлениеОпекаДатаВыдачи);
КонецЕсли;
КонецЕсли;
Если СтруктураДанных.ВидВыплаты = "5" Тогда
ROW.MULTPATR = Число(СтруктураДанных.ОдновременныйУходЗаНесколькимиДетьми);
ROW.CHILD_SER = СтруктураДанных.Очередность;
ROW.MH_OUT = Число(СтруктураДанных.НаличиеРешенияСудаОЛишенииПрав);
ROW.OTHER_CHILD_FLAG_DT = Число(СтруктураДанных.НаличиеСвидетельстваОСмертиПредыдущихДетей);
ROW.OTHER_CHILD_FLAG_BR = Число(СтруктураДанных.НаличиеОдногоИзДокументовНаПредыдущихДетей);
Если СтруктураДанных.ВидПодтверждающегоДокумента = Перечисления.ВидыПодтверждающихДокументовОтпускаПоУходу.СвидетельствоОРождении Тогда
ROW.CERT_NO = СокрЛПД(СтруктураДанных.СерияНомерПодтверждающегоДокумента);
ROW.CERT_DT = XMLДатаДляРеестра(СтруктураДанных.ДатаПодтверждающегоДокумента);
ИначеЕсли ЗначениеЗаполнено(СтруктураДанных.ДатаПодтверждающегоДокумента)
И СтруктураДанных.ВидПодтверждающегоДокумента <> Перечисления.ВидыПодтверждающихДокументовОтпускаПоУходу.РешениеОбУстановленииОпеки Тогда
ROW.O_CERT_NO = СокрЛПД(СтруктураДанных.СерияНомерПодтверждающегоДокумента);
ROW.O_CERT_DT = XMLДатаДляРеестра(СтруктураДанных.ДатаПодтверждающегоДокумента);
Иначе
ROW.O_CERT_NO = ?(ЗначениеЗаполнено(СтруктураДанных.НомерИногоПодтвержденияРождения),
СокрЛПД(СтруктураДанных.НомерИногоПодтвержденияРождения),
"00000000");
ROW.O_CERT_DT = ?(ЗначениеЗаполнено(СтруктураДанных.ДатаИногоПодтвержденияРождения),
XMLДатаДляРеестра(СтруктураДанных.ДатаИногоПодтвержденияРождения),
XMLДатаДляРеестра(СтруктураДанных.ДатаРожденияРебенка));
КонецЕсли;
Если СтруктураДанных.ОдновременныйУходЗаНесколькимиДетьми Тогда
ROW.AVG_SAL = Окр(СтруктураДанных.СреднийЗаработокЗаРасчетныйПериод * 30.4, 2);
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.НомерПриказаОЗаменеПослеродовогоОтпуска) И ЗначениеЗаполнено(СтруктураДанных.ДатаПриказаОЗаменеПослеродовогоОтпуска) Тогда
ROW.HOLID_CH_ORD_NO = СтруктураДанных.НомерПриказаОЗаменеПослеродовогоОтпуска;
ROW.HOLID_CH_ORD_DT = XMLДатаДляРеестра(СтруктураДанных.ДатаПриказаОЗаменеПослеродовогоОтпуска);
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.НомерСправкиОНеполученииПособияОтОтца) И ЗначениеЗаполнено(СтруктураДанных.ДатаСправкиОНеполученииПособияОтОтца) Тогда
ROW.REF_NPAY_FATHER_NO = СтруктураДанных.НомерСправкиОНеполученииПособияОтОтца;
ROW.REF_NPAY_FATHER_DT = XMLДатаДляРеестра(СтруктураДанных.ДатаСправкиОНеполученииПособияОтОтца);
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.НомерСправкиОНеполученииПособияОтМатери) И ЗначениеЗаполнено(СтруктураДанных.ДатаСправкиОНеполученииПособияОтМатери) Тогда
ROW.REF_NPAY_MOTHER_NO = СтруктураДанных.НомерСправкиОНеполученииПособияОтМатери;
ROW.REF_NPAY_MOTHER_DT = XMLДатаДляРеестра(СтруктураДанных.ДатаСправкиОНеполученииПособияОтМатери);
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.НомерСправкиПоДругимМестамРаботы) И ЗначениеЗаполнено(СтруктураДанных.ДатаСправкиПоДругимМестамРаботы) Тогда
ROW.REF_NPAY_WORK_NO = СтруктураДанных.НомерСправкиПоДругимМестамРаботы;
ROW.REF_NPAY_WORK_DT = XMLДатаДляРеестра(СтруктураДанных.ДатаСправкиПоДругимМестамРаботы);
КонецЕсли;
УстановитьДатуЕслиЗаполнена(ROW.CERT_DT_DATE, СтруктураДанных.ДатаСмертиРебенка);
Если ЗначениеЗаполнено(СтруктураДанных.ФинансированиеФедеральнымБюджетом)
И НЕ СтруктураДанных.ФинансированиеФедеральнымБюджетом = Перечисления.ОснованияФинансированияПособияФедеральнымБюджетом.ЗачетНестраховыхПериодов
И ЗначениеЗаполнено(СтруктураДанных.ПроживаниеРаботаВЛьготнойЗоне)
И НЕ СтруктураДанных.ПроживаниеРаботаВЛьготнойЗоне = Перечисления.ОтношениеКОсобойЗоне.Нет Тогда
Если СтруктураДанных.ПроживаниеРаботаВЛьготнойЗоне = Перечисления.ОтношениеКОсобойЗоне.Проживает Тогда
ROW.LIVE_COND_FLAG = 1;
ИначеЕсли СтруктураДанных.ПроживаниеРаботаВЛьготнойЗоне = Перечисления.ОтношениеКОсобойЗоне.Работает Тогда
ROW.LIVE_COND_FLAG = 2;
КонецЕсли;
Если СтруктураДанных.СтатусЛьготнойЗоны = Перечисления.ВидыОсобойЗоныПроживанияРаботы.ЗонаСПравомНаОтселение Тогда
ROW.LIVE_COND = 1;
ИначеЕсли СтруктураДанных.СтатусЛьготнойЗоны = Перечисления.ВидыОсобойЗоныПроживанияРаботы.ЗонаОтселения Тогда
ROW.LIVE_COND = 3;
ИначеЕсли СтруктураДанных.СтатусЛьготнойЗоны = Перечисления.ВидыОсобойЗоныПроживанияРаботы.ЗонаСЛьготнымСоциальноЭкономическимСтатусом Тогда
ROW.LIVE_COND = 2;
ИначеЕсли СтруктураДанных.СтатусЛьготнойЗоны = Перечисления.ВидыОсобойЗоныПроживанияРаботы.ЗонаЗагрязненияПриАварииПОМаяк Тогда
ROW.LIVE_COND = 4;
КонецЕсли;
ЗаполнитьПричинуРадиационногоВоздействия(ROW, СтруктураДанных);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Функция ФорматНомераЛНСоответствуетКоду2(НомерЛН) Экспорт
Возврат СтрДлина(НомерЛН) = 15 И СтрНачинаетсяС(НомерЛН, "#");
КонецФункции
Функция ЗаполнитьСправкуОПостановкеНаУчетВРанниеСрокиБеременности(ROW, СтруктураДанных)
Если СтруктураДанных.ВидВыплаты = "3" Тогда
ROW.PREGN12W_FLAG = 1;
ROW.REF_12WEEK_NO = СтруктураДанных.НомерСправкиБеременной;
ROW.REF_12WEEK_DT = XMLДатаДляРеестра(СтруктураДанных.ДатаСправкиБеременной);
ИначеЕсли СтруктураДанных.ВидВыплаты = "2" Тогда
Если СтруктураДанных.ПоставленаНаУчетВРанниеСрокиБеременности = Перечисления.ПостановкаНаУчетВРанниеСрокиБеременности.Поставлена Тогда
ROW.PREGN12W_FLAG = 1;
ROW.REF_12WEEK_NO = СтруктураДанных.НомерСправкиБеременной;
ROW.REF_12WEEK_DT = XMLДатаДляРеестра(СтруктураДанных.ДатаСправкиБеременной);
ИначеЕсли СтруктураДанных.ПоставленаНаУчетВРанниеСрокиБеременности = Перечисления.ПостановкаНаУчетВРанниеСрокиБеременности.НеПоставлена Тогда
ROW.PREGN12W_FLAG = 0;
Иначе
ROW.PREGN12W_FLAG = 2;
КонецЕсли;
КонецЕсли;
КонецФункции
Процедура ЗаполнитьСведенияОЛисткеНетрудоспособностиВСтрокеРеестра(ROW, СтруктураДанных)
Если Не ТребуетсяЗаполнитьСведенияОЛисткеНетрудоспособности(СтруктураДанных) Тогда
Возврат;
КонецЕсли;
Если Не ЭтоСведенияОЛисткеНетрудоспособности(СтруктураДанных) Тогда
Возврат;
КонецЕсли;
ROW.LN_DATE = XMLДатаДляРеестра(СтруктураДанных.ДатаВыдачиЛисткаНетрудоспособности);
Если ЗначениеЗаполнено(СтруктураДанных.НомерПервичногоЛисткаНетрудоспособности) Тогда
ROW.PREV_LN_CODE = СтруктураДанных.НомерПервичногоЛисткаНетрудоспособности;
ROW.PRIMARY_FLAG = 0;
Иначе
ROW.PRIMARY_FLAG = 1;
КонецЕсли;
ROW.DUPLICATE_FLAG = Число(СтруктураДанных.ПредоставленДубликатЛисткаНетрудоспособности);
ROW.LPU_NAME = СтруктураДанных.НаименованиеМедицинскойОрганизации;
ROW.LPU_OGRN = СтруктураДанных.ОГРНМедицинскойОрганизации;
ROW.LPU_ADDRESS = СтруктураДанных.АдресМедицинскойОрганизации;
ROW.REASON1 = СтруктураДанных.КодПричиныНетрудоспособности;
ROW.REASON2 = СтруктураДанных.ДополнительныйКодПричиныНетрудоспособности;
ROW.REASON3 = СтруктураДанных.ВторойКодПричиныНетрудоспособности;
Если СтруктураДанных.Совместительство Тогда
ROW.PARENT_CODE = СтруктураДанных.НомерЛисткаПоОсновномуМестуРаботы;
КонецЕсли;
Если СтруктураДанных.ВидВыплаты = "1" Или СтруктураДанных.ВидВыплаты = "2" Тогда
ROW.DATE1 = XMLДатаДляРеестра(СтруктураДанных.ДатаИзмененияКодаПричиныНетрудоспособности);
ROW.DATE2 = XMLДатаДляРеестра(СтруктураДанных.ДатаОкончанияПутевки);
ROW.VOUCHER_NO = СтруктураДанных.НомерПутевки;
Если ЗначениеЗаполнено(СтруктураДанных.ОГРН_Санатория) Тогда
ROW.VOUCHER_OGRN = СтруктураДанных.ОГРН_Санатория;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ПоУходуФИО1) Тогда
ROW.SERV1_AGE = СтруктураДанных.ПоУходуВозрастЛет1;
ROW.SERV1_MM = СтруктураДанных.ПоУходуВозрастМесяцев1;
ROW.SERV1_RELATION_CODE = СтруктураДанных.ПоУходуРодственнаяСвязь1;
ROW.SERV1_FIO = СтруктураДанных.ПоУходуФИО1;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ПоУходуФИО2) Тогда
ROW.SERV2_AGE = СтруктураДанных.ПоУходуВозрастЛет2;
ROW.SERV2_MM = СтруктураДанных.ПоУходуВозрастМесяцев2;
ROW.SERV2_RELATION_CODE = СтруктураДанных.ПоУходуРодственнаяСвязь2;
ROW.SERV2_FIO = СтруктураДанных.ПоУходуФИО2;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ПериодНахожденияВСтационареСРебенкомС)
Или ЗначениеЗаполнено(СтруктураДанных.ПериодНахожденияВСтационареСРебенкомПо) Тогда
ROW.HOSPITAL_DT1 = XMLДатаДляРеестра(СтруктураДанных.ПериодНахожденияВСтационареСРебенкомС);
ROW.HOSPITAL_DT2 = XMLДатаДляРеестра(СтруктураДанных.ПериодНахожденияВСтационареСРебенкомПо);
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.КодНарушенияРежима)
И ЗначениеЗаполнено(СтруктураДанных.ДатаНарушенияРежима) Тогда
ROW.HOSPITAL_BREACH_CODE = СтруктураДанных.КодНарушенияРежима;
ROW.HOSPITAL_BREACH_DT = XMLДатаДляРеестра(СтруктураДанных.ДатаНарушенияРежима);
КонецЕсли;
ROW.MSE_DT1 = XMLДатаДляРеестра(СтруктураДанных.ДатаНаправленияВБюроМСЭ);
ROW.MSE_DT2 = XMLДатаДляРеестра(СтруктураДанных.ДатаРегистрацииДокументовМСЭ);
ROW.MSE_DT3 = XMLДатаДляРеестра(СтруктураДанных.ДатаОсвидетельствованияМСЭ);
Если ЗначениеЗаполнено(СтруктураДанных.ГруппаИнвалидности) Тогда
ROW.MSE_INVALID_GROUP = СтруктураДанных.ГруппаИнвалидности;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.НовыйСтатусНетрудоспособного) Тогда
ROW.MSE_RESULT = СтруктураДанных.НовыйСтатусНетрудоспособного;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеДатаНачала1)
Или ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеДатаОкончания1) Тогда
ROW.TREAT1_DT1 = XMLДатаДляРеестра(СтруктураДанных.ОсвобождениеДатаНачала1);
ROW.TREAT1_DT2 = XMLДатаДляРеестра(СтруктураДанных.ОсвобождениеДатаОкончания1);
ROW.TREAT1_DOCTOR_ROLE = СтруктураДанных.ОсвобождениеДолжностьВрача1;
ROW.TREAT1_DOCTOR = СтруктураДанных.ОсвобождениеФИОВрача1;
ROW.TREAT1_DOC_ID = СтруктураДанных.ОсвобождениеИдентификационныйНомерВрача1;
Если ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеДолжностьВрачаПредседателяВК1)
Или ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеФИОВрачаПредседателяВК1)
Или ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеИдентификационныйНомерВрачаПредседателяВК1) Тогда
ROW.TREAT1_DOCTOR2_ROLE = "ПРЕД ВК";
ROW.TREAT1_CHAIRMAN_VK = СтруктураДанных.ОсвобождениеФИОВрачаПредседателяВК1;
ROW.TREAT1_DOC2_ID = СтруктураДанных.ОсвобождениеИдентификационныйНомерВрачаПредседателяВК1;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеДатаНачала2) Или ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеДатаОкончания2) Тогда
ROW.TREAT2_DT1 = XMLДатаДляРеестра(СтруктураДанных.ОсвобождениеДатаНачала2);
ROW.TREAT2_DT2 = XMLДатаДляРеестра(СтруктураДанных.ОсвобождениеДатаОкончания2);
ROW.TREAT2_DOCTOR_ROLE = СтруктураДанных.ОсвобождениеДолжностьВрача2;
ROW.TREAT2_DOCTOR = СтруктураДанных.ОсвобождениеФИОВрача2;
ROW.TREAT2_DOC_ID = СтруктураДанных.ОсвобождениеИдентификационныйНомерВрача2;
Если ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеДолжностьВрачаПредседателяВК2)
Или ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеФИОВрачаПредседателяВК2)
Или ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеИдентификационныйНомерВрачаПредседателяВК2) Тогда
ROW.TREAT2_DOCTOR2_ROLE = "ПРЕД ВК";
ROW.TREAT2_CHAIRMAN_VK = СтруктураДанных.ОсвобождениеФИОВрачаПредседателяВК2;
ROW.TREAT2_DOC2_ID = СтруктураДанных.ОсвобождениеИдентификационныйНомерВрачаПредседателяВК2;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеДатаНачала3) Или ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеДатаОкончания3) Тогда
ROW.TREAT3_DT1 = XMLДатаДляРеестра(СтруктураДанных.ОсвобождениеДатаНачала3);
ROW.TREAT3_DT2 = XMLДатаДляРеестра(СтруктураДанных.ОсвобождениеДатаОкончания3);
ROW.TREAT3_DOCTOR_ROLE = СтруктураДанных.ОсвобождениеДолжностьВрача3;
ROW.TREAT3_DOCTOR = СтруктураДанных.ОсвобождениеФИОВрача3;
ROW.TREAT3_DOC_ID = СтруктураДанных.ОсвобождениеИдентификационныйНомерВрача3;
Если ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеДолжностьВрачаПредседателяВК3)
Или ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеФИОВрачаПредседателяВК3)
Или ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеИдентификационныйНомерВрачаПредседателяВК3) Тогда
ROW.TREAT3_DOCTOR2_ROLE = "ПРЕД ВК";
ROW.TREAT3_CHAIRMAN_VK = СтруктураДанных.ОсвобождениеФИОВрачаПредседателяВК3;
ROW.TREAT3_DOC2_ID = СтруктураДанных.ОсвобождениеИдентификационныйНомерВрачаПредседателяВК3;
КонецЕсли;
КонецЕсли;
ROW.OTHER_STATE_DT = XMLДатаДляРеестра(СтруктураДанных.ДатаНовыйСтатусНетрудоспособного);
ROW.RETURN_DATE_LPU = XMLДатаДляРеестра(СтруктураДанных.ПриступитьКРаботеС);
УстановитьЗначениеЕслиЗаполнено(ROW.NEXT_LN_CODE, СтруктураДанных.НомерЛисткаПродолжения);
КонецПроцедуры
Функция ЭтоСведенияОЛисткеНетрудоспособности(СтруктураДанных)
Возврат СтруктураДанных.ВидВыплаты = "1"
Или СтруктураДанных.ВидВыплаты = "2"
Или СтруктураДанных.ВидВыплаты = "6";
КонецФункции
Функция ТребуетсяЗаполнитьСведенияОЛисткеНетрудоспособности(СтруктураДанных) Экспорт
Возврат Не СтруктураДанных.ЭтоЭЛН
Или СтрНачинаетсяС(СтруктураДанных.НомерЛисткаНетрудоспособности, "9990");
КонецФункции
Процедура ЗаполнитьКоличествоОплаченныхДнейНетрудоспособностиИнвалида(ROW, СтруктураДанных)
Если Не ЭтоСведенияОЛисткеНетрудоспособности(СтруктураДанных) Тогда
Возврат;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.КоличествоОплаченныхДнейНетрудоспособностиИнвалида)
Или СтруктураДанных.УсловияИсчисленияКод1 = "45"
Или СтруктураДанных.УсловияИсчисленияКод2 = "45"
Или СтруктураДанных.УсловияИсчисленияКод3 = "45"
Или СтруктураДанных.УсловияИсчисленияКод1 = "49"
Или СтруктураДанных.УсловияИсчисленияКод2 = "49"
Или СтруктураДанных.УсловияИсчисленияКод3 = "49"
Или СтруктураДанных.УсловияИсчисленияКод1 = "50"
Или СтруктураДанных.УсловияИсчисленияКод2 = "50"
Или СтруктураДанных.УсловияИсчисленияКод3 = "50" Тогда
ROW.MSE_INVALID_DAYS = СтруктураДанных.КоличествоОплаченныхДнейНетрудоспособностиИнвалида;
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьИсключаемыеПериодыВСтрокеРеестра(ROW, ВыборкаСтрок, ИсключаемыеПериоды)
Фильтр = Новый Структура("ПервичныйДокумент", ВыборкаСтрок.ПервичныйДокумент);
Найденные = ИсключаемыеПериоды.НайтиСтроки(Фильтр);
Если Найденные.Количество() = 0 Тогда
Возврат;
КонецЕсли;
PERIODS_EXCL = ФабрикаXDTO.Создать(ROW.Свойства().Получить("PERIODS_EXCL").Тип);
ТипPERIOD = PERIODS_EXCL.Свойства().Получить("PERIOD_EXCL").Тип;
ИсключаемыеПериодыСтроки = ИсключаемыеПериоды.Скопировать(Найденные);
ИсключаемыеПериодыСтроки.Сортировать("ДатаНачала");
Для Каждого Период Из ИсключаемыеПериодыСтроки Цикл
ПричинаЧислом = Перечисления.ПричиныНеоплатыБольничных.ЗначениеЧислом(Период.Причина);
Если ПричинаЧислом = Неопределено Тогда
Текст = НСтр("ru = 'В документе %1 не заполнена причина исключения периода оплаты'");
СообщенияБЗК.СообщитьОПроблеме(Текст, Период.ПервичныйДокумент, "Объект.НазначитьПособие");
Продолжить;
КонецЕсли;
PERIOD_EXCL = ФабрикаXDTO.Создать(ТипPERIOD);
PERIOD_EXCL.TYPE_EXCL = ПричинаЧислом;
PERIOD_EXCL.START_DATE_EXCL = XMLДатаДляРеестра(Период.ДатаНачала);
PERIOD_EXCL.END_DATE_EXCL = XMLДатаДляРеестра(Период.ДатаОкончания);
PERIODS_EXCL.PERIOD_EXCL.Добавить(PERIOD_EXCL);
КонецЦикла;
ROW.PERIODS_EXCL.Добавить(PERIODS_EXCL);
КонецПроцедуры
Процедура ЗаполнитьПриостановленияТДВСтрокеРеестра(ROW, ВыборкаСтрок, ПриостановленияТД)
Если ВыборкаСтрок.КодНаличияПриостановленийТД = "" Тогда
Возврат;
КонецЕсли;
ROW.MOBIL_FLAG = ВыборкаСтрок.КодНаличияПриостановленийТД;
Если ВыборкаСтрок.КодНаличияПриостановленийТД = "1" Тогда
Фильтр = Новый Структура("Заявление", ВыборкаСтрок.Заявление);
Найденные = ПриостановленияТД.НайтиСтроки(Фильтр);
Иначе
Найденные = Новый Массив;
КонецЕсли;
Если Найденные.Количество() = 0 Тогда
ROW.MOBIL_PERIODS.Добавить(Неопределено);
Возврат;
КонецЕсли;
MOBIL_PERIODS = ФабрикаXDTO.Создать(ROW.Свойства().Получить("MOBIL_PERIODS").Тип);
ТипPERIOD = MOBIL_PERIODS.Свойства().Получить("PERIOD").Тип;
ПриостановленияТДСтроки = ПриостановленияТД.Скопировать(Найденные);
ПриостановленияТДСтроки.Сортировать("ДатаНачала");
Для Каждого Период Из ПриостановленияТДСтроки Цикл
ТипСтрокой = Перечисления.ОснованияПриостановленияТрудовыхДоговоровСФР.ЗначениеВСтрокуСЭДОXML(Период.ОснованиеНПА);
Если Не ЗначениеЗаполнено(Период.ДатаНачала)
Или Не ЗначениеЗаполнено(Период.ДатаОкончания)
Или Не ЗначениеЗаполнено(ТипСтрокой) Тогда
Продолжить;
КонецЕсли;
PERIOD = ФабрикаXDTO.Создать(ТипPERIOD);
PERIOD.START_DATE = XMLДатаДляРеестра(Период.ДатаНачала);
PERIOD.END_DATE = XMLДатаДляРеестра(Период.ДатаОкончания);
PERIOD.PERIOD_NAME = ТипСтрокой;
MOBIL_PERIODS.PERIOD.Добавить(PERIOD);
КонецЦикла;
ROW.MOBIL_PERIODS.Добавить(MOBIL_PERIODS);
КонецПроцедуры
Процедура ЗаполнитьСведенияПо20ФЗВСтрокеРеестра(ROW, ВыборкаСтрок)
Если ЗначениеЗаполнено(ВыборкаСтрок.LocationCode) Или ВыборкаСтрок.IsDelivery Тогда
ROW.LOCATION_CODE = ВыборкаСтрок.LocationCode;
ROW.IS_DELIVERY = Формат(ВыборкаСтрок.IsDelivery, "БЛ=0; БИ=1");
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьПричинуРадиационногоВоздействия(ROW, СтруктураДанных)
Если СтруктураДанных.ФинансированиеФедеральнымБюджетом = Перечисления.ОснованияФинансированияПособияФедеральнымБюджетом.Чернобыль Тогда
ROW.CODE_NUCLEAR = 1;
ИначеЕсли СтруктураДанных.ФинансированиеФедеральнымБюджетом = Перечисления.ОснованияФинансированияПособияФедеральнымБюджетом.Семипалатинск Тогда
ROW.CODE_NUCLEAR = 2;
ИначеЕсли СтруктураДанных.ФинансированиеФедеральнымБюджетом = Перечисления.ОснованияФинансированияПособияФедеральнымБюджетом.Маяк Тогда
ROW.CODE_NUCLEAR = 3;
ИначеЕсли СтруктураДанных.ФинансированиеФедеральнымБюджетом = Перечисления.ОснованияФинансированияПособияФедеральнымБюджетом.ПодразделенияОсобогоРиска Тогда
ROW.CODE_NUCLEAR = 4;
КонецЕсли;
КонецПроцедуры
Процедура УстановитьЗначениеЕслиЗаполнено(ИзменяемоеЗначение, Значение)
Если ЗначениеЗаполнено(Значение) Тогда
ИзменяемоеЗначение = Значение;
КонецЕсли;
КонецПроцедуры
Процедура УстановитьДатуЕслиЗаполнена(ИзменяемоеЗначение, Дата) Экспорт
Если ЗначениеЗаполнено(Дата) Тогда
ИзменяемоеЗначение = Формат(Дата, "ДФ=yyyy-MM-dd");
КонецЕсли;
КонецПроцедуры
Функция XMLДатаДляРеестра(Дата)
Возврат ?(ЗначениеЗаполнено(Дата), Формат(Дата, "ДФ=yyyy-MM-dd"), "");
КонецФункции
Функция ИдентификаторФСС(Реестр) Экспорт
РегистрационныйНомерФСС = УчетПособийСоциальногоСтрахованияКлиентСервер.РегистрационныйНомерДляОбменаФСС(Реестр);
ДатаРеестра = Формат(Реестр.Дата, "ДФ=yyyy_MM_dd");
НомерРеестра = НомерРеестраДляВыгрузкиВФайл(Реестр, Ложь);
Возврат "E_" + РегистрационныйНомерФСС + "_" + ДатаРеестра + "_" + НомерРеестра;
КонецФункции
Функция НомерРеестраДляВыгрузкиВФайл(Реестр, Отказ) Экспорт
НомерЧислом = СтроковыеФункцииБЗККлиентСервер.НомерОбъектаЧислом(Реестр.Номер);
Если НомерЧислом = Неопределено Тогда
ШаблонОшибки = НСтр("ru = 'Номер реестра прямых выплат %1 от %2 не удалось преобразовать в число. Проверьте наличие числа в номере и корректность префиксов или свяжитесь со специалистом.'");
ИначеЕсли НомерЧислом > 9999 Тогда
ШаблонОшибки = НСтр("ru = 'Номер реестра прямых выплат %1 от %2 больше 9999. Перенесите документ на другую дату.'");
ИначеЕсли НомерЧислом < 1 Тогда
ШаблонОшибки = НСтр("ru = 'Номер реестра прямых выплат %1 от %2 меньше 1. Проверьте корректность номера и префиксов или свяжитесь со специалистом.'");
Иначе
Возврат Формат(НомерЧислом, "ЧЦ=4; ЧВН=; ЧГ=");
КонецЕсли;
ТекстОшибки = СтрШаблон(ШаблонОшибки, Реестр.Номер, Реестр.Дата);
Объект = ?(ТипЗнч(Реестр) = Тип("ВыборкаИзРезультатаЗапроса"), Реестр.Ссылка, Реестр);
СообщенияБЗК.СообщитьОбОшибкеВОбъекте(Отказ, Объект, ТекстОшибки, "Номер");
Возврат Прав("0000" + СокрЛП(Реестр.Номер), 4);
КонецФункции
Функция ЗапросПоШапкеРеестра(Ссылки)
Запрос = Новый Запрос();
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокументов.Ссылка КАК Ссылка,
| ДанныеДокументов.Дата КАК Дата,
| ДанныеДокументов.Организация КАК Организация,
| ДанныеДокументов.РегистрационныйНомерФСС КАК РегистрационныйНомерФСС,
| ДанныеДокументов.ДополнительныйКодФСС КАК ДополнительныйКодФСС,
| ДанныеДокументов.КодПодчиненностиФСС КАК КодПодчиненностиФСС,
| ДанныеДокументов.Руководитель КАК Руководитель,
| ДанныеДокументов.ГлавныйБухгалтер КАК ГлавныйБухгалтер,
| ДанныеДокументов.РеестрСоставил КАК РеестрСоставил,
| ДанныеДокументов.ТелефонСоставителя КАК ТелефонСоставителя,
| ДанныеДокументов.АдресЭлектроннойПочтыСоставителя КАК АдресЭлектроннойПочтыСоставителя,
| Должности.Наименование КАК ДолжностьРуководителя,
| ДанныеДокументов.ОГРН КАК ОГРНОрганизации,
| ДанныеДокументов.ИНН КАК ИННОрганизации,
| ДанныеДокументов.КПП КАК КППОрганизации,
| ВЫБОР
| КОГДА (ВЫРАЗИТЬ(ДанныеДокументов.Организация.НаименованиеСокращенное КАК СТРОКА(100))) = """"
| ТОГДА ДанныеДокументов.Организация.НаименованиеПолное
| ИНАЧЕ ДанныеДокументов.Организация.НаименованиеСокращенное
| КОНЕЦ КАК ОрганизацияСокращенно,
| ДанныеДокументов.ИдентификаторФСС КАК ИдентификаторФСС,
| ДанныеДокументов.Номер КАК Номер,
| ДанныеДокументов.ВидРеестра КАК ВидРеестра
|ПОМЕСТИТЬ ВТДанныеДокументов
|ИЗ
| Документ.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий КАК ДанныеДокументов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Должности КАК Должности
| ПО ДанныеДокументов.ДолжностьРуководителя = Должности.Ссылка
|ГДЕ
| ДанныеДокументов.Ссылка В(&Ссылки)";
Запрос.УстановитьПараметр("Ссылки", Ссылки);
Запрос.Выполнить();
ЗарплатаКадры.СоздатьВТФИООтветственныхЛиц(Запрос.МенеджерВременныхТаблиц, Ложь, "РеестрСоставил,Руководитель,ГлавныйБухгалтер", "ВТДанныеДокументов");
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокументов.Ссылка КАК Ссылка,
| ДанныеДокументов.ВидРеестра КАК ВидРеестра,
| ДанныеДокументов.Дата КАК Дата,
| ДанныеДокументов.Номер КАК Номер,
| ДанныеДокументов.Организация КАК Организация,
| ДанныеДокументов.ИдентификаторФСС КАК ИдентификаторФСС,
| ДанныеДокументов.РегистрационныйНомерФСС КАК РегистрационныйНомерФСС,
| ДанныеДокументов.ДополнительныйКодФСС КАК ДополнительныйКодФСС,
| ДанныеДокументов.КодПодчиненностиФСС КАК КодПодчиненностиФСС,
| ДанныеДокументов.Руководитель КАК Руководитель,
| ДанныеДокументов.ГлавныйБухгалтер КАК ГлавныйБухгалтер,
| ДанныеДокументов.РеестрСоставил КАК РеестрСоставил,
| ДанныеДокументов.ТелефонСоставителя КАК ТелефонСоставителя,
| ДанныеДокументов.АдресЭлектроннойПочтыСоставителя КАК АдресЭлектроннойПочтыСоставителя,
| ДанныеДокументов.ДолжностьРуководителя КАК ДолжностьРуководителя,
| ДанныеДокументов.ОГРНОрганизации КАК ОГРНОрганизации,
| ДанныеДокументов.ИННОрганизации КАК ИННОрганизации,
| ДанныеДокументов.КППОрганизации КАК КППОрганизации,
| ДанныеДокументов.ОрганизацияСокращенно КАК ОрганизацияСокращенно,
| ФИООтветственныхЛицСоставитель.ФИОПолные КАК ФИОСоставителя,
| ФИООтветственныхЛицРуководитель.ФИОПолные КАК ФИОРуководителя,
| ФИООтветственныхЛицГлавныйБухгалтер.ФИОПолные КАК ФИОГлавногоБухгалтера
|ИЗ
| ВТДанныеДокументов КАК ДанныеДокументов
| ЛЕВОЕ СОЕДИНЕНИЕ ВТФИООтветственныхЛиц КАК ФИООтветственныхЛицСоставитель
| ПО ДанныеДокументов.Ссылка = ФИООтветственныхЛицСоставитель.Ссылка
| И ДанныеДокументов.РеестрСоставил = ФИООтветственныхЛицСоставитель.ФизическоеЛицо
| ЛЕВОЕ СОЕДИНЕНИЕ ВТФИООтветственныхЛиц КАК ФИООтветственныхЛицРуководитель
| ПО ДанныеДокументов.Ссылка = ФИООтветственныхЛицРуководитель.Ссылка
| И ДанныеДокументов.Руководитель = ФИООтветственныхЛицРуководитель.ФизическоеЛицо
| ЛЕВОЕ СОЕДИНЕНИЕ ВТФИООтветственныхЛиц КАК ФИООтветственныхЛицГлавныйБухгалтер
| ПО ДанныеДокументов.Ссылка = ФИООтветственныхЛицГлавныйБухгалтер.Ссылка
| И ДанныеДокументов.ГлавныйБухгалтер = ФИООтветственныхЛицГлавныйБухгалтер.ФизическоеЛицо
|
|УПОРЯДОЧИТЬ ПО
| Ссылка";
Возврат Запрос;
КонецФункции
Функция ЗапросПоСтрокамРеестра(Реестр)
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", Реестр.Ссылка);
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| Пособия.Заявление.ПервыйРасчетныйГод КАК Год
|ИЗ
| Документ.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий.СведенияНеобходимыеДляНазначенияПособий КАК Пособия
|ГДЕ
| Пособия.Ссылка = &Ссылка
| И Пособия.Заявление.ПервыйРасчетныйГод <> 0
|
|УПОРЯДОЧИТЬ ПО
| Год";
МинимальныйГод = Запрос.Выполнить().Выгрузить();
Если МинимальныйГод.Количество() = 0 Тогда
ИзмеренияГоды = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Год(ТекущаяДатаСеанса()));
Иначе
ИзмеренияГоды = Новый Массив;
ТекущийГод = МинимальныйГод[0].Год;
Пока ТекущийГод <= Год(ТекущаяДатаСеанса()) Цикл
ИзмеренияГоды.Добавить(ТекущийГод);
ТекущийГод = ТекущийГод + 1;
КонецЦикла;
КонецЕсли;
УчетПособийСоциальногоСтрахования.СоздатьВТПредельнаяВеличинаБазы(Запрос.МенеджерВременныхТаблиц, ИзмеренияГоды);
Запрос.УстановитьПараметр("ПустаяДата", '00010101');
Запрос.УстановитьПараметр("ТаблицаВидовВыплат", ТаблицаВидовВыплат());
Запрос.Текст =
"ВЫБРАТЬ
| ТаблицаВидовВыплат.ВидПособия КАК ВидПособия,
| ТаблицаВидовВыплат.ВидВыплаты КАК ВидВыплаты
|ПОМЕСТИТЬ ВТВидыВыплат
|ИЗ
| &ТаблицаВидовВыплат КАК ТаблицаВидовВыплат
|;
|
|
|ВЫБРАТЬ
| Пособия.ПервичныйДокумент КАК ПервичныйДокумент,
| ЗаявлениеСотрудника.ФамилияПолучателя + "" "" + ЗаявлениеСотрудника.ИмяПолучателя + "" "" + ЗаявлениеСотрудника.ОтчествоПолучателя КАК ФИОСотрудника,
| ЗаявлениеСотрудника.ДатаРожденияПолучателя КАК ДатаРождения,
| ЗаявлениеСотрудника.Гражданство КАК Гражданство,
| ЕСТЬNULL(ЗаявлениеСотрудника.Гражданство.Код, ""999"") КАК КодСтраны,
| ВЫБОР
| КОГДА ЗаявлениеСотрудника.ТипЗанятостиРаботника = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятости.ОсновноеМестоРаботы)
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК Совместительство,
| ЗаявлениеСотрудника.СпособВыплатыПособия КАК СпособВыплатыПособия,
| ЗаявлениеСотрудника.НаименованиеБанка КАК НаименованиеБанка,
| ЗаявлениеСотрудника.Банк КАК Банк,
| ЗаявлениеСотрудника.БИКБанка КАК БИКБанка,
| ЗаявлениеСотрудника.НомерЛицевогоСчета КАК НомерЛицевогоСчета,
| ЗаявлениеСотрудника.КартаМИР КАК КартаМИР,
| ЗаявлениеСотрудника.ТелефонПолучателя КАК ТелефонПолучателя,
| ЗаявлениеСотрудника.АдресПолучателяРегистрации КАК АдресПолучателяРегистрации,
| ЗаявлениеСотрудника.АдресПолучателяРегистрацииИдентификаторФИАС КАК АдресПолучателяРегистрацииИдентификаторФИАС,
| ЗаявлениеСотрудника.АдресПолучателяРегистрацииКодКЛАДР КАК АдресПолучателяРегистрацииКодКЛАДР,
| ЗаявлениеСотрудника.АдресПолучателяФактический КАК АдресПолучателяФактический,
| ЗаявлениеСотрудника.АдресПолучателяФактическийИдентификаторФИАС КАК АдресПолучателяФактическийИдентификаторФИАС,
| ЗаявлениеСотрудника.АдресПолучателяФактическийКодКЛАДР КАК АдресПолучателяФактическийКодКЛАДР,
| ЗаявлениеСотрудника.ФамилияПолучателя КАК Фамилия,
| ЗаявлениеСотрудника.ИмяПолучателя КАК Имя,
| ЗаявлениеСотрудника.ОтчествоПолучателя КАК Отчество,
| ЗаявлениеСотрудника.СчитатьПоПравилам2010Года КАК СчитатьПоПравилам2010Года,
| ЗаявлениеСотрудника.ПорядокРасчетаСреднегоЗаработка КАК ПорядокРасчетаСреднегоЗаработка,
| ЗаявлениеСотрудника.ДатаСправкиОПостановкеНаУчетВРанниеСрокиБеременности КАК ДатаСправкиБеременной,
| ЗаявлениеСотрудника.НомерСправкиОПостановкеНаУчетВРанниеСрокиБеременности КАК НомерСправкиБеременной,
| Пособия.ПоставленаНаУчетВРанниеСрокиБеременности КАК ПоставленаНаУчетВРанниеСрокиБеременности,
| ЗаявлениеСотрудника.ПериодПростоя1ДатаНачала КАК ПериодПростояС1,
| ЗаявлениеСотрудника.ПериодПростоя1ДатаОкончания КАК ПериодПростояПо1,
| ЗаявлениеСотрудника.ПериодПростоя1СреднийЗаработок КАК СреднийЗаработокНаПериодПростоя1,
| ВЫБОР
| КОГДА ЗаявлениеСотрудника.ВидДокументаУдостоверяющегоЛичностьПолучателя.КодМВД = ""18""
| ТОГДА ""19""
| ИНАЧЕ ЕСТЬNULL(ЗаявлениеСотрудника.ВидДокументаУдостоверяющегоЛичностьПолучателя.КодМВД, ""01"")
| КОНЕЦ КАК УдостоверениеЛичностиКодМВД,
| ЗаявлениеСотрудника.СерияДокументаУдостоверяющегоЛичностьПолучателя КАК СерияУдостоверенияЛичности,
| ЗаявлениеСотрудника.НомерДокументаУдостоверяющегоЛичностьПолучателя КАК НомерУдостоверенияЛичности,
| ЗаявлениеСотрудника.ДатаВыдачиДокументаУдостоверяющегоЛичностьПолучателя КАК ДатаВыдачиУдостоверенияЛичности,
| ЗаявлениеСотрудника.КемВыданДокументУдостоверяющийЛичностьПолучателя КАК КемВыданоУдостоверениеЛичности,
| ЗаявлениеСотрудника.ДатаДействияДокументаУдостоверяющегоЛичностьПолучателя КАК УдостоверениеЛичностиСрокДействия,
| ЕСТЬNULL(ЗаявлениеСотрудника.ВидДокументаНаПроживание.КодМВД, ""01"") КАК КодМВДДокументаНаПроживание,
| ЗаявлениеСотрудника.СерияДокументаНаПроживание КАК СерияДокументаНаПроживание,
| ЗаявлениеСотрудника.НомерДокументаНаПроживание КАК НомерДокументаНаПроживание,
| ЗаявлениеСотрудника.ДатаВыдачиДокументаНаПроживание КАК ДатаВыдачиДокументаНаПроживание,
| ЗаявлениеСотрудника.КемВыданДокументНаПроживание КАК КемВыданДокументНаПроживание,
| ЗаявлениеСотрудника.СНИЛСПолучателя КАК СНИЛСПолучателя,
| ЗаявлениеСотрудника.ИННПолучателя КАК ИННПолучателя,
| ЗаявлениеСотрудника.НомерПриказаОПредоставленииОтпускаПоУходуЗаРебенком КАК НомерПриказаНаОтпускПоУходуЗаРебенком,
| ЗаявлениеСотрудника.ДатаПриказаОПредоставленииОтпускаПоУходуЗаРебенком КАК ДатаПриказаНаОтпускПоУходуЗаРебенком,
| ВЫБОР
| КОГДА НЕ ЗаявлениеСотрудника.ДатаНачалаОтпускаПоУходуЗаРебенком ЕСТЬ NULL
| И ЗаявлениеСотрудника.ДатаНачалаОтпускаПоУходуЗаРебенком <> &ПустаяДата
| ТОГДА ЗаявлениеСотрудника.ДатаНачалаОтпускаПоУходуЗаРебенком
| ИНАЧЕ Пособия.ОсвобождениеДатаНачала1
| КОНЕЦ КАК ДатаНачала,
| ВЫБОР
| КОГДА НЕ ЗаявлениеСотрудника.ДатаОкончанияОтпускаПоУходуЗаРебенком ЕСТЬ NULL
| И ЗаявлениеСотрудника.ДатаОкончанияОтпускаПоУходуЗаРебенком <> &ПустаяДата
| ТОГДА ЗаявлениеСотрудника.ДатаОкончанияОтпускаПоУходуЗаРебенком
| КОГДА Пособия.ОсвобождениеДатаОкончания1 > Пособия.ОсвобождениеДатаОкончания2
| ТОГДА Пособия.ОсвобождениеДатаОкончания1
| КОГДА Пособия.ОсвобождениеДатаОкончания2 > Пособия.ОсвобождениеДатаОкончания3
| ТОГДА Пособия.ОсвобождениеДатаОкончания2
| ИНАЧЕ Пособия.ОсвобождениеДатаОкончания3
| КОНЕЦ КАК ДатаОкончания,
| ЗаявлениеСотрудника.РайонныйКоэффициент КАК РайонныйКоэффициент,
| ЗаявлениеСотрудника.ДоляВремени КАК ДоляВремени,
| ЗаявлениеСотрудника.ПервыйРасчетныйГод КАК ПервыйГодРасчета,
| ЗаявлениеСотрудника.ВторойРасчетныйГод КАК ВторойГодРасчета,
| ЗаявлениеСотрудника.ЗамененыКалендарныеГодыРасчетаСреднегоЗаработка КАК ЗамененыКалендарныеГодыРасчетаСреднегоЗаработка,
| ЗаявлениеСотрудника.ПервыйЗамененныйГод КАК ЗамененныйПервыйГодРасчета,
| ЗаявлениеСотрудника.ВторойЗамененныйГод КАК ЗамененныйВторойГодРасчета,
| ВЫБОР
| КОГДА ЗаявлениеСотрудника.ЗаработокПервыйГодРасчета > ПредельнаяВеличинаЗаПервыйГодРасчета.Размер
| ТОГДА ПредельнаяВеличинаЗаПервыйГодРасчета.Размер
| ИНАЧЕ ЗаявлениеСотрудника.ЗаработокПервыйГодРасчета
| КОНЕЦ КАК ЗаработокПервыйГодРасчета,
| ВЫБОР
| КОГДА ЗаявлениеСотрудника.ЗаработокВторойГодРасчета > ПредельнаяВеличинаЗаВторойГодРасчета.Размер
| ТОГДА ПредельнаяВеличинаЗаВторойГодРасчета.Размер
| ИНАЧЕ ЗаявлениеСотрудника.ЗаработокВторойГодРасчета
| КОНЕЦ КАК ЗаработокВторойГодРасчета,
| ВЫБОР
| КОГДА ЗаявлениеСотрудника.ПорядокРасчетаСреднегоЗаработка = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаСреднегоЗаработкаДляОплатыПособия.ИсходяИзТарифнойСтавки)
| ИЛИ ЗаявлениеСотрудника.ПорядокРасчетаСреднегоЗаработка = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаСреднегоЗаработкаДляОплатыПособия.ИсходяИзМРОТ)
| ТОГДА НАЧАЛОПЕРИОДА(Пособия.ОсвобождениеДатаНачала1, МЕСЯЦ)
| ИНАЧЕ ЗаявлениеСотрудника.ДатаНачалаРасчетногоПериода
| КОНЕЦ КАК ПериодРасчетаСреднегоЗаработкаНачало,
| ВЫБОР
| КОГДА (ЗаявлениеСотрудника.ПорядокРасчетаСреднегоЗаработка = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаСреднегоЗаработкаДляОплатыПособия.ИсходяИзТарифнойСтавки)
| ИЛИ ЗаявлениеСотрудника.ПорядокРасчетаСреднегоЗаработка = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаСреднегоЗаработкаДляОплатыПособия.ИсходяИзМРОТ))
| И Пособия.ОсвобождениеДатаНачала1 <> ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА КОНЕЦПЕРИОДА(Пособия.ОсвобождениеДатаНачала1, МЕСЯЦ)
| ИНАЧЕ ЗаявлениеСотрудника.ДатаОкончанияРасчетногоПериода
| КОНЕЦ КАК ПериодРасчетаСреднегоЗаработкаОкончание,
| ВЫБОР
| КОГДА (ЗаявлениеСотрудника.ПорядокРасчетаСреднегоЗаработка = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаСреднегоЗаработкаДляОплатыПособия.ИсходяИзТарифнойСтавки)
| ИЛИ ЗаявлениеСотрудника.ПорядокРасчетаСреднегоЗаработка = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаСреднегоЗаработкаДляОплатыПособия.ИсходяИзМРОТ))
| И Пособия.ОсвобождениеДатаНачала1 <> ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА ДЕНЬ(КОНЕЦПЕРИОДА(Пособия.ОсвобождениеДатаНачала1, МЕСЯЦ))
| ИНАЧЕ ЗаявлениеСотрудника.ЧислоКалендарныхДнейРасчетногоПериода
| КОНЕЦ КАК КалендарныхДнейРасчетногоПериода,
| ЕСТЬNULL(ВидыВыплат.ВидВыплаты, ""1"") КАК ВидВыплаты,
| ЗаявлениеСотрудника.ВидПособия КАК ВидПособия,
| ЗаявлениеСотрудника.СреднийДневнойЗаработок КАК СреднийДневнойЗаработок,
| ЗаявлениеСотрудника.СреднийЗаработокЗаРасчетныйПериод КАК СреднийЗаработокЗаРасчетныйПериод,
| ЗаявлениеСотрудника.МРОТ КАК МРОТ,
| ЗаявлениеСотрудника.ДатаНачалаТрудовогоДоговораПолучателя КАК СрочныйДоговорС,
| ЗаявлениеСотрудника.ДатаОкончанияТрудовогоДоговораПолучателя КАК СрочныйДоговорПо,
| ЗаявлениеСотрудника.СтатусНалогоплательщикаПолучателя КАК СтатусНалогоплательщикаПолучателя,
| ЗаявлениеСотрудника.ВидДокументаНаПроживание КАК НаименованиеДокументаНаПроживание,
| Пособия.НомерСтроки КАК НомерСтроки,
| Пособия.ПриступитьКРаботеС КАК ПриступитьКРаботеС,
| Пособия.ДатаРегистрацииДокументовМСЭ КАК ДатаРегистрацииДокументовМСЭ,
| Пособия.ПериодНахожденияВСтационареСРебенкомС КАК ПериодНахожденияВСтационареСРебенкомС,
| Пособия.ПериодНахожденияВСтационареСРебенкомПо КАК ПериодНахожденияВСтационареСРебенкомПо,
| Пособия.ДатаИзмененияКодаПричиныНетрудоспособности КАК ДатаИзмененияКодаПричиныНетрудоспособности,
| Пособия.КодПричиныНетрудоспособности КАК КодПричиныНетрудоспособности,
| Пособия.ДополнительныйКодПричиныНетрудоспособности КАК ДополнительныйКодПричиныНетрудоспособности,
| Пособия.ВторойКодПричиныНетрудоспособности КАК ВторойКодПричиныНетрудоспособности,
| Пособия.УсловияИсчисленияКод1 КАК УсловияИсчисленияКод1,
| Пособия.УсловияИсчисленияКод2 КАК УсловияИсчисленияКод2,
| Пособия.УсловияИсчисленияКод3 КАК УсловияИсчисленияКод3,
| Пособия.НомерЛисткаНетрудоспособности КАК НомерЛисткаНетрудоспособности,
| Пособия.ДатаВыдачиЛисткаНетрудоспособности КАК ДатаВыдачиЛисткаНетрудоспособности,
| Пособия.НомерПервичногоЛисткаНетрудоспособности КАК НомерПервичногоЛисткаНетрудоспособности,
| Пособия.КодНарушенияРежима КАК КодНарушенияРежима,
| Пособия.ДатаНарушенияРежима КАК ДатаНарушенияРежима,
| Пособия.ДатаНовыйСтатусНетрудоспособного КАК ДатаНовыйСтатусНетрудоспособного,
| Пособия.НовыйСтатусНетрудоспособного КАК НовыйСтатусНетрудоспособного,
| Пособия.ДатаОсвидетельствованияМСЭ КАК ДатаОсвидетельствованияМСЭ,
| Пособия.ДатаНаправленияВБюроМСЭ КАК ДатаНаправленияВБюроМСЭ,
| Пособия.НомерЛисткаПродолжения КАК НомерЛисткаПродолжения,
| Пособия.ОГРН_Санатория КАК ОГРН_Санатория,
| Пособия.НомерПутевки КАК НомерПутевки,
| Пособия.ДатаОкончанияПутевки КАК ДатаОкончанияПутевки,
| Пособия.НомерЛисткаПоОсновномуМестуРаботы КАК НомерЛисткаПоОсновномуМестуРаботы,
| Пособия.ОГРНМедицинскойОрганизации КАК ОГРНМедицинскойОрганизации,
| Пособия.АдресМедицинскойОрганизации КАК АдресМедицинскойОрганизации,
| Пособия.НаименованиеМедицинскойОрганизации КАК НаименованиеМедицинскойОрганизации,
| Пособия.ПредоставленДубликатЛисткаНетрудоспособности КАК ПредоставленДубликатЛисткаНетрудоспособности,
| Пособия.ПоУходуВозрастЛет1 КАК ПоУходуВозрастЛет1,
| Пособия.ПоУходуВозрастМесяцев1 КАК ПоУходуВозрастМесяцев1,
| Пособия.ПоУходуРодственнаяСвязь1 КАК ПоУходуРодственнаяСвязь1,
| Пособия.ПоУходуФИО1 КАК ПоУходуФИО1,
| Пособия.ПоУходуИспользованоДней1 КАК УходЗаРодственникомИспользованоДней1,
| Пособия.ПоУходуВозрастЛет2 КАК ПоУходуВозрастЛет2,
| Пособия.ПоУходуВозрастМесяцев2 КАК ПоУходуВозрастМесяцев2,
| Пособия.ПоУходуРодственнаяСвязь2 КАК ПоУходуРодственнаяСвязь2,
| Пособия.ПоУходуФИО2 КАК ПоУходуФИО2,
| Пособия.ПоУходуИспользованоДней2 КАК УходЗаРодственникомИспользованоДней2,
| Пособия.ОсвобождениеДатаНачала1 КАК ОсвобождениеДатаНачала1,
| Пособия.ОсвобождениеДатаОкончания1 КАК ОсвобождениеДатаОкончания1,
| Пособия.ОсвобождениеДолжностьВрача1 КАК ОсвобождениеДолжностьВрача1,
| Пособия.ОсвобождениеФИОВрача1 КАК ОсвобождениеФИОВрача1,
| Пособия.ОсвобождениеИдентификационныйНомерВрача1 КАК ОсвобождениеИдентификационныйНомерВрача1,
| Пособия.ОсвобождениеФИОВрачаПредседателяВК1 КАК ОсвобождениеФИОВрачаПредседателяВК1,
| Пособия.ОсвобождениеДолжностьВрачаПредседателяВК1 КАК ОсвобождениеДолжностьВрачаПредседателяВК1,
| Пособия.ОсвобождениеИдентификационныйНомерВрачаПредседателяВК1 КАК ОсвобождениеИдентификационныйНомерВрачаПредседателяВК1,
| Пособия.ОсвобождениеДатаНачала2 КАК ОсвобождениеДатаНачала2,
| Пособия.ОсвобождениеДатаОкончания2 КАК ОсвобождениеДатаОкончания2,
| Пособия.ОсвобождениеДолжностьВрача2 КАК ОсвобождениеДолжностьВрача2,
| Пособия.ОсвобождениеФИОВрача2 КАК ОсвобождениеФИОВрача2,
| Пособия.ОсвобождениеИдентификационныйНомерВрача2 КАК ОсвобождениеИдентификационныйНомерВрача2,
| Пособия.ОсвобождениеФИОВрачаПредседателяВК2 КАК ОсвобождениеФИОВрачаПредседателяВК2,
| Пособия.ОсвобождениеДолжностьВрачаПредседателяВК2 КАК ОсвобождениеДолжностьВрачаПредседателяВК2,
| Пособия.ОсвобождениеИдентификационныйНомерВрачаПредседателяВК2 КАК ОсвобождениеИдентификационныйНомерВрачаПредседателяВК2,
| Пособия.ОсвобождениеДатаНачала3 КАК ОсвобождениеДатаНачала3,
| Пособия.ОсвобождениеДатаОкончания3 КАК ОсвобождениеДатаОкончания3,
| Пособия.ОсвобождениеДолжностьВрача3 КАК ОсвобождениеДолжностьВрача3,
| Пособия.ОсвобождениеФИОВрача3 КАК ОсвобождениеФИОВрача3,
| Пособия.ОсвобождениеИдентификационныйНомерВрача3 КАК ОсвобождениеИдентификационныйНомерВрача3,
| Пособия.ОсвобождениеФИОВрачаПредседателяВК3 КАК ОсвобождениеФИОВрачаПредседателяВК3,
| Пособия.ОсвобождениеДолжностьВрачаПредседателяВК3 КАК ОсвобождениеДолжностьВрачаПредседателяВК3,
| Пособия.ОсвобождениеИдентификационныйНомерВрачаПредседателяВК3 КАК ОсвобождениеИдентификационныйНомерВрачаПредседателяВК3,
| Пособия.ГруппаИнвалидности КАК ГруппаИнвалидности,
| ФизическиеЛица.Пол КАК Пол,
| Пособия.ДатаНачалаОплаты КАК ДатаНачалаОплаты,
| Пособия.ДатаОкончанияОплаты КАК ДатаОкончанияОплаты,
| Пособия.СтажЛет КАК СтажЛет,
| Пособия.СтажМесяцев КАК СтажМесяцев,
| Пособия.СтажДней КАК СтажДней,
| Пособия.СтажРасширенныйЛет КАК СтажРасширенныйЛет,
| Пособия.СтажРасширенныйМесяцев КАК СтажРасширенныйМесяцев,
| Пособия.СтажРасширенныйДней КАК СтажРасширенныйДней,
| Пособия.ФинансированиеФедеральнымБюджетом КАК ФинансированиеФедеральнымБюджетом,
| Пособия.ДатаАктаН1 КАК ДатаАктаФормыН1,
| ВЫБОР
| КОГДА Пособия.ДатаПредставленияПакетаДокументов <> ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА Пособия.ДатаПредставленияПакетаДокументов
| КОГДА ЗаявлениеСотрудника.ДатаПредставленияПакетаДокументов <> ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА ЗаявлениеСотрудника.ДатаПредставленияПакетаДокументов
| ИНАЧЕ ЗаявлениеСотрудника.Дата
| КОНЕЦ КАК ДатаПредставленияПакетаДокументов,
| ЗаявлениеСотрудника.ДатаСправкиОНеполученииПособияОтОтца КАК ДатаСправкиОНеполученииПособияОтОтца,
| ЗаявлениеСотрудника.НомерСправкиОНеполученииПособияОтОтца КАК НомерСправкиОНеполученииПособияОтОтца,
| ЗаявлениеСотрудника.ДатаСправкиОНеполученииПособияОтМатери КАК ДатаСправкиОНеполученииПособияОтМатери,
| ЗаявлениеСотрудника.НомерСправкиОНеполученииПособияОтМатери КАК НомерСправкиОНеполученииПособияОтМатери,
| ЗаявлениеСотрудника.ВидОсобойЗоныПроживанияРаботы КАК СтатусЛьготнойЗоны,
| ЗаявлениеСотрудника.ОтношениеКОсобойЗоне КАК ПроживаниеРаботаВЛьготнойЗоне,
| ЗаявлениеСотрудника.ДатаСправкиОНеполученииПособияПоДругимМестамРаботы КАК ДатаСправкиПоДругимМестамРаботы,
| ЗаявлениеСотрудника.НомерСправкиОНеполученииПособияПоДругимМестамРаботы КАК НомерСправкиПоДругимМестамРаботы,
| ЗаявлениеСотрудника.НомерПриказаОЗаменеПослеродовогоОтпуска КАК НомерПриказаОЗаменеПослеродовогоОтпуска,
| ЗаявлениеСотрудника.ДатаПриказаОЗаменеПослеродовогоОтпуска КАК ДатаПриказаОЗаменеПослеродовогоОтпуска,
| ЗаявлениеСотрудника.ДатаРожденияРебенка КАК ДатаРожденияРебенка,
| ЗаявлениеСотрудника.ФамилияРебенка КАК ФамилияРебенка,
| ЗаявлениеСотрудника.ИмяРебенка КАК ИмяРебенка,
| ЗаявлениеСотрудника.ОтчествоРебенка КАК ОтчествоРебенка,
| ЗаявлениеСотрудника.ФормаСправкиОРожденииРебенка КАК ВидСправкиОРожденииРебенка,
| ЗаявлениеСотрудника.ДатаСправкиОРожденииРебенка КАК ДатаСправки,
| ЗаявлениеСотрудника.НомерСправкиОРожденииРебенка КАК НомерСправки,
| ЗаявлениеСотрудника.ДатаРешенияОбОпеке КАК ДатаРешенияОбОпеке,
| ЗаявлениеСотрудника.НомерРешенияОбОпеке КАК НомерРешенияОбОпеке,
| ЗаявлениеСотрудника.ДатаРешенияОбУсыновлении КАК ДатаРешенияОбУсыновлении,
| ЗаявлениеСотрудника.НомерРешенияОбУсыновлении КАК НомерРешенияОбУсыновлении,
| ЗаявлениеСотрудника.ДатаДоговораОПередачеРебенкаВПриемнуюСемью КАК ДатаДоговораОПередачеНаВоспитание,
| ЗаявлениеСотрудника.НомерДоговораОПередачеРебенкаВПриемнуюСемью КАК НомерДоговораОПередачеНаВоспитание,
| ЗаявлениеСотрудника.ДатаСвидетельстваОРождении КАК ДатаСвидетельстваОРождении,
| ЗаявлениеСотрудника.СерияСвидетельстваОРождении КАК СерияСвидетельстваОРождении,
| ЗаявлениеСотрудника.НомерСвидетельстваОРождении КАК НомерСвидетельстваОРождении,
| ЗаявлениеСотрудника.ДатаИногоДокументаПодтверждающегоРождение КАК ДатаИногоПодтвержденияРождения,
| ЗаявлениеСотрудника.НомерИногоДокументаПодтверждающегоРождение КАК НомерИногоПодтвержденияРождения,
| ВЫБОР
| КОГДА ЗаявлениеСотрудника.ДатаСправкиОРожденииРебенка <> ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА ЗаявлениеСотрудника.ДатаСправкиОРожденииРебенка
| КОГДА ЗаявлениеСотрудника.ДатаСвидетельстваОРождении <> ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА ЗаявлениеСотрудника.ДатаСвидетельстваОРождении
| КОНЕЦ КАК ДатаСправкиОРождении,
| ВЫБОР
| КОГДА ЗаявлениеСотрудника.ДатаСправкиОРожденииРебенка <> ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА ЗаявлениеСотрудника.НомерСправкиОРожденииРебенка
| КОГДА ЗаявлениеСотрудника.ДатаСвидетельстваОРождении <> ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА ЗаявлениеСотрудника.СерияСвидетельстваОРождении + "" "" + ЗаявлениеСотрудника.НомерСвидетельстваОРождении
| КОНЕЦ КАК НомерСправкиОРождении,
| ВЫБОР
| КОГДА ЗаявлениеСотрудника.ДатаРешенияОбОпеке <> ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА 1
| КОГДА ЗаявлениеСотрудника.ДатаРешенияОбУсыновлении <> ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА 2
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК УсыновлениеОпека,
| ВЫБОР
| КОГДА ЗаявлениеСотрудника.ДатаРешенияОбОпеке <> ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА ЗаявлениеСотрудника.ДатаРешенияОбОпеке
| КОГДА ЗаявлениеСотрудника.ДатаРешенияОбУсыновлении <> ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА ЗаявлениеСотрудника.ДатаРешенияОбУсыновлении
| ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
| КОНЕЦ КАК УсыновлениеОпекаДатаВыдачи,
| ВЫБОР
| КОГДА ЗаявлениеСотрудника.ДатаРешенияОбОпеке <> ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА ЗаявлениеСотрудника.НомерРешенияОбОпеке
| КОГДА ЗаявлениеСотрудника.ДатаРешенияОбУсыновлении <> ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА ЗаявлениеСотрудника.НомерРешенияОбУсыновлении
| ИНАЧЕ """"
| КОНЕЦ КАК УсыновлениеОпекаСерияНомер,
| Пособия.ВидПодтверждающегоДокумента КАК ВидПодтверждающегоДокумента,
| Пособия.НаименованиеПодтверждающегоДокумента КАК НаименованиеПодтверждающегоДокумента,
| Пособия.ДатаДокумента КАК ДатаПодтверждающегоДокумента,
| Пособия.СерияДокумента + "" "" + Пособия.НомерДокумента КАК СерияНомерПодтверждающегоДокумента,
| ВЫБОР
| КОГДА ЗаявлениеСотрудника.СправкаОНеполученииПособия = ЗНАЧЕНИЕ(Перечисление.РодителиПредоставившиеСправкуОНеполученииПособия.Отец)
| ТОГДА ЗаявлениеСотрудника.ДатаСправкиОНеполученииПособияОтОтца
| ИНАЧЕ ЗаявлениеСотрудника.ДатаСправкиОНеполученииПособияОтМатери
| КОНЕЦ КАК ДатаСправкиОтДругогоРодителя,
| ВЫБОР
| КОГДА ЗаявлениеСотрудника.СправкаОНеполученииПособия = ЗНАЧЕНИЕ(Перечисление.РодителиПредоставившиеСправкуОНеполученииПособия.Отец)
| ТОГДА ЗаявлениеСотрудника.НомерСправкиОНеполученииПособияОтОтца
| ИНАЧЕ ЗаявлениеСотрудника.НомерСправкиОНеполученииПособияОтМатери
| КОНЕЦ КАК НомерСправкиОтДругогоРодителя,
| ЗаявлениеСотрудника.НаличиеОдногоИзДокументовНаПредыдущихДетей КАК НаличиеОдногоИзДокументовНаПредыдущихДетей,
| ЗаявлениеСотрудника.НаличиеСвидетельстваОСмертиПредыдущихДетей КАК НаличиеСвидетельстваОСмертиПредыдущихДетей,
| Пособия.ОчередностьРожденияРебенка КАК Очередность,
| Пособия.НаличиеРешенияСудаОЛишенииПрав КАК НаличиеРешенияСудаОЛишенииПрав,
| Пособия.ОдновременныйУходЗаНесколькимиДетьми КАК ОдновременныйУходЗаНесколькимиДетьми,
| ЗаявлениеСотрудника.Перерасчет КАК Перерасчет,
| ЗаявлениеСотрудника.КодПричиныПерерасчета КАК КодПричиныПерерасчета,
| УведомлениеОПрекращении.ТипПриказа КАК ДосрочноеПрекращениеОтпускаПоУходуТипПриказа,
| УведомлениеОПрекращении.ДатаПриказа КАК ДосрочноеПрекращениеОтпускаПоУходуДатаПриказа,
| УведомлениеОПрекращении.НомерПриказа КАК ДосрочноеПрекращениеОтпускаПоУходуНомерПриказа,
| УведомлениеОПрекращении.ДатаПрекращенияОплаты КАК ДосрочноеПрекращениеОтпускаПоУходуДатаПрекращенияОплаты,
| Пособия.ИзвещениеИзФССИспользование КАК ИзвещениеИзФССИспользование,
| Пособия.ИзвещениеИзФССНомер КАК ИзвещениеИзФССНомер,
| Пособия.ИзвещениеИзФССДата КАК ИзвещениеИзФССДата,
| Пособия.LocationCode КАК LocationCode,
| Пособия.IsDelivery КАК IsDelivery,
| Пособия.AvgSal КАК AvgSal,
| Пособия.КодНаличияПриостановленийТД КАК КодНаличияПриостановленийТД,
| Пособия.Заявление КАК Заявление,
| 0 КАК СуммаПособияРаботодателя,
| 0 КАК СуммаПособияФСС,
| 0 КАК СуммаПособияВсего,
| ДАТАВРЕМЯ(1, 1, 1) КАК ДатаСмертиРебенка,
| ЗаявлениеСотрудника.КоличествоОплаченныхДнейНетрудоспособностиИнвалида КАК КоличествоОплаченныхДнейНетрудоспособностиИнвалида,
| Пособия.ДатаНачалаРаботы КАК ДатаНачалаРаботы,
| ЗаявлениеСотрудника.ПериодПростоя2ДатаНачала КАК ПериодПростояС2,
| ЗаявлениеСотрудника.ПериодПростоя2ДатаОкончания КАК ПериодПростояПо2,
| ЗаявлениеСотрудника.ПериодПростоя2СреднийЗаработок КАК СреднийЗаработокНаПериодПростоя2,
| Пособия.ЭтоЭЛН КАК ЭтоЭЛН,
| ЗаявлениеСотрудника.ДолжностнойОклад КАК ДолжностнойОклад,
| ЗаявлениеСотрудника.ИнаяИнформация КАК ИнаяИнформация
|ИЗ
| Документ.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий.СведенияНеобходимыеДляНазначенияПособий КАК Пособия
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаявлениеСотрудникаНаВыплатуПособия КАК ЗаявлениеСотрудника
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица
| ПО ЗаявлениеСотрудника.ФизическоеЛицо = ФизическиеЛица.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ВТВидыВыплат КАК ВидыВыплат
| ПО ЗаявлениеСотрудника.ВидПособия = ВидыВыплат.ВидПособия
| ПО (ЗаявлениеСотрудника.Ссылка = Пособия.Заявление)
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПредельнаяВеличинаБазы КАК ПредельнаяВеличинаЗаПервыйГодРасчета
| ПО (ВЫБОР
| КОГДА Пособия.Заявление.ПервыйРасчетныйГод < 2010
| ТОГДА 2010
| ИНАЧЕ Пособия.Заявление.ПервыйРасчетныйГод
| КОНЕЦ = ПредельнаяВеличинаЗаПервыйГодРасчета.Год)
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПредельнаяВеличинаБазы КАК ПредельнаяВеличинаЗаВторойГодРасчета
| ПО (ВЫБОР
| КОГДА Пособия.Заявление.ВторойРасчетныйГод < 2010
| ТОГДА 2010
| ИНАЧЕ Пособия.Заявление.ВторойРасчетныйГод
| КОНЕЦ = ПредельнаяВеличинаЗаВторойГодРасчета.Год)
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.УведомлениеОПрекращенииОтпускаПоУходуЗаРебенком КАК УведомлениеОПрекращении
| ПО Пособия.ПервичныйДокумент = УведомлениеОПрекращении.Ссылка
|ГДЕ
| Пособия.Ссылка = &Ссылка
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки,
| ВидВыплаты";
Возврат Запрос;
КонецФункции
Функция ЗапросПоИсключаемымПериодам(Реестр)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылка", Реестр.Ссылка);
Запрос.Текст =
"ВЫБРАТЬ
| СтрокиРеестра.ПервичныйДокумент КАК ПервичныйДокумент,
| ИсключаемыеПериоды.ДатаНачала КАК ДатаНачала,
| ИсключаемыеПериоды.ДатаОкончания КАК ДатаОкончания,
| ИсключаемыеПериоды.Причина КАК Причина
|ИЗ
| Документ.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий.СведенияНеобходимыеДляНазначенияПособий КАК СтрокиРеестра
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.БольничныйЛист.ИсключаемыеПериоды КАК ИсключаемыеПериоды
| ПО (СтрокиРеестра.Ссылка = &Ссылка)
| И СтрокиРеестра.ПервичныйДокумент = ИсключаемыеПериоды.Ссылка";
Возврат Запрос;
КонецФункции
Функция ЗапросПоПриостановлениямТД(Реестр)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылка", Реестр.Ссылка);
Запрос.Текст =
"ВЫБРАТЬ
| ПриостановленияТД.Ссылка КАК Ссылка,
| ПриостановленияТД.НомерСтроки КАК НомерСтроки,
| ПриостановленияТД.Заявление КАК Заявление,
| ПриостановленияТД.ДатаНачала КАК ДатаНачала,
| ПриостановленияТД.ДатаОкончания КАК ДатаОкончания,
| ПриостановленияТД.ОснованиеНПА КАК ОснованиеНПА
|ИЗ
| Документ.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий.ПриостановленияТрудовыхДоговоров КАК ПриостановленияТД
|ГДЕ
| ПриостановленияТД.Ссылка = &Ссылка";
Возврат Запрос;
КонецФункции
Функция ТаблицаВидовВыплат()
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("ВидВыплаты", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(1)));
Таблица.Колонки.Добавить("ВидПособия", Новый ОписаниеТипов("ПеречислениеСсылка.ПособияНазначаемыеФСС"));
СтрокаТаблицы = Таблица.Добавить();
СтрокаТаблицы.ВидПособия = Перечисления.ПособияНазначаемыеФСС.ПособиеПоВременнойНетрудоспособности;
СтрокаТаблицы.ВидВыплаты = "1";
СтрокаТаблицы = Таблица.Добавить();
СтрокаТаблицы.ВидПособия = Перечисления.ПособияНазначаемыеФСС.ПособиеПоБеременностиИРодам;
СтрокаТаблицы.ВидВыплаты = "2";
СтрокаТаблицы = Таблица.Добавить();
СтрокаТаблицы.ВидПособия = Перечисления.ПособияНазначаемыеФСС.ПособиеПоБеременностиИРодамВставшимНаУчетВРанниеСроки;
СтрокаТаблицы.ВидВыплаты = "2";
СтрокаТаблицы = Таблица.Добавить();
СтрокаТаблицы.ВидПособия = Перечисления.ПособияНазначаемыеФСС.ПособиеВставшимНаУчетВРанниеСроки;
СтрокаТаблицы.ВидВыплаты = "3";
СтрокаТаблицы = Таблица.Добавить();
СтрокаТаблицы.ВидПособия = Перечисления.ПособияНазначаемыеФСС.ЕдиновременноеПособиеПриРожденииРебенка;
СтрокаТаблицы.ВидВыплаты = "4";
СтрокаТаблицы = Таблица.Добавить();
СтрокаТаблицы.ВидПособия = Перечисления.ПособияНазначаемыеФСС.ЕжемесячноеПособиеПоУходуЗаРебенком;
СтрокаТаблицы.ВидВыплаты = "5";
СтрокаТаблицы = Таблица.Добавить();
СтрокаТаблицы.ВидПособия = Перечисления.ПособияНазначаемыеФСС.ПособиеВСвязиСНесчастнымСлучаемНаПроизводстве;
СтрокаТаблицы.ВидВыплаты = "6";
СтрокаТаблицы = Таблица.Добавить();
СтрокаТаблицы.ВидПособия = Перечисления.ПособияНазначаемыеФСС.ОтпускСверхЕжегодногоНаПериодЛечения;
СтрокаТаблицы.ВидВыплаты = "9";
Возврат Таблица;
КонецФункции
Функция СреднийЗаработокЗаДваКалендарныхГода(СтруктураДанных)
СреднийЗаработок = СтруктураДанных.ЗаработокПервыйГодРасчета + СтруктураДанных.ЗаработокВторойГодРасчета;
Если СреднийЗаработок = 0 Тогда
СреднийЗаработок = СтруктураДанных.МРОТ * ?(СтруктураДанных.ДоляВремени > 0 И СтруктураДанных.ДоляВремени < 1, СтруктураДанных.ДоляВремени, 1);
КонецЕсли;
Возврат СреднийЗаработок;
КонецФункции
Процедура ЗаполнитьСтатусНалогоплательщикаВСтрокеРеестра(ROW, СтруктураДанных)
ROW.RESIDENT_FLAG = СЭДОФСС.КодСтатусаНалогоплательщика(СтруктураДанных.СтатусНалогоплательщикаПолучателя);
КонецПроцедуры
Функция СтруктураАдреса(Адрес) Экспорт
ИменаПолей = "Индекс, Регион, Район, Город, НаселенныйПункт, Территория, Улица, Дом, Корпус, Строение, Сооружение, Участок, Квартира";
Структура = КонтактнаяИнформацияБЗК.СведенияОбАдресеСТипами(Адрес);
СтруктураАдреса = КонтактнаяИнформацияБЗК.СвернутьСведенияОбАдресе(Структура, ИменаПолей);
ПредставлениеКорпусов = КонтактнаяИнформацияБЗК.ПредставлениеКорпусов(СтруктураАдреса, 30);
СтруктураАдреса.Вставить("Корпус", ПредставлениеКорпусов);
Возврат СтруктураАдреса;
КонецФункции
#КонецОбласти
#Область ФиксацияВторичныхДанныхВДокументах
Функция ФиксируемыеРеквизиты()
ФиксируемыеРеквизиты = Новый Соответствие;
Шаблон = ФиксацияВторичныхДанныхВДокументах.ОписаниеФиксируемогоРеквизита();
Шаблон.ИмяГруппы = "Организация";
Шаблон.ОснованиеЗаполнения = "Организация";
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "РегистрационныйНомерФСС");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ДополнительныйКодФСС");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "КодПодчиненностиФСС");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОГРН");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "КПП");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ИНН");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ТелефонСоставителя");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "АдресЭлектроннойПочтыСоставителя");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "РеестрСоставил");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ИдентификаторФСС");
Шаблон = ФиксацияВторичныхДанныхВДокументах.ОписаниеФиксируемогоРеквизита();
Шаблон.ОснованиеЗаполнения = "Организация";
Шаблон.ИмяГруппы = "Руководитель";
Шаблон.ФиксацияГруппы = Истина;
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "Руководитель");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ДолжностьРуководителя");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОснованиеПодписиРуководителя");
Шаблон = ФиксацияВторичныхДанныхВДокументах.ОписаниеФиксируемогоРеквизита();
Шаблон.ОснованиеЗаполнения = "Организация";
Шаблон.ИмяГруппы = "ГлавныйБухгалтер";
Шаблон.ФиксацияГруппы = Истина;
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ГлавныйБухгалтер");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ДолжностьГлавногоБухгалтера");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОснованиеПодписиГлавногоБухгалтера");
Шаблон = ФиксацияВторичныхДанныхВДокументах.ОписаниеФиксируемогоРеквизита();
Шаблон.Путь = "СведенияНеобходимыеДляНазначенияПособий";
Шаблон.РеквизитСтроки = Истина;
Шаблон.ОснованиеЗаполнения = "ПервичныйДокумент";
Шаблон.ИмяГруппы = "СведенияИзПервичногоДокумента";
Шаблон.ФиксацияГруппы = Ложь;
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ПервичныйДокумент", Ложь);
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "НомерЛисткаНетрудоспособности");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "НомерПервичногоЛисткаНетрудоспособности");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ЯвляетсяПервичнымЛисткомНетрудоспособности");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ЭтоЭЛН");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ПредоставленДубликатЛисткаНетрудоспособности");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ДатаВыдачиЛисткаНетрудоспособности");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "НомерЛисткаПоОсновномуМестуРаботы");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ДатаИзмененияКодаПричиныНетрудоспособности");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ДатаОкончанияПутевки");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "НомерПутевки");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОГРН_Санатория");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "КодПричиныНетрудоспособности");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ДополнительныйКодПричиныНетрудоспособности");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ВторойКодПричиныНетрудоспособности");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "НаименованиеОрганизацииВЛисткеНетрудоспособности");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсновноеМестоРаботы");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ПоУходуВозрастЛет1");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ПоУходуВозрастМесяцев1");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ПоУходуРодственнаяСвязь1");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ПоУходуФИО1");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ПоУходуИспользованоДней1");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ПоУходуВозрастЛет2");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ПоУходуВозрастМесяцев2");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ПоУходуРодственнаяСвязь2");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ПоУходуФИО2");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ПоУходуИспользованоДней2");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ПоставленаНаУчетВРанниеСрокиБеременности");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "КодНарушенияРежима");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ДатаНарушенияРежима");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ПериодНахожденияВСтационареСРебенкомС");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ПериодНахожденияВСтационареСРебенкомПо");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ДатаНаправленияВБюроМСЭ");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ДатаРегистрацииДокументовМСЭ");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ДатаОсвидетельствованияМСЭ");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ГруппаИнвалидности");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеДатаНачала1");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеДатаОкончания1");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеДолжностьВрача1");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеФИОВрача1");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеИдентификационныйНомерВрача1");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеФИОВрачаПредседателяВК1");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеДолжностьВрачаПредседателяВК1");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеИдентификационныйНомерВрачаПредседателяВК1");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеДатаНачала2");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеДатаОкончания2");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеДолжностьВрача2");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеФИОВрача2");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеИдентификационныйНомерВрача2");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеФИОВрачаПредседателяВК2");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеДолжностьВрачаПредседателяВК2");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеИдентификационныйНомерВрачаПредседателяВК2");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеДатаНачала3");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеДатаОкончания3");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеДолжностьВрача3");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеФИОВрача3");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеИдентификационныйНомерВрача3");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеФИОВрачаПредседателяВК3");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеДолжностьВрачаПредседателяВК3");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОсвобождениеИдентификационныйНомерВрачаПредседателяВК3");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ПриступитьКРаботеС");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ДатаНовыйСтатусНетрудоспособного");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "НовыйСтатусНетрудоспособного");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "НомерЛисткаПродолжения");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "УсловияИсчисленияКод1");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "УсловияИсчисленияКод2");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "УсловияИсчисленияКод3");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ДатаАктаН1");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ДатаНачалаРаботы");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ДатаНачалаОплаты");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ДатаОкончанияОплаты");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "МедицинскаяОрганизация");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "Сотрудник");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "LocationCode", Ложь);
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "IsDelivery", Ложь);
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "AvgSal", Ложь);
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "АвтозаполнениеПриостановленийТД", Ложь);
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "КодНаличияПриостановленийТД", Ложь);
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ДатаПредставленияПакетаДокументов", Ложь);
Шаблон.ОснованиеЗаполнения = "МедицинскаяОрганизация";
Шаблон.ИмяГруппы = "СведенияОМедицинскойОрганизации";
Шаблон.ФиксацияГруппы = Истина;
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "НаименованиеМедицинскойОрганизации");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "АдресМедицинскойОрганизации");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОГРНМедицинскойОрганизации");
Шаблон.ОснованиеЗаполнения = "ПервичныйДокумент";
Шаблон.ИмяГруппы = "СведенияОРебенке";
Шаблон.ФиксацияГруппы = Ложь;
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ФамилияРебенка");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ИмяРебенка");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ОтчествоРебенка");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ДатаРожденияРебенка");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ВидПодтверждающегоДокумента");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ДатаДокумента");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "СерияДокумента");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "НомерДокумента");
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ФинансированиеФедеральнымБюджетом");
Шаблон.ОснованиеЗаполнения = "ИзвещениеИзФСС";
Шаблон.ИмяГруппы = "ИзвещениеИзФСС";
Шаблон.ФиксацияГруппы = Ложь;
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ИзвещениеИзФССИспользование", Ложь);
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ИзвещениеИзФССНомер", Ложь);
ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "ИзвещениеИзФССДата", Ложь);
Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыРасширеннаяПодсистемы.ПособияСоциальногоСтрахования.ПрямыеВыплаты") Тогда
МодульПрямыеВыплатыПособийСоциальногоСтрахованияРасширенный = ОбщегоНазначения.ОбщийМодуль("ПрямыеВыплатыПособийСоциальногоСтрахованияРасширенный");
МодульПрямыеВыплатыПособийСоциальногоСтрахованияРасширенный.ПриОпределенииФиксируемыхРеквизитовРеестраПрямыхВыплат(ФиксируемыеРеквизиты);
КонецЕсли;
Возврат Новый ФиксированноеСоответствие(ФиксируемыеРеквизиты);
КонецФункции
#КонецОбласти
Функция СтруктураДанныхЗаполнения() Экспорт
СтруктураДанныхЗаполнения = Новый Структура;
СтруктураДанныхЗаполнения.Вставить("Дата");
СтруктураДанныхЗаполнения.Вставить("Организация");
СтруктураДанныхЗаполнения.Вставить("ВидРеестра");
СтруктураДанныхЗаполнения.Вставить("СтатусДокумента", Перечисления.СтатусыЗаявленийИРеестровНаВыплатуПособий.ВРаботе);
Возврат СтруктураДанныхЗаполнения;
КонецФункции
#Область ПроцедурыПечатиДокумента
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "РеестрПособий") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "РеестрПособий", "Реестр пособий", СформироватьПечатныеФормыРеестров(МассивОбъектов, ОбъектыПечати));
КонецЕсли;
КонецПроцедуры
Функция СформироватьПечатныеФормыРеестров(МассивОбъектов, ОбъектыПечати) Экспорт
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий_Приложения";
ТабличныйДокументРеестра = Новый ТабличныйДокумент;
ОписаниеМакетовРеестровФСС = Новый Соответствие;
ВыборкаПоРеестрам = ЗапросПоШапкеРеестра(МассивОбъектов).Выполнить().Выбрать();
Пока ВыборкаПоРеестрам.Следующий() Цикл
ИмяМакета = ИмяМакетаДляПечатиПриложения(ВыборкаПоРеестрам.ВидРеестра, ВыборкаПоРеестрам.Дата);
Если ИмяМакета = Неопределено Тогда
Продолжить;
КонецЕсли;
ОписаниеМакета = ОписаниеМакетаДляПечати(ИмяМакета);
ВыборкаСтрок = ЗапросПоСтрокамРеестра(ВыборкаПоРеестрам).Выполнить().Выбрать();
ТабличныйДокументРеестра = СформироватьТабличныйДокументФормыРеестра(ВыборкаПоРеестрам, ВыборкаСтрок, ОписаниеМакета);
Если ТабличныйДокумент.ВысотаТаблицы > 0 Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабличныйДокумент.Вывести(ТабличныйДокументРеестра);
КонецЦикла;
Возврат ТабличныйДокумент;
КонецФункции
Функция СформироватьТабличныйДокументФормыРеестра(ВыборкаПоШапкеДокумента, ДанныеРеестра, ОписаниеМакета)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий_Приложения";
ТабличныйДокументРеестра = Новый ТабличныйДокумент;
ОписаниеМакетовРеестровФСС = Новый Соответствие;
ВидРеестраФСС = ВыборкаПоШапкеДокумента.ВидРеестра;
Макет = ОписаниеМакета.Макет;
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ПараметрыОбластиШапка = ОписаниеМакета.Шапка;
ОбластьПовторятьПриПечати = Макет.ПолучитьОбласть("ПовторятьПриПечати");
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ПараметрыОбластиСтрока = ОписаниеМакета.Строка;
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьПодписи = Макет.ПолучитьОбласть("Подписи");
ПараметрыОбластиПодписи = ОписаниеМакета.Подписи;
ОбщегоНазначенияБЗККлиентСервер.ОчиститьЗначенияСтруктуры(ПараметрыОбластиШапка);
ОбщегоНазначенияБЗККлиентСервер.ОчиститьЗначенияСтруктуры(ПараметрыОбластиСтрока);
ОбщегоНазначенияБЗККлиентСервер.ОчиститьЗначенияСтруктуры(ПараметрыОбластиПодписи);
ВыводимыеОбласти = Новый Массив();
ВыводимыеОбласти.Добавить(ОбластьСтрока);
ЗаполнитьЗначенияСвойств(ПараметрыОбластиШапка, ВыборкаПоШапкеДокумента);
ЗаполнитьЗначенияСвойств(ПараметрыОбластиПодписи, ВыборкаПоШапкеДокумента);
ВыводитьРасчетныйПериодВШапке = Ложь;
Если ВидРеестраФСС = Перечисления.ВидыРеестровСведенийНеобходимыхДляНазначенияИВыплатыПособий.ПособияПоНетрудоспособности
Или ВидРеестраФСС = Перечисления.ВидыРеестровСведенийНеобходимыхДляНазначенияИВыплатыПособий.ПособияВставшимНаУчетВРанниеСроки Тогда
РасчетныеПериоды = Новый ТаблицаЗначений;
РасчетныеПериоды.Колонки.Добавить("ПервыйГодРасчета", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(4)));
РасчетныеПериоды.Колонки.Добавить("ВторойГодРасчета", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(4)));
Пока ДанныеРеестра.Следующий() Цикл
ЗаполнитьЗначенияСвойств(РасчетныеПериоды.Добавить(), ДанныеРеестра);
КонецЦикла;
РасчетныеПериоды.Свернуть("ПервыйГодРасчета, ВторойГодРасчета");
ДанныеРеестра.Сбросить();
ВыводитьРасчетныйПериодВШапке = РасчетныеПериоды.Количество() = 1;
Если ВыводитьРасчетныйПериодВШапке Тогда
ПараметрыОбластиШапка.ПериодРасчетаС = "за " + Формат(РасчетныеПериоды[0].ПервыйГодРасчета,"ЧЦ=4; ЧГ=0") + " год";
ПараметрыОбластиШапка.ПериодРасчетаПо = "за " + Формат(РасчетныеПериоды[0].ВторойГодРасчета,"ЧЦ=4; ЧГ=0") + " год";
КонецЕсли;
КонецЕсли;
ОбластьШапка.Параметры.Заполнить(ПараметрыОбластиШапка);
ОбластьПодписи.Параметры.Заполнить(ПараметрыОбластиПодписи);
ТабличныйДокументРеестра.Очистить();
ТабличныйДокументРеестра.Вывести(ОбластьШапка);
ТабличныйДокументРеестра.Вывести(ОбластьПовторятьПриПечати);
ВсегоСтрокДокумента = ДанныеРеестра.Количество();
ВыведеноСтрок = 0;
СписокКарт = Новый Массив;
НомераКартМИР = Новый Соответствие;
Пока ДанныеРеестра.Следующий() Цикл
Если ДанныеРеестра.СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.НаКартуМИР Тогда
Если НомераКартМИР[ДанныеРеестра.КартаМИР] = Неопределено Тогда
НомераКартМИР.Вставить(ДанныеРеестра.КартаМИР, "");
СписокКарт.Добавить(ДанныеРеестра.КартаМИР);
КонецЕсли;
КонецЕсли;
КонецЦикла;
Если СписокКарт.Количество() > 0 Тогда
НомераКартМИР = БанковскиеКарты.ПолныеНомераКарт(СписокКарт);
КонецЕсли;
ДанныеРеестра.Сбросить();
Пока ДанныеРеестра.СледующийПоЗначениюПоля("НомерСтроки") Цикл
ЗаполнитьЗначенияСвойств(ПараметрыОбластиСтрока, ДанныеРеестра);
ПараметрыОбластиСтрока.СерияДокумента = ДанныеРеестра.СерияУдостоверенияЛичности;
ПараметрыОбластиСтрока.НомерДокумента = ДанныеРеестра.НомерУдостоверенияЛичности;
ПараметрыОбластиСтрока.ДатаВыдачиДокумента = ДанныеРеестра.ДатаВыдачиУдостоверенияЛичности;
Если Не ЗначениеЗаполнено(ДанныеРеестра.Отчество) Тогда
ПараметрыОбластиСтрока.Отчество = "-"
КонецЕсли;
ПараметрыОбластиСтрока.НомерКартыМИР = "-";
Если ДанныеРеестра.СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.ПочтовымПереводом Тогда
ПараметрыОбластиСтрока.АдресПочтовый = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформации(ДанныеРеестра.АдресПолучателяФактический);
ПараметрыОбластиСтрока.НаименованиеБанка = "-";
ПараметрыОбластиСтрока.БИКБанка = "-";
ПараметрыОбластиСтрока.НомерЛицевогоСчета = "-";
ПараметрыОбластиСтрока.СпособВыплаты = "почтовым переводом";
Иначе
ПараметрыОбластиСтрока.СпособВыплаты = "на банковский счет";
ПараметрыОбластиСтрока.АдресПочтовый = "-";
Если ДанныеРеестра.СпособВыплатыПособия = Перечисления.СпособыВыплатыПособия.НаКартуМИР Тогда
ПараметрыОбластиСтрока.НомерКартыМИР = НомераКартМИР[ДанныеРеестра.КартаМИР];
КонецЕсли;
КонецЕсли;
ПараметрыОбластиСтрока.АдресРегистрации = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформации(
ДанныеРеестра.АдресПолучателяРегистрации);
ПараметрыОбластиСтрока.ИнаяПолезнаяИнформация = "-";
Если ВидРеестраФСС = Перечисления.ВидыРеестровСведенийНеобходимыхДляНазначенияИВыплатыПособий.ЕдиновременныеПособияПриРожденииРебенка
Или ВидРеестраФСС = Перечисления.ВидыРеестровСведенийНеобходимыхДляНазначенияИВыплатыПособий.ЕжемесячныеПособияПоУходуЗаРебенком Тогда
ПараметрыОбластиСтрока.Статус = "-";
Если Не ЗначениеЗаполнено(ДанныеРеестра.НаименованиеДокументаНаПроживание) Тогда
ПараметрыОбластиСтрока.НаименованиеДокументаНаПроживание = "-"
КонецЕсли;
Если Не ЗначениеЗаполнено(ДанныеРеестра.СерияДокументаНаПроживание) Тогда
ПараметрыОбластиСтрока.СерияДокументаНаПроживание = "-"
КонецЕсли;
Если Не ЗначениеЗаполнено(ДанныеРеестра.НомерДокументаНаПроживание) Тогда
ПараметрыОбластиСтрока.НомерДокументаНаПроживание = "-"
КонецЕсли;
Если Не ЗначениеЗаполнено(ДанныеРеестра.ДатаВыдачиДокументаНаПроживание) Тогда
ПараметрыОбластиСтрока.ДатаВыдачиДокументаНаПроживание = "-"
КонецЕсли;
КонецЕсли;
Если ВидРеестраФСС = Перечисления.ВидыРеестровСведенийНеобходимыхДляНазначенияИВыплатыПособий.ПособияПоНетрудоспособности
Или ВидРеестраФСС = Перечисления.ВидыРеестровСведенийНеобходимыхДляНазначенияИВыплатыПособий.ПособияВставшимНаУчетВРанниеСроки Тогда
Если Не ЗначениеЗаполнено(ДанныеРеестра.НаименованиеДокументаНаПроживание) Тогда
ПараметрыОбластиСтрока.НаименованиеДокументаНаПроживание = "-"
КонецЕсли;
Если ЗначениеЗаполнено(ДанныеРеестра.СерияДокументаНаПроживание) Или ЗначениеЗаполнено(ДанныеРеестра.НомерДокументаНаПроживание) Тогда
ПараметрыОбластиСтрока.СерияНомерДокументаНаПроживание = СокрЛП(ДанныеРеестра.СерияДокументаНаПроживание + " " + ДанныеРеестра.НомерДокументаНаПроживание);
Иначе
ПараметрыОбластиСтрока.СерияНомерДокументаНаПроживание = "-"
КонецЕсли;
Если Не ЗначениеЗаполнено(ДанныеРеестра.ДатаВыдачиДокументаНаПроживание) Тогда
ПараметрыОбластиСтрока.ДатаВыдачиДокументаНаПроживание = "-"
КонецЕсли;
Если ДанныеРеестра.ВидПособия = Перечисления.ПособияНазначаемыеФСС.ПособиеПоБеременностиИРодам
Или Не ЗначениеЗаполнено(ПараметрыОбластиСтрока.ИННПолучателя) Тогда
ПараметрыОбластиСтрока.ИННПолучателя = "-";
КонецЕсли;
Если ЗначениеЗаполнено(ДанныеРеестра.НомерПервичногоЛисткаНетрудоспособности) Тогда
ПараметрыОбластиСтрока.НомерЛисткаНетрудоспособности = СокрЛП(ПараметрыОбластиСтрока.НомерЛисткаНетрудоспособности) + " (" + СокрЛП(ДанныеРеестра.НомерПервичногоЛисткаНетрудоспособности) + ")";
КонецЕсли;
ПараметрыОбластиСтрока.ПричинаНетрудоспособности = ДанныеРеестра.КодПричиныНетрудоспособности;
Если ЗначениеЗаполнено(ДанныеРеестра.ДополнительныйКодПричиныНетрудоспособности) Тогда
ПараметрыОбластиСтрока.ПричинаНетрудоспособности = ПараметрыОбластиСтрока.ПричинаНетрудоспособности + ", " + ДанныеРеестра.ДополнительныйКодПричиныНетрудоспособности;
КонецЕсли;
Если ЗначениеЗаполнено(ДанныеРеестра.ВторойКодПричиныНетрудоспособности) Тогда
ПараметрыОбластиСтрока.ПричинаНетрудоспособности = ПараметрыОбластиСтрока.ПричинаНетрудоспособности + ", "
+ ДанныеРеестра.ВторойКодПричиныНетрудоспособности
+ ?(ЗначениеЗаполнено(ДанныеРеестра.ДатаИзмененияКодаПричиныНетрудоспособности), " (" + Формат(ДанныеРеестра.ДатаИзмененияКодаПричиныНетрудоспособности,"ДФ=dd.MM.yyyy") + ")", "");
КонецЕсли;
ПараметрыОбластиСтрока.УходЗаРодственником = ?(ЗначениеЗаполнено(ДанныеРеестра.ПоУходуФИО1), СокрЛП(ДанныеРеестра.ПоУходуФИО1)
+ ОписаниеСтажаВПечатнойФорме(ДанныеРеестра.ПоУходуВозрастЛет1, ДанныеРеестра.ПоУходуВозрастМесяцев1)
+ ?(ЗначениеЗаполнено(ДанныеРеестра.ПоУходуРодственнаяСвязь1),", " + ДанныеРеестра.ПоУходуРодственнаяСвязь1, ""),"")
+ ?(ЗначениеЗаполнено(ДанныеРеестра.ПоУходуФИО2), "; " + Символы.ПС + СокрЛП(ДанныеРеестра.ПоУходуФИО2)
+ ОписаниеСтажаВПечатнойФорме(ДанныеРеестра.ПоУходуВозрастЛет2, ДанныеРеестра.ПоУходуВозрастМесяцев2)
+ ?(ЗначениеЗаполнено(ДанныеРеестра.ПоУходуРодственнаяСвязь2),", " + ДанныеРеестра.ПоУходуРодственнаяСвязь2, ""),"");
Если ДанныеРеестра.ВидПособия = Перечисления.ПособияНазначаемыеФСС.ПособиеПоБеременностиИРодам
Или Не ЗначениеЗаполнено(ПараметрыОбластиСтрока.УходЗаРодственником) Тогда
ПараметрыОбластиСтрока.УходЗаРодственником = "-";
КонецЕсли;
Если ДанныеРеестра.ВидПособия = Перечисления.ПособияНазначаемыеФСС.ПособиеПоБеременностиИРодам
Или Не (ЗначениеЗаполнено(ДанныеРеестра.ПериодНахожденияВСтационареСРебенкомС) И ЗначениеЗаполнено(ДанныеРеестра.ПериодНахожденияВСтационареСРебенкомПо)) Тогда
ПараметрыОбластиСтрока.ПериодНахожденияВСтационареСРебенком = "-";
Иначе
ПараметрыОбластиСтрока.ПериодНахожденияВСтационареСРебенком = ОписаниеПериодаВПечатнойФорме(ДанныеРеестра.ПериодНахожденияВСтационареСРебенкомС, ДанныеРеестра.ПериодНахожденияВСтационареСРебенкомПо);
КонецЕсли;
ПараметрыОбластиСтрока.Освобождение = ОписаниеПериодаВПечатнойФорме(ДанныеРеестра.ДатаНачала, ДанныеРеестра.ДатаОкончания);
ПараметрыОбластиСтрока.УстановленаИзмененаГруппаИнвалидности = ЗначениеЗаполнено(ДанныеРеестра.ГруппаИнвалидности);
Если Не ЗначениеЗаполнено(ПараметрыОбластиСтрока.ДатаСправкиБеременной) Тогда
ПараметрыОбластиСтрока.ДатаСправкиБеременной = "-"
КонецЕсли;
Если Не ЗначениеЗаполнено(ПараметрыОбластиСтрока.НомерСправкиБеременной) Тогда
ПараметрыОбластиСтрока.НомерСправкиБеременной = "-"
КонецЕсли;
Если ЗначениеЗаполнено(ДанныеРеестра.КодНарушенияРежима) И ЗначениеЗаполнено(ДанныеРеестра.ДатаНарушенияРежима) Тогда
ПараметрыОбластиСтрока.НарушениеРежима = ДанныеРеестра.КодНарушенияРежима + ", " + Формат(ДанныеРеестра.ДатаНарушенияРежима,"ДФ=dd.MM.yyyy");
Иначе
ПараметрыОбластиСтрока.НарушениеРежима = "-";
КонецЕсли;
НестраховойСтаж = УчетПособийСоциальногоСтрахования.НестраховойСтаж(ДанныеРеестра);
Если НестраховойСтаж.Лет <> 0 Или НестраховойСтаж.Месяцев <> 0 Тогда
ПараметрыОбластиСтрока.Стаж = СтрЗаменить(ОписаниеСтажаВПечатнойФорме(ДанныеРеестра.СтажРасширенныйЛет, ДанныеРеестра.СтажРасширенныйМесяцев),",","");
ПараметрыОбластиСтрока.НестраховыеПериоды = СтрЗаменить(ОписаниеСтажаВПечатнойФорме(НестраховойСтаж.Лет, НестраховойСтаж.Месяцев),",","");
Иначе
ПараметрыОбластиСтрока.Стаж = СтрЗаменить(ОписаниеСтажаВПечатнойФорме(ДанныеРеестра.СтажЛет, ДанныеРеестра.СтажМесяцев),",","");
ПараметрыОбластиСтрока.НестраховыеПериоды = "-";
КонецЕсли;
Если ЗначениеЗаполнено(ДанныеРеестра.СрочныйДоговорС) И ЗначениеЗаполнено(ДанныеРеестра.СрочныйДоговорПо) Тогда
ПараметрыОбластиСтрока.СрочныйДоговор = ОписаниеПериодаВПечатнойФорме(ДанныеРеестра.СрочныйДоговорС, ДанныеРеестра.СрочныйДоговорПо);
Иначе
ПараметрыОбластиСтрока.СрочныйДоговор = "-";
КонецЕсли;
УсловияИсчисления = Новый Массив;
Если ЗначениеЗаполнено(ДанныеРеестра.УсловияИсчисленияКод1) Тогда
УсловияИсчисления.Добавить(ДанныеРеестра.УсловияИсчисленияКод1);
КонецЕсли;
Если ЗначениеЗаполнено(ДанныеРеестра.УсловияИсчисленияКод2) Тогда
УсловияИсчисления.Добавить(ДанныеРеестра.УсловияИсчисленияКод2);
КонецЕсли;
Если ЗначениеЗаполнено(ДанныеРеестра.УсловияИсчисленияКод3) Тогда
УсловияИсчисления.Добавить(ДанныеРеестра.УсловияИсчисленияКод3);
КонецЕсли;
Если УсловияИсчисления.Количество() Тогда
ПараметрыОбластиСтрока.УсловияИсчисления = СтрСоединить(УсловияИсчисления, ", ");
Иначе
ПараметрыОбластиСтрока.УсловияИсчисления = "-";
КонецЕсли;
ПараметрыОбластиСтрока.ПериодПростояС = "";
ПараметрыОбластиСтрока.ПериодПростояПо = "";
Если ЗначениеЗаполнено(ДанныеРеестра.ПериодПростояС1) И ЗначениеЗаполнено(ДанныеРеестра.ПериодПростояПо1) Тогда
ПараметрыОбластиСтрока.ПериодПростояС = Формат(ДанныеРеестра.ПериодПростояС1,"ДФ=dd.MM.yyyy");
ПараметрыОбластиСтрока.ПериодПростояПо = Формат(ДанныеРеестра.ПериодПростояПо1,"ДФ=dd.MM.yyyy");
КонецЕсли;
Если ЗначениеЗаполнено(ДанныеРеестра.ПериодПростояС2) И ЗначениеЗаполнено(ДанныеРеестра.ПериодПростояПо2) Тогда
ПараметрыОбластиСтрока.ПериодПростояС = ПараметрыОбластиСтрока.ПериодПростояС
+ ?(ЗначениеЗаполнено(ПараметрыОбластиСтрока.ПериодПростояС), "; ", "")
+ Формат(ДанныеРеестра.ПериодПростояС2,"ДФ=dd.MM.yyyy");
ПараметрыОбластиСтрока.ПериодПростояПо = ПараметрыОбластиСтрока.ПериодПростояПо
+ ?(ЗначениеЗаполнено(ПараметрыОбластиСтрока.ПериодПростояПо), "; ", "")
+ Формат(ДанныеРеестра.ПериодПростояПо2,"ДФ=dd.MM.yyyy");
КонецЕсли;
Если ПустаяСтрока(ПараметрыОбластиСтрока.ПериодПростояС) Тогда
ПараметрыОбластиСтрока.ПериодПростояС = "-";
КонецЕсли;
Если ПустаяСтрока(ПараметрыОбластиСтрока.ПериодПростояПо) Тогда
ПараметрыОбластиСтрока.ПериодПростояПо = "-";
КонецЕсли;
Если ДанныеРеестра.СчитатьПоПравилам2010Года Тогда
ПараметрыОбластиСтрока.ПериодРасчетаС = Формат(ДанныеРеестра.ПериодРасчетаСреднегоЗаработкаНачало,"ДФ=dd.MM.yyyy");
ПараметрыОбластиСтрока.ПериодРасчетаПо = Формат(ДанныеРеестра.ПериодРасчетаСреднегоЗаработкаОкончание,"ДФ=dd.MM.yyyy");
ПараметрыОбластиСтрока.СреднийЗаработок = Формат(ДанныеРеестра.СреднийЗаработокЗаРасчетныйПериод,"ЧЦ=15; ЧДЦ=2; ЧГ=0") + " (" + Формат(ДанныеРеестра.КалендарныхДнейРасчетногоПериода,"ЧЦ=3; ЧГ=0") + ")";
ИначеЕсли ДанныеРеестра.ПорядокРасчетаСреднегоЗаработка = Перечисления.СпособыРасчетаСреднегоЗаработкаДляОплатыПособия.СреднийЗаработок Тогда
ПараметрыОбластиСтрока.ПериодРасчетаС = Формат(ДанныеРеестра.ПервыйГодРасчета,"ЧЦ=4; ЧГ=0");
ПараметрыОбластиСтрока.ПериодРасчетаПо = Формат(ДанныеРеестра.ВторойГодРасчета,"ЧЦ=4; ЧГ=0");
ПараметрыОбластиСтрока.ЗаработокПервыйГод = Формат(ДанныеРеестра.ЗаработокПервыйГодРасчета ,"ЧЦ=15; ЧДЦ=2; ЧГ=0") + ?(Не ВыводитьРасчетныйПериодВШапке, "(за " + Формат(ДанныеРеестра.ПервыйГодРасчета,"ЧЦ=4; ЧГ=0") + " год)", "");
ПараметрыОбластиСтрока.ЗаработокВторойГод = Формат(ДанныеРеестра.ЗаработокВторойГодРасчета ,"ЧЦ=15; ЧДЦ=2; ЧГ=0") + ?(Не ВыводитьРасчетныйПериодВШапке, "(за " + Формат(ДанныеРеестра.ВторойГодРасчета,"ЧЦ=4; ЧГ=0") + " год)", "");
Иначе
ПараметрыОбластиСтрока.ПериодРасчетаС = "-";
ПараметрыОбластиСтрока.ПериодРасчетаПо = "-";
Если ДанныеРеестра.ПорядокРасчетаСреднегоЗаработка = Перечисления.СпособыРасчетаСреднегоЗаработкаДляОплатыПособия.ИсходяИзТарифнойСтавки Тогда
ПараметрыОбластиСтрока.СреднийЗаработок = Формат(ДанныеРеестра.ДолжностнойОклад,"ЧЦ=15; ЧДЦ=2; ЧГ=0");
ИначеЕсли ДанныеРеестра.ПорядокРасчетаСреднегоЗаработка = Перечисления.СпособыРасчетаСреднегоЗаработкаДляОплатыПособия.ИсходяИзМРОТ Тогда
ПараметрыОбластиСтрока.СреднийЗаработок = Формат(ДанныеРеестра.МРОТ * ?(ДанныеРеестра.РайонныйКоэффициент > 1, ДанныеРеестра.РайонныйКоэффициент, 1),"ЧЦ=15; ЧДЦ=2; ЧГ=0");
Иначе
ПараметрыОбластиСтрока.СреднийЗаработок = "";
КонецЕсли;
КонецЕсли;
Если Не ЗначениеЗаполнено(ПараметрыОбластиСтрока.ДоляВремени) Тогда
ПараметрыОбластиСтрока.ДоляВремени = "-";
КонецЕсли;
КонецЕсли;
Если ВидРеестраФСС = Перечисления.ВидыРеестровСведенийНеобходимыхДляНазначенияИВыплатыПособий.ЕдиновременныеПособияПриРожденииРебенка Тогда
ПараметрыОбластиСтрока.Ребенок = ДанныеРеестра.ФамилияРебенка
+ " " + ДанныеРеестра.ИмяРебенка
+ " " + ДанныеРеестра.ОтчествоРебенка
+ "("+ Формат(ДанныеРеестра.ДатаРожденияРебенка, "ДФ=dd.MM.yyyy") + ")";
Если ДанныеРеестра.ДатаПредставленияПакетаДокументов < ПрямыеВыплатыПособийСоциальногоСтрахования.ДатаВступленияВСилуФорм2021Года() Тогда
ПредставлениеТипа = НСтр("ru = 'Заявление о выплате пособия'");
Иначе
ПредставлениеТипа = НСтр("ru = 'Сведения о застрахованном лице'");
КонецЕсли;
ПараметрыОбластиСтрока.ДокументыОснования = ПредставлениеДокумента(ПредставлениеТипа, ДанныеРеестра.ДатаПредставленияПакетаДокументов);
Если ЗначениеЗаполнено(ДанныеРеестра.ДатаСправки) И ЗначениеЗаполнено(ДанныеРеестра.НомерСправки) Тогда
ПараметрыОбластиСтрока.ДокументыОснования = ПараметрыОбластиСтрока.ДокументыОснования + ", "
+ ПредставлениеДокумента(
СтрШаблон(НСтр("ru = 'Справка о рождении, %1,'"), ДанныеРеестра.ВидСправкиОРожденииРебенка),
ДанныеРеестра.ДатаСправки,
ДанныеРеестра.НомерСправки);
КонецЕсли;
Если ЗначениеЗаполнено(ДанныеРеестра.ДатаСвидетельстваОРождении)
И ЗначениеЗаполнено(ДанныеРеестра.НомерСвидетельстваОРождении)
И ЗначениеЗаполнено(ДанныеРеестра.СерияСвидетельстваОРождении) Тогда
ПараметрыОбластиСтрока.ДокументыОснования = ПараметрыОбластиСтрока.ДокументыОснования + ", "
+ ПредставлениеДокумента(
НСтр("ru = 'Свидетельство о рождении'"),
ДанныеРеестра.ДатаСвидетельстваОРождении,
ДанныеРеестра.НомерСвидетельстваОРождении,
ДанныеРеестра.СерияСвидетельстваОРождении);
КонецЕсли;
Если ЗначениеЗаполнено(ДанныеРеестра.ДатаИногоПодтвержденияРождения) И ЗначениеЗаполнено(ДанныеРеестра.НомерИногоПодтвержденияРождения) Тогда
ПараметрыОбластиСтрока.ДокументыОснования = ПараметрыОбластиСтрока.ДокументыОснования + ", "
+ ПредставлениеДокумента(
НСтр("ru = '<Иное подтверждение рождения>'"),
ДанныеРеестра.ДатаИногоПодтвержденияРождения,
ДанныеРеестра.НомерИногоПодтвержденияРождения);
КонецЕсли;
Если ЗначениеЗаполнено(ДанныеРеестра.ДатаСправкиОтДругогоРодителя) И ЗначениеЗаполнено(ДанныеРеестра.НомерСправкиОтДругогоРодителя) Тогда
ПараметрыОбластиСтрока.ДокументыОснования = ПараметрыОбластиСтрока.ДокументыОснования + ", "
+ ПредставлениеДокумента(
НСтр("ru = 'Справка от другого родителя о неполучении пособия'"),
ДанныеРеестра.ДатаСправкиОтДругогоРодителя,
ДанныеРеестра.НомерСправкиОтДругогоРодителя);
КонецЕсли;
Если ЗначениеЗаполнено(ДанныеРеестра.ДатаРешенияОбОпеке) И ЗначениеЗаполнено(ДанныеРеестра.НомерРешенияОбОпеке) Тогда
ПараметрыОбластиСтрока.ДокументыОснования = ПараметрыОбластиСтрока.ДокументыОснования + ", "
+ ПредставлениеДокумента(
НСтр("ru = 'Решение об установлении опеки'"),
ДанныеРеестра.ДатаРешенияОбОпеке,
ДанныеРеестра.НомерРешенияОбОпеке);
КонецЕсли;
Если ЗначениеЗаполнено(ДанныеРеестра.ДатаРешенияОбУсыновлении) И ЗначениеЗаполнено(ДанныеРеестра.НомерРешенияОбУсыновлении) Тогда
ПараметрыОбластиСтрока.ДокументыОснования = ПараметрыОбластиСтрока.ДокументыОснования + ", "
+ ПредставлениеДокумента(
НСтр("ru = 'Решение об усыновлении'"),
ДанныеРеестра.ДатаРешенияОбУсыновлении,
ДанныеРеестра.НомерРешенияОбУсыновлении);
КонецЕсли;
Если ЗначениеЗаполнено(ДанныеРеестра.ДатаДоговораОПередачеНаВоспитание) И ЗначениеЗаполнено(ДанныеРеестра.НомерДоговораОПередачеНаВоспитание) Тогда
ПараметрыОбластиСтрока.ДокументыОснования = ПараметрыОбластиСтрока.ДокументыОснования + ", "
+ ПредставлениеДокумента(
НСтр("ru = 'Договор о передаче ребенка на воспитание в приемную семью'"),
ДанныеРеестра.ДатаДоговораОПередачеНаВоспитание,
ДанныеРеестра.НомерДоговораОПередачеНаВоспитание);
КонецЕсли;
КонецЕсли;
Если ВидРеестраФСС = Перечисления.ВидыРеестровСведенийНеобходимыхДляНазначенияИВыплатыПособий.ЕжемесячныеПособияПоУходуЗаРебенком Тогда
ПараметрыОбластиСтрока.ОписаниеЛьгот = "-";
Если ЗначениеЗаполнено(ДанныеРеестра.ФинансированиеФедеральнымБюджетом)
И НЕ ДанныеРеестра.ФинансированиеФедеральнымБюджетом = Перечисления.ОснованияФинансированияПособияФедеральнымБюджетом.ЗачетНестраховыхПериодов
И ЗначениеЗаполнено(ДанныеРеестра.ПроживаниеРаботаВЛьготнойЗоне)
И НЕ ДанныеРеестра.ПроживаниеРаботаВЛьготнойЗоне = Перечисления.ОтношениеКОсобойЗоне.Нет Тогда
Если ДанныеРеестра.СтатусЛьготнойЗоны = Перечисления.ВидыОсобойЗоныПроживанияРаботы.ЗонаСПравомНаОтселение Тогда
ПараметрыОбластиСтрока.ОписаниеЛьгот = "1";
ИначеЕсли ДанныеРеестра.СтатусЛьготнойЗоны = Перечисления.ВидыОсобойЗоныПроживанияРаботы.ЗонаСЛьготнымСоциальноЭкономическимСтатусом Тогда
ПараметрыОбластиСтрока.ОписаниеЛьгот = "2";
ИначеЕсли ДанныеРеестра.СтатусЛьготнойЗоны = Перечисления.ВидыОсобойЗоныПроживанияРаботы.ЗонаОтселения Тогда
ПараметрыОбластиСтрока.ОписаниеЛьгот = "3";
ИначеЕсли ДанныеРеестра.СтатусЛьготнойЗоны = Перечисления.ВидыОсобойЗоныПроживанияРаботы.ЗонаЗагрязненияПриАварииПОМаяк Тогда
ПараметрыОбластиСтрока.ОписаниеЛьгот = "4";
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(ДанныеРеестра.НомерПриказаНаОтпускПоУходуЗаРебенком) И ЗначениеЗаполнено(ДанныеРеестра.ДатаПриказаНаОтпускПоУходуЗаРебенком) Тогда
ПараметрыОбластиСтрока.ОписаниеПриказаНаОтпуск = "Приказ № " + ДанныеРеестра.НомерПриказаНаОтпускПоУходуЗаРебенком
+ " от " + Формат(ДанныеРеестра.ДатаПриказаНаОтпускПоУходуЗаРебенком,"ДФ=dd.MM.yyyy") + Символы.ПС
+ "(отпуск: " + ОписаниеПериодаВПечатнойФорме(ДанныеРеестра.ДатаНачала, ДанныеРеестра.ДатаОкончания) + ")";
Иначе
ПараметрыОбластиСтрока.ОписаниеПриказаНаОтпуск = "Отпуск: " + ОписаниеПериодаВПечатнойФорме(ДанныеРеестра.ДатаНачала, ДанныеРеестра.ДатаОкончания);
КонецЕсли;
Если ДанныеРеестра.ДатаПредставленияПакетаДокументов < ПрямыеВыплатыПособийСоциальногоСтрахования.ДатаВступленияВСилуФорм2021Года() Тогда
ПредставлениеТипа = НСтр("ru = 'Заявление о выплате пособия от'");
Иначе
ПредставлениеТипа = НСтр("ru = 'Сведения о застрахованном лице от'");
КонецЕсли;
ДокументыНаДетей = ПредставлениеТипа + " " + Формат(ДанныеРеестра.ДатаПредставленияПакетаДокументов,"ДФ=dd.MM.yyyy")+ Символы.ПС
+ ДанныеРеестра.НаименованиеПодтверждающегоДокумента + " от " + Формат(ДанныеРеестра.ДатаПодтверждающегоДокумента,"ДФ=dd.MM.yyyy")
+ " № " + СокрЛПД(ДанныеРеестра.СерияНомерПодтверждающегоДокумента);
Если ЗначениеЗаполнено(ДанныеРеестра.ДатаСправкиОНеполученииПособияОтОтца) И ЗначениеЗаполнено(ДанныеРеестра.НомерСправкиОНеполученииПособияОтОтца) Тогда
ДокументыНаДетей = ДокументыНаДетей + Символы.ПС
+ "Справка о неполучении пособия отца от "
+ Формат(ДанныеРеестра.ДатаСправкиОНеполученииПособияОтОтца,"ДФ=dd.MM.yyyy")
+ " № " + ДанныеРеестра.НомерСправкиОНеполученииПособияОтОтца;
КонецЕсли;
Если ЗначениеЗаполнено(ДанныеРеестра.ДатаСправкиОНеполученииПособияОтМатери) И ЗначениеЗаполнено(ДанныеРеестра.НомерСправкиОНеполученииПособияОтМатери) Тогда
ДокументыНаДетей = ДокументыНаДетей + Символы.ПС
+ "Справка о неполучении пособия матери от "
+ Формат(ДанныеРеестра.ДатаСправкиОНеполученииПособияОтМатери,"ДФ=dd.MM.yyyy")
+ " № " + ДанныеРеестра.НомерСправкиОНеполученииПособияОтМатери;
КонецЕсли;
Если ЗначениеЗаполнено(ДанныеРеестра.ДатаСправкиПоДругимМестамРаботы) И ЗначениеЗаполнено(ДанныеРеестра.НомерСправкиПоДругимМестамРаботы) Тогда
ДокументыНаДетей = ДокументыНаДетей + Символы.ПС
+ "Справка о неполучении пособия по другим местам работы от "
+ Формат(ДанныеРеестра.ДатаСправкиПоДругимМестамРаботы,"ДФ=dd.MM.yyyy")
+ " № " + ДанныеРеестра.НомерСправкиПоДругимМестамРаботы;
КонецЕсли;
ПараметрыОбластиСтрока.ДокументыНаДетей = ДокументыНаДетей;
ПараметрыОбластиСтрока.ДетиИПредыдущиеДети = СокрЛП(ДанныеРеестра.ФамилияРебенка) + " " + СокрЛП(ДанныеРеестра.ИмяРебенка) + " " + СокрЛП(ДанныеРеестра.ОтчествоРебенка)
+ " (" + Формат(ДанныеРеестра.ДатаРожденияРебенка,"ДФ=dd.MM.yyyy") + ")";
Если ДанныеРеестра.НаличиеРешенияСудаОЛишенииПрав Тогда
ПараметрыОбластиСтрока.ЛишениеРодительскихПрав = СокрЛП(ДанныеРеестра.ФамилияРебенка) + " " + СокрЛП(ДанныеРеестра.ИмяРебенка) + " " + СокрЛП(ДанныеРеестра.ОтчествоРебенка);
Иначе
ПараметрыОбластиСтрока.ЛишениеРодительскихПрав = "-";
КонецЕсли;
Если ЗначениеЗаполнено(ДанныеРеестра.ДатаПриказаОЗаменеПослеродовогоОтпуска) И ЗначениеЗаполнено(ДанныеРеестра.НомерПриказаОЗаменеПослеродовогоОтпуска) Тогда
ПараметрыОбластиСтрока.ОписаниеПриказаНаЗаменуОтпуска = "№ " + ДанныеРеестра.НомерПриказаОЗаменеПослеродовогоОтпуска
+ " от " + Формат(ДанныеРеестра.ДатаПриказаОЗаменеПослеродовогоОтпуска,"ДФ=dd.MM.yyyy")
+ " (" + Формат(ДанныеРеестра.ДатаРожденияРебенка,"ДФ=dd.MM.yyyy") + ")";
Иначе
ПараметрыОбластиСтрока.ОписаниеПриказаНаЗаменуОтпуска = "-";
КонецЕсли;
Если ДанныеРеестра.ОдновременныйУходЗаНесколькимиДетьми Тогда
ПараметрыОбластиСтрока.СреднийМесячныйЗаработок = Формат(ДанныеРеестра.СреднийДневнойЗаработок * 30.4,"ЧЦ=15; ЧДЦ=2; ЧГ=0");
Иначе
ПараметрыОбластиСтрока.СреднийМесячныйЗаработок = "";
КонецЕсли;
ПараметрыОбластиСтрока.ПериодРасчетаС = Формат(ДанныеРеестра.ПервыйГодРасчета,"ЧЦ=4; ЧГ=0");
ПараметрыОбластиСтрока.ПериодРасчетаПо = Формат(ДанныеРеестра.ВторойГодРасчета,"ЧЦ=4; ЧГ=0");
ПараметрыОбластиСтрока.ЗаработокПервыйГод = Формат(ДанныеРеестра.ЗаработокПервыйГодРасчета ,"ЧЦ=15; ЧДЦ=2; ЧГ=0")
+ ?(Не ВыводитьРасчетныйПериодВШапке, "(за " + Формат(ДанныеРеестра.ПервыйГодРасчета,"ЧЦ=4; ЧГ=0") + " год)", "");
ПараметрыОбластиСтрока.ЗаработокВторойГод = Формат(ДанныеРеестра.ЗаработокВторойГодРасчета ,"ЧЦ=15; ЧДЦ=2; ЧГ=0")
+ ?(Не ВыводитьРасчетныйПериодВШапке, "(за " + Формат(ДанныеРеестра.ВторойГодРасчета,"ЧЦ=4; ЧГ=0") + " год)", "");
КонецЕсли;
ОбластьСтрока.Параметры.Заполнить(ПараметрыОбластиСтрока);
ВыведеноСтрок = ВыведеноСтрок + 1;
ВывестиПодвалЛиста = Не ОбщегоНазначения.ПроверитьВыводТабличногоДокумента(ТабличныйДокументРеестра, ВыводимыеОбласти);
Если Не ВывестиПодвалЛиста И ВыведеноСтрок = ВсегоСтрокДокумента Тогда
ВыводимыеОбласти.Добавить(ОбластьПодвал);
ВыводимыеОбласти.Добавить(ОбластьПодписи);
ВывестиПодвалЛиста = Не ОбщегоНазначения.ПроверитьВыводТабличногоДокумента(ТабличныйДокументРеестра, ВыводимыеОбласти);
КонецЕсли;
Если ВывестиПодвалЛиста Тогда
ТабличныйДокументРеестра.ВывестиГоризонтальныйРазделительСтраниц();
ТабличныйДокументРеестра.Вывести(ОбластьПовторятьПриПечати);
КонецЕсли;
ТабличныйДокументРеестра.Вывести(ОбластьСтрока);
КонецЦикла;
ТабличныйДокументРеестра.Вывести(ОбластьПодвал);
ТабличныйДокументРеестра.Вывести(ОбластьПодписи);
Если ТабличныйДокумент.ВысотаТаблицы > 0 Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабличныйДокумент.Вывести(ТабличныйДокументРеестра);
Возврат ТабличныйДокумент;
КонецФункции
Функция ПредставлениеДокумента(ПредставлениеТипаДокумента, ДатаДокумента, НомерДокумента = Неопределено, СерияДокумента = Неопределено) Экспорт
ПредставлениеДокумента = СтрШаблон(НСтр("ru = '%1 от %2'"), ПредставлениеТипаДокумента, Формат(ДатаДокумента, "ДФ=dd.MM.yyyy"));
Если СерияДокумента <> Неопределено Тогда
ПредставлениеДокумента = ПредставлениеДокумента + " " + СтрШаблон(НСтр("ru = 'серия %1'"), СерияДокумента);
КонецЕсли;
Если НомерДокумента <> Неопределено Тогда
ПредставлениеДокумента = ПредставлениеДокумента + " " + СтрШаблон(НСтр("ru = '№ %1'"), НомерДокумента);
КонецЕсли;
Возврат ПредставлениеДокумента;
КонецФункции
Функция СокрЛПД(Строка)
ПробелыИПереносыСтрок = " " + Символы.ВК + Символы.ВТаб + Символы.НПП + Символы.ПС + Символы.ПФ + Символы.Таб;
Возврат СтрСоединить(СтрРазделить(СокрЛП(Строка), ПробелыИПереносыСтрок, Ложь), " ");
КонецФункции
Функция ИмяМакетаДляПечатиПриложения(ВидРеестра, ДатаОтправки)
Если ВидРеестра = Перечисления.ВидыРеестровСведенийНеобходимыхДляНазначенияИВыплатыПособий.ПособияПоНетрудоспособности
Или ВидРеестра = Перечисления.ВидыРеестровСведенийНеобходимыхДляНазначенияИВыплатыПособий.ПособияВставшимНаУчетВРанниеСроки Тогда
Если ДатаОтправки < ПрямыеВыплатыПособийСоциальногоСтрахования.ДатаВступленияВСилуФорм2021Года() Тогда
Возврат "ПФ_MXL_РеестрВФСС_Приложение1";
Иначе
Возврат "ПФ_MXL_РеестрВФСС_Приложение15_2021";
КонецЕсли;
ИначеЕсли ВидРеестра = Перечисления.ВидыРеестровСведенийНеобходимыхДляНазначенияИВыплатыПособий.ЕдиновременныеПособияПриРожденииРебенка Тогда
Если ДатаОтправки < ПрямыеВыплатыПособийСоциальногоСтрахования.ДатаВступленияВСилуФорм2021Года() Тогда
Возврат "ПФ_MXL_РеестрВФСС_Приложение3";
Иначе
Возврат "ПФ_MXL_РеестрВФСС_Приложение17_2021";
КонецЕсли;
ИначеЕсли ВидРеестра = Перечисления.ВидыРеестровСведенийНеобходимыхДляНазначенияИВыплатыПособий.ЕжемесячныеПособияПоУходуЗаРебенком Тогда
Если ДатаОтправки < ПрямыеВыплатыПособийСоциальногоСтрахования.ДатаВступленияВСилуФорм2021Года() Тогда
Возврат "ПФ_MXL_РеестрВФСС_Приложение5";
Иначе
Возврат "ПФ_MXL_РеестрВФСС_Приложение19_2021";
КонецЕсли;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Функция ОписаниеМакетаДляПечати(ИмяМакета)
ПолноеИмяМакета = "Документ.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий." + ИмяМакета;
Макет = ПолучитьМакет(ИмяМакета);
ОписаниеМакета = Новый Структура("ИмяМакета", ПолноеИмяМакета);
ОписаниеМакета.Вставить("Макет", УправлениеПечатью.МакетПечатнойФормы(ПолноеИмяМакета));
Для Каждого Область Из Макет.Области Цикл
ПараметрыОбласти = ОбщегоНазначенияБЗК.ПараметрыТабличногоДокумента(Макет.ПолучитьОбласть(Область.Имя));
ОписаниеМакета.Вставить(Область.Имя, ПараметрыОбласти);
КонецЦикла;
Возврат ОписаниеМакета;
КонецФункции
Функция ОписаниеСтажаВПечатнойФорме(СтажЛет, СтажМесяцев)
Возврат ?(ЗначениеЗаполнено(СтажЛет), ", " + СтажЛет + " " + ПерсонифицированныйУчет.ФормаМножественногоЧисла("год","года","лет", СтажЛет),"") + ?(ЗначениеЗаполнено(СтажМесяцев), Символы.ПС + СтажМесяцев + " " + ПерсонифицированныйУчет.ФормаМножественногоЧисла("месяц","месяца","месяцев", СтажМесяцев),"");
КонецФункции
Функция ОписаниеПериодаВПечатнойФорме(ДатаС, ДатаПо) Экспорт
Возврат "с " + Формат(ДатаС,"ДФ=dd.MM.yyyy") + " по " + Формат(ДатаПо,"ДФ=dd.MM.yyyy");
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецЕсли