#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область ДляВызоваИзДругихПодсистем
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Обработчик = "УправлениеПечатьюБЗККлиент.ВыполнитьКомандуПечати";
КомандаПечати.Идентификатор = "ОписьЗаявленийСотрудниковНаВыплатуПособий";
КомандаПечати.Представление = НСтр("ru = 'Опись заявлений сотрудников на выплату пособий'");
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Обработчик = "УправлениеПечатьюБЗККлиент.ВыполнитьКомандуПечати";
КомандаПечати.Идентификатор = "ПФ_MXL_ПриказСФР_2024_172";
КомандаПечати.Представление = НСтр("ru = 'Приложение к приказу СФР от 06.02.2024 N 172'");
УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати, "ОтдельнаяСтрокаПодКаждыйДокумент", Истина);
КонецПроцедуры
Процедура Печать(МассивСсылок, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ОписьЗаявленийСотрудниковНаВыплатуПособий") Тогда
ТабличныйДокумент = ПечатьОписиЗаявленийСотрудниковНаВыплатуПособий(МассивСсылок, ОбъектыПечати);
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ОписьЗаявленийСотрудниковНаВыплатуПособий",
НСтр("ru = 'Опись заявлений сотрудников на выплату пособий'"),
ТабличныйДокумент);
КонецЕсли;
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПФ_MXL_ПриказСФР_2024_172") Тогда
ТабличныйДокумент = ТабличныйДокумент_ПриказСФР_2024_172(МассивСсылок, ОбъектыПечати);
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ПФ_MXL_ПриказСФР_2024_172",
НСтр("ru = 'Приложение к приказу СФР от 06.02.2024 N 172'"),
ТабличныйДокумент);
КонецЕсли;
КонецПроцедуры
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ДляВсехСтрок( ЗначениеРазрешено(ФизическиеЛица.ФизическоеЛицо, NULL КАК ИСТИНА)
| ) И ЗначениеРазрешено(Организация)";
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс
Функция ОписаниеСоставаОбъекта() Экспорт
ОписаниеСостава = ЗарплатаКадрыСоставДокументов.НовоеОписаниеСоставаОбъекта();
ОписаниеСостава.ЗаполнятьФизическиеЛицаПоСотрудникам = Ложь;
ОписаниеСостава.ИспользоватьКраткийСостав = Ложь;
ОписаниеСостава.ЗаполнятьТабличнуюЧастьФизическиеЛицаДокумента = Ложь;
ЗарплатаКадрыСоставДокументов.ДобавитьОписаниеХраненияСотрудниковФизическихЛиц(
ОписаниеСостава.ОписаниеХраненияСотрудниковФизическихЛиц,
"ФизическиеЛица",
"ФизическоеЛицо");
Возврат ОписаниеСостава;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область НПА
Функция ДатаНачалаПриказаСФР_2024_172() Экспорт
Возврат '20240602';
КонецФункции
#КонецОбласти
#Область Печать
Функция ЗапросДляПечатиОписи(МассивСсылок)
ДатаФорм2017 = ПрямыеВыплатыПособийСоциальногоСтрахования.ДатаВступленияВСилуФорм2017Года();
ДатаФорм2021 = ПрямыеВыплатыПособийСоциальногоСтрахования.ДатаВступленияВСилуФорм2021Года();
Запрос = Новый Запрос();
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("МассивСсылок", МассивСсылок);
Запрос.УстановитьПараметр("ДатаФорм2017", ДатаФорм2017);
Запрос.УстановитьПараметр("ДатаФорм2021", ДатаФорм2021);
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ОписьЗаявленийСотрудниковНаВыплатуПособий.ПредставительСФР КАК ФизическоеЛицо,
| ОписьЗаявленийСотрудниковНаВыплатуПособий.Дата КАК Период
|ПОМЕСТИТЬ ВТФизическиеЛица
|ИЗ
| Документ.ОписьЗаявленийСотрудниковНаВыплатуПособий КАК ОписьЗаявленийСотрудниковНаВыплатуПособий
|ГДЕ
| ОписьЗаявленийСотрудниковНаВыплатуПособий.Ссылка В(&МассивСсылок)";
Запрос.Выполнить();
Описатель = КадровыйУчет.ОписательВременныхТаблицДляСоздатьВТКадровыеДанныеФизическихЛиц(Запрос.МенеджерВременныхТаблиц, "ВТФизическиеЛица");
КадровыйУчет.СоздатьВТКадровыеДанныеФизическихЛиц(Описатель, Истина, "ФИОПолные");
Запрос.Текст =
"ВЫБРАТЬ
| ДокументОпись.Ссылка КАК Ссылка,
| ДокументЗаявление.Номер КАК Номер,
| ДокументОпись.Дата КАК Дата,
| ВЫБОР
| КОГДА ДокументОпись.Дата < &ДатаФорм2017
| ТОГДА ""ПФ_MXL_ОписьЗаявленийИДокументовВФСС_2012""
| КОГДА ДокументОпись.Дата < &ДатаФорм2021
| ТОГДА ""ПФ_MXL_ОписьЗаявленийИДокументовВФСС_2017""
| ИНАЧЕ ""ПФ_MXL_ОписьЗаявленийИДокументовВФСС_2021""
| КОНЕЦ КАК ИмяМакета,
| ТаблицаЗаявленияДокументаОпись.Заявление КАК Заявление,
| ТаблицаЗаявленияДокументаОпись.КраткоеНаименованиеДокументов КАК КраткоеНаименованиеДокументов,
| ТаблицаЗаявленияДокументаОпись.КоличествоСтраниц КАК КоличествоСтраниц,
| ТаблицаЗаявленияДокументаОпись.КоличествоДокументов КАК КоличествоДокументов,
| ДокументОпись.НаименованиеОрганизации КАК НаименованиеОрганизации,
| ДокументОпись.РегистрационныйНомерФСС КАК РегистрационныйНомерФСС,
| ДокументОпись.КодПодчиненностиФСС КАК КодПодчиненностиФСС,
| ДокументОпись.ИНН КАК ИНН,
| ДокументОпись.КПП КАК КПП,
| ДокументОпись.ДополнительныйКодФСС КАК ДополнительныйКодФСС,
| ДокументОпись.НаименованиеТерриториальногоОрганаФСС КАК НаименованиеТерриториальногоОрганаФСС,
| ДокументОпись.ТелефонСтрахователя КАК ТелефонСтрахователя,
| ДокументОпись.ТелефонУполномоченногоПредставителя КАК ТелефонУполномоченногоПредставителя,
| ДокументОпись.ДолжностьПредставителяСФР КАК ДолжностьПредставителяСФР,
| ДокументОпись.УдалитьФИОУполномоченного КАК УдалитьФИОУполномоченного,
| ВЫБОР
| КОГДА КадровыеДанныеУполномоченных.ФИОПолные ЕСТЬ NULL
| ИЛИ КадровыеДанныеУполномоченных.ФИОПолные = """"
| ТОГДА ДокументОпись.УдалитьФИОУполномоченного
| ИНАЧЕ КадровыеДанныеУполномоченных.ФИОПолные
| КОНЕЦ КАК ФИОУполномоченногоПредставителя,
| ВЫБОР
| КОГДА ДокументЗаявление.ВидПособия = ЗНАЧЕНИЕ(Перечисление.ПособияНазначаемыеФСС.ПособиеПоБеременностиИРодам)
| ТОГДА 2
| КОГДА ДокументЗаявление.ВидПособия = ЗНАЧЕНИЕ(Перечисление.ПособияНазначаемыеФСС.ПособиеВставшимНаУчетВРанниеСроки)
| ТОГДА 3
| КОГДА ДокументЗаявление.ВидПособия = ЗНАЧЕНИЕ(Перечисление.ПособияНазначаемыеФСС.ЕдиновременноеПособиеПриРожденииРебенка)
| ТОГДА 4
| КОГДА ДокументЗаявление.ВидПособия = ЗНАЧЕНИЕ(Перечисление.ПособияНазначаемыеФСС.ЕжемесячноеПособиеПоУходуЗаРебенком)
| ТОГДА 5
| КОГДА ДокументЗаявление.ВидПособия = ЗНАЧЕНИЕ(Перечисление.ПособияНазначаемыеФСС.ПособиеВСвязиСНесчастнымСлучаемНаПроизводстве)
| ТОГДА 6
| КОГДА ДокументЗаявление.ВидПособия = ЗНАЧЕНИЕ(Перечисление.ПособияНазначаемыеФСС.ОтпускСверхЕжегодногоНаПериодЛечения)
| ТОГДА 9
| ИНАЧЕ 1
| КОНЕЦ КАК ВидПособия,
| ДокументЗаявление.ФамилияЗаявителя КАК ФамилияЗаявителя,
| ДокументЗаявление.ИмяЗаявителя КАК ИмяЗаявителя,
| ДокументЗаявление.ОтчествоЗаявителя КАК ОтчествоЗаявителя,
| ДокументЗаявление.СНИЛСПолучателя КАК СНИЛСПолучателя,
| ДокументОпись.АдресЭлектроннойПочтыУполномоченногоПредставителя КАК АдресЭлектроннойПочтыУполномоченногоПредставителя,
| ВЫБОР
| КОГДА (ВЫРАЗИТЬ(Организации.НаименованиеПолное КАК СТРОКА(1000))) = """"
| ТОГДА Организации.НаименованиеСокращенное
| ИНАЧЕ ВЫРАЗИТЬ(Организации.НаименованиеПолное КАК СТРОКА(1000))
| КОНЕЦ КАК ОрганизацияНаименование,
| ТаблицаЗаявленияДокументаОпись.НомерСтроки КАК НомерСтроки
|ИЗ
| Документ.ОписьЗаявленийСотрудниковНаВыплатуПособий КАК ДокументОпись
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОписьЗаявленийСотрудниковНаВыплатуПособий.Заявления КАК ТаблицаЗаявленияДокументаОпись
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаявлениеСотрудникаНаВыплатуПособия КАК ДокументЗаявление
| ПО ТаблицаЗаявленияДокументаОпись.Заявление = ДокументЗаявление.Ссылка
| ПО (ТаблицаЗаявленияДокументаОпись.Ссылка = ДокументОпись.Ссылка)
| ЛЕВОЕ СОЕДИНЕНИЕ ВТКадровыеДанныеФизическихЛиц КАК КадровыеДанныеУполномоченных
| ПО ДокументОпись.ПредставительСФР = КадровыеДанныеУполномоченных.ФизическоеЛицо
| И ДокументОпись.Дата = КадровыеДанныеУполномоченных.Период
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации КАК Организации
| ПО ДокументОпись.Организация = Организации.Ссылка
|ГДЕ
| ДокументОпись.Ссылка В(&МассивСсылок)
|
|УПОРЯДОЧИТЬ ПО
| Дата,
| Ссылка,
| НомерСтроки";
Возврат Запрос;
КонецФункции
Функция ПечатьОписиЗаявленийСотрудниковНаВыплатуПособий(МассивСсылок, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.КлючПараметровПечати = "ПараметрыПечати_ОписьЗаявленийСотрудниковНаВыплатуПособий";
ТабличныйДокумент.ПолеСлева = 0;
ТабличныйДокумент.ПолеСправа = 0;
ТабличныйДокумент.ПолеСнизу = 0;
ТабличныйДокумент.ПолеСверху = 0;
Запрос = ЗапросДляПечатиОписи(МассивСсылок);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
ТаблицаСтрок = Новый ТаблицаЗначений;
Для Каждого КолонкаРезультатаЗапроса Из РезультатЗапроса.Колонки Цикл
ТаблицаСтрок.Колонки.Добавить(КолонкаРезультатаЗапроса.Имя, КолонкаРезультатаЗапроса.ТипЗначения);
КонецЦикла;
Пока Выборка.СледующийПоЗначениюПоля("ИмяМакета") Цикл
Если Выборка.ИмяМакета = "ПФ_MXL_ОписьЗаявленийИДокументовВФСС_2012" Тогда
КоличествоСтрокВМакете = 15;
ИначеЕсли Выборка.ИмяМакета = "ПФ_MXL_ОписьЗаявленийИДокументовВФСС_2017" Тогда
КоличествоСтрокВМакете = 13;
Иначе
КоличествоСтрокВМакете = 5;
КонецЕсли;
Пока Выборка.СледующийПоЗначениюПоля("Ссылка") Цикл
ТаблицаСтрок.Очистить();
Пока Выборка.Следующий() Цикл
Если Не ЗначениеЗаполнено(Выборка.Заявление) Тогда
Продолжить;
КонецЕсли;
СтрокаТаблицы = ТаблицаСтрок.Найти(Выборка.Заявление, "Заявление");
Если СтрокаТаблицы = Неопределено Тогда
СтрокаТаблицы = ТаблицаСтрок.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаТаблицы, Выборка);
Иначе
СтрокаТаблицы.КраткоеНаименованиеДокументов = СтрокаТаблицы.КраткоеНаименованиеДокументов
+ ", " + Выборка.КраткоеНаименованиеДокументов;
СтрокаТаблицы.КоличествоСтраниц = СтрокаТаблицы.КоличествоСтраниц + Выборка.КоличествоСтраниц;
СтрокаТаблицы.КоличествоДокументов = СтрокаТаблицы.КоличествоДокументов + Выборка.КоличествоДокументов;
КонецЕсли;
КонецЦикла;
Макет = Неопределено;
ВыведеноСтрок = 0;
Для Каждого СтрокаТаблицы Из ТаблицаСтрок Цикл
ВыведеноСтрок = (ВыведеноСтрок + 1) % КоличествоСтрокВМакете;
НомерСтроки = ?(ВыведеноСтрок = 0, КоличествоСтрокВМакете, ВыведеноСтрок);
Если ВыведеноСтрок = 1 Тогда
Если Макет <> Неопределено Тогда
Если ТабличныйДокумент.ВысотаТаблицы > 0 Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабличныйДокумент.Вывести(Макет);
КонецЕсли;
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ОписьЗаявленийСотрудниковНаВыплатуПособий." + СтрокаТаблицы.ИмяМакета);
Если СтрокаТаблицы.ИмяМакета = "ПФ_MXL_ОписьЗаявленийИДокументовВФСС_2012" Тогда
ВывестиШапкуИПодвалОписиЗаявлений_2012(Макет, СтрокаТаблицы);
ИначеЕсли СтрокаТаблицы.ИмяМакета = "ПФ_MXL_ОписьЗаявленийИДокументовВФСС_2017" Тогда
ВывестиШапкуИПодвалОписиЗаявлений_2017(Макет, СтрокаТаблицы);
Иначе
ВывестиШапкуИПодвалОписиЗаявлений_2021(Макет, СтрокаТаблицы);
КонецЕсли;
КонецЕсли;
Если СтрокаТаблицы.ИмяМакета = "ПФ_MXL_ОписьЗаявленийИДокументовВФСС_2012" Тогда
ВывестиСтрокуОписиЗаявлений_2012(Макет, СтрокаТаблицы, НомерСтроки);
ИначеЕсли СтрокаТаблицы.ИмяМакета = "ПФ_MXL_ОписьЗаявленийИДокументовВФСС_2017" Тогда
ВывестиСтрокуОписиЗаявлений_2017(Макет, СтрокаТаблицы, НомерСтроки);
Иначе
ВывестиСтрокуОписиЗаявлений_2021(Макет, СтрокаТаблицы, НомерСтроки);
КонецЕсли;
КонецЦикла;
Если ТабличныйДокумент.ВысотаТаблицы > 0 Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабличныйДокумент.Вывести(Макет);
КонецЦикла;
КонецЦикла;
Возврат ТабличныйДокумент;
КонецФункции
Процедура ВывестиСтрокуОписиЗаявлений_2012(Макет, Выборка, НомерСтроки)
ПрефиксСтроки = "ФИО_" + Формат(НомерСтроки,"ЧЦ=2; ЧВН=") + "_";
ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(Выборка.ФамилияЗаявителя), Макет, ПрефиксСтроки, 20);
ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(Выборка.ИмяЗаявителя), Макет, ПрефиксСтроки, 20, 21);
ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(Выборка.ОтчествоЗаявителя), Макет, ПрефиксСтроки, 20, 41);
Макет.Области["ВидВыплаты" + НомерСтроки].Текст = Выборка.ВидПособия;
Макет.Области["Документы_" + НомерСтроки].Текст = Лев(Выборка.КраткоеНаименованиеДокументов, 105);
Если Выборка.КоличествоСтраниц < 10 Тогда
Макет.Области["Страниц" + НомерСтроки].Текст = " " + Выборка.КоличествоСтраниц;
Иначе
КоличествоСтраниц = Формат(Выборка.КоличествоСтраниц, "ЧЦ=2");
КоличествоСтраниц = Лев(" ", 2 - СтрДлина(КоличествоСтраниц)) + КоличествоСтраниц;
Макет.Области["Страниц" + НомерСтроки].Текст = Лев(КоличествоСтраниц, 1) + " " + Прав(КоличествоСтраниц, 1);
КонецЕсли;
КонецПроцедуры
Процедура ВывестиСтрокуОписиЗаявлений_2017(Макет, Выборка, НомерСтроки)
Макет.Параметры["Фамилия" + НомерСтроки] = Выборка.ФамилияЗаявителя;
Макет.Параметры["Имя" + НомерСтроки] = Выборка.ИмяЗаявителя;
Макет.Параметры["Отчество" + НомерСтроки] = Выборка.ОтчествоЗаявителя;
Макет.Параметры["ВидВыплаты" + НомерСтроки] = Выборка.ВидПособия;
Макет.Параметры["Документы" + НомерСтроки] = Лев(Выборка.КраткоеНаименованиеДокументов, 290);
Макет.Параметры["КоличествоСтраниц" + НомерСтроки] = Выборка.КоличествоСтраниц;
КонецПроцедуры
Процедура ВывестиСтрокуОписиЗаявлений_2021(Макет, Выборка, НомерСтроки)
Макет.Параметры["Фамилия" + НомерСтроки] = Выборка.ФамилияЗаявителя;
Макет.Параметры["Имя" + НомерСтроки] = Выборка.ИмяЗаявителя;
Макет.Параметры["Отчество" + НомерСтроки] = Выборка.ОтчествоЗаявителя;
Макет.Параметры["СНИЛС" + НомерСтроки] = Выборка.СНИЛСПолучателя;
Макет.Параметры["ВидВыплаты" + НомерСтроки] = Выборка.ВидПособия;
Макет.Параметры["Документы" + НомерСтроки] = Лев(Выборка.КраткоеНаименованиеДокументов, 290);
Макет.Параметры["КоличествоСтраниц" + НомерСтроки] = Выборка.КоличествоСтраниц;
КонецПроцедуры
Процедура ВывестиШапкуИПодвалОписиЗаявлений_2012(Макет, Выборка)
ЗарплатаКадры.ВывестиДанныеПоБуквенно(Выборка.РегистрационныйНомерФСС, Макет, "РегистрационныйНомер_", 10);
ЗарплатаКадры.ВывестиДанныеПоБуквенно(Выборка.ДополнительныйКодФСС, Макет, "ДополнительныйКод_", 10);
ЗарплатаКадры.ВывестиДанныеПоБуквенно(Выборка.КодПодчиненностиФСС, Макет, "КодПодчиненности_", 5);
ЗарплатаКадры.ВывестиДанныеПоБуквенно(Выборка.ИНН, Макет, "ИНН_", 12);
ЗарплатаКадры.ВывестиДанныеПоБуквенно(Выборка.КПП, Макет, "КПП_", 9);
ЗарплатаКадры.ВывестиДанныеПоБуквенно(ВРег(Выборка.НаименованиеОрганизации), Макет, "Страхователь_", 30);
ДлиныСтрок = Новый Массив();
ДлиныСтрок.Добавить(35);
ДлиныСтрок.Добавить(39);
ЗарплатаКадры.ВывестиДанныеПоБуквенно(ЗарплатаКадры.РазбитьСтрокуНаПодСтроки(ВРег(Выборка.НаименованиеТерриториальногоОрганаФСС), ДлиныСтрок), Макет, "Фонд_", 74);
ЗарплатаКадры.ВывестиДанныеПоБуквенно(КраткоеПредставлениеТелефона(Выборка.ТелефонУполномоченногоПредставителя), Макет, "ТелефонСоставителя_", 10);
Макет.Параметры.ДолжностьРуководителя = "" + Выборка.ДолжностьПредставителяСФР;
Макет.Параметры.ФИОРуководителя = "" + Выборка.УдалитьФИОУполномоченного;
КонецПроцедуры
Процедура ВывестиШапкуИПодвалОписиЗаявлений_2017(Макет, Выборка)
ЗарплатаКадры.ВывестиДанныеПоБуквенно(Выборка.РегистрационныйНомерФСС, Макет, "РегистрационныйНомер_", 10);
ЗарплатаКадры.ВывестиДанныеПоБуквенно(Выборка.ДополнительныйКодФСС, Макет, "ДополнительныйКод_", 10);
ЗарплатаКадры.ВывестиДанныеПоБуквенно(Выборка.КодПодчиненностиФСС, Макет, "КодПодчиненности_", 5);
ЗарплатаКадры.ВывестиДанныеПоБуквенно(Выборка.ИНН, Макет, "ИНН_", 12);
ЗарплатаКадры.ВывестиДанныеПоБуквенно(Выборка.КПП, Макет, "КПП_", 9);
Макет.Параметры.Страхователь = Выборка.НаименованиеОрганизации;
Макет.Параметры.Фонд = Выборка.НаименованиеТерриториальногоОрганаФСС;
ЗарплатаКадры.ВывестиДанныеПоБуквенно(КраткоеПредставлениеТелефона(Выборка.ТелефонУполномоченногоПредставителя), Макет, "ТелефонСоставителя_", 10);
Макет.Параметры.ДолжностьРуководителя = "" + Выборка.ДолжностьПредставителяСФР;
Макет.Параметры.ФИОРуководителя = "" + Выборка.УдалитьФИОУполномоченного;
КонецПроцедуры
Процедура ВывестиШапкуИПодвалОписиЗаявлений_2021(Макет, Выборка)
ЗарплатаКадры.ВывестиДанныеПоБуквенно(Выборка.РегистрационныйНомерФСС, Макет, "РегистрационныйНомер_", 10);
ЗарплатаКадры.ВывестиДанныеПоБуквенно(Выборка.ДополнительныйКодФСС, Макет, "ДополнительныйКод_", 10);
ЗарплатаКадры.ВывестиДанныеПоБуквенно(Выборка.КодПодчиненностиФСС, Макет, "КодПодчиненности_", 5);
ЗарплатаКадры.ВывестиДанныеПоБуквенно(Выборка.ИНН, Макет, "ИНН_", 12);
ЗарплатаКадры.ВывестиДанныеПоБуквенно(Выборка.КПП, Макет, "КПП_", 9);
Макет.Параметры.Страхователь = Выборка.ОрганизацияНаименование;
Макет.Параметры.Фонд = Выборка.НаименованиеТерриториальногоОрганаФСС;
ЗарплатаКадры.ВывестиДанныеПоБуквенно(КраткоеПредставлениеТелефона(Выборка.ТелефонУполномоченногоПредставителя), Макет, "ТелефонСоставителя_", 10);
Макет.Параметры.ДолжностьРуководителя = "" + Выборка.ДолжностьПредставителяСФР;
Макет.Параметры.ФИОРуководителя = "" + Выборка.ФИОУполномоченногоПредставителя;
ЗарплатаКадры.ВывестиДанныеПоБуквенно(Выборка.АдресЭлектроннойПочтыУполномоченногоПредставителя, Макет, "АдресЭлектроннойПочты_", 28);
КонецПроцедуры
Функция КраткоеПредставлениеТелефона(ПредставлениеТелефона)
Телефон = ПредставлениеТелефона;
Если Лев(Телефон,3) = "+7 " Тогда
Телефон = Сред(Телефон,4)
ИначеЕсли Лев(Телефон,2) = "8 " Тогда
Телефон = Сред(Телефон,3)
КонецЕсли;
Телефон = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Телефон,"(",""),")","")," ",""),"-",""),",","");
Возврат Телефон;
КонецФункции
Функция ТабличныйДокумент_ПриказСФР_2024_172(МассивСсылок, ОбъектыПечати)
МетаданныеМакета = Метаданные.Документы.ОписьЗаявленийСотрудниковНаВыплатуПособий.Макеты.ПФ_MXL_ПриказСФР_2024_172;
КонтекстПечати = УправлениеПечатьюБЗК.КонтекстПечати(МетаданныеМакета, МассивСсылок, ОбъектыПечати);
ТабличныйДокумент = КонтекстПечати.ТабличныйДокумент;
УправлениеПечатьюБЗК.УстановитьОтступ(ТабличныйДокумент, 0, 5, 0, 5);
Запрос = ЗапросДляПечатиОписи(МассивСсылок);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
ТаблицаСтрок = Новый ТаблицаЗначений;
Для Каждого КолонкаРезультатаЗапроса Из РезультатЗапроса.Колонки Цикл
ТаблицаСтрок.Колонки.Добавить(КолонкаРезультатаЗапроса.Имя, КолонкаРезультатаЗапроса.ТипЗначения);
КонецЦикла;
ТаблицаСтрок.Колонки.Добавить("КоличествоВложенныхСтрок", ОбщегоНазначения.ОписаниеТипаЧисло(2, 0));
Для НомерВложеннойСтроки = 1 По 10 Цикл
ТаблицаСтрок.Колонки.Добавить("ВидДокументов_" + НомерВложеннойСтроки);
ТаблицаСтрок.Колонки.Добавить("КоличествоДокументов_" + НомерВложеннойСтроки);
ТаблицаСтрок.Колонки.Добавить("КоличествоСтраниц_" + НомерВложеннойСтроки);
КонецЦикла;
Пока Выборка.Следующий() Цикл
Пока Выборка.СледующийПоЗначениюПоля("Ссылка") Цикл
ТаблицаСтрок.Очистить();
Пока Выборка.Следующий() Цикл
Если Не ЗначениеЗаполнено(Выборка.Заявление)
Или Не ЗначениеЗаполнено(Выборка.КраткоеНаименованиеДокументов) Тогда
Продолжить;
КонецЕсли;
СтрокаТаблицы = ТаблицаСтрок.Найти(Выборка.Заявление, "Заявление");
Если СтрокаТаблицы = Неопределено Тогда
СтрокаТаблицы = ТаблицаСтрок.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаТаблицы, Выборка);
КонецЕсли;
СтрокаТаблицы.КоличествоВложенныхСтрок = СтрокаТаблицы.КоличествоВложенныхСтрок + 1;
НомерВложеннойСтроки = СтрокаТаблицы.КоличествоВложенныхСтрок;
ВидСНомером = Строка(НомерВложеннойСтроки) + ". " + Выборка.КраткоеНаименованиеДокументов;
СтрокаТаблицы["ВидДокументов_" + НомерВложеннойСтроки] = ВидСНомером;
СтрокаТаблицы["КоличествоДокументов_" + НомерВложеннойСтроки] = Выборка.КоличествоДокументов;
СтрокаТаблицы["КоличествоСтраниц_" + НомерВложеннойСтроки] = Выборка.КоличествоСтраниц;
КонецЦикла;
Если ТаблицаСтрок.Количество() = 0 Тогда
Для НомерСтроки = 1 По 7 Цикл
ТаблицаСтрок.Добавить();
КонецЦикла;
КонецЕсли;
УправлениеПечатьюБЗК.ПередПечатьюОчередногоОбъекта(КонтекстПечати);
ВывестиШапкуПриказаСФР_2024_172(КонтекстПечати, Выборка);
ТабличныйДокумент.Вывести(КонтекстПечати.Макет.ПолучитьОбласть("Таблица_Шапка"));
НомерСтроки = 0;
КоличествоСтрок = ТаблицаСтрок.Количество();
Для Каждого СтрокаТаблицы Из ТаблицаСтрок Цикл
НомерСтроки = НомерСтроки + 1;
ВывестиСтрокуТаблицыПриказаСФР_2024_172(КонтекстПечати, СтрокаТаблицы, НомерСтроки, КоличествоСтрок);
КонецЦикла;
ВывестиПодвалПриказаСФР_2024_172(КонтекстПечати, Выборка);
УправлениеПечатьюБЗК.ПослеПечатиОчередногоОбъекта(КонтекстПечати, Выборка.Ссылка);
КонецЦикла;
КонецЦикла;
Возврат ТабличныйДокумент;
КонецФункции
Процедура ВывестиШапкуПриказаСФР_2024_172(КонтекстПечати, Выборка)
Параметры = Новый Структура(КонтекстПечати.ИменаПараметровОбластей.Шапка);
Секция = УправлениеПечатьюБЗК.СекцияПечатнойФормы(КонтекстПечати, "Шапка");
Параметры.Опись_Номер = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Выборка.Номер);
Параметры.Опись_Дата = Формат(Выборка.Дата, "ДЛФ=DD");
ДлиныСтрок = ОбщегоНазначенияКлиентСервер.МассивЗначений(100);
СтрокаСПереносами = ЗарплатаКадры.РазбитьСтрокуНаПодСтроки(Выборка.ОрганизацияНаименование, ДлиныСтрок);
Позиция = СтрНайти(СтрокаСПереносами, Символы.ПС);
Параметры.Страхователь_Наименование_1 = СокрЛП(СтрПолучитьСтроку(СтрокаСПереносами, 1));
Параметры.Страхователь_Наименование_2 = СокрЛП(?(Позиция = 0, "", Сред(СтрокаСПереносами, Позиция + 1)));
УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, Выборка.РегистрационныйНомерФСС, "РегистрационныйНомер");
УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, Выборка.ИНН, "ИНН");
УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, Выборка.КПП, "КПП");
ДлиныСтрок = ОбщегоНазначенияКлиентСервер.МассивЗначений(100);
СтрокаСПереносами = ЗарплатаКадры.РазбитьСтрокуНаПодСтроки(Выборка.НаименованиеТерриториальногоОрганаФСС, ДлиныСтрок);
Позиция = СтрНайти(СтрокаСПереносами, Символы.ПС);
Параметры.ТОФ_Наименование_1 = СокрЛП(СтрПолучитьСтроку(СтрокаСПереносами, 1));
Параметры.ТОФ_Наименование_2 = СокрЛП(?(Позиция = 0, "", Сред(СтрокаСПереносами, Позиция + 1)));
Секция.ТабличныйДокумент.Параметры.Заполнить(Параметры);
КонтекстПечати.ТабличныйДокумент.Вывести(Секция.ТабличныйДокумент);
КонецПроцедуры
Процедура ВывестиСтрокуТаблицыПриказаСФР_2024_172(КонтекстПечати, СтрокаТаблицы, НомерСтроки, КоличествоСтрок)
Параметры = Новый Структура(КонтекстПечати.ИменаПараметровОбластей.Таблица_Строка);
Секция = УправлениеПечатьюБЗК.СекцияПечатнойФормы(КонтекстПечати, "Таблица_Строка");
ЗаполнитьЗначенияСвойств(Параметры, СтрокаТаблицы);
Параметры.НомерСтроки = Формат(НомерСтроки, "ЧГ=");
Параметры.КодВидаВыплаты = СтрокаТаблицы.ВидПособия;
ЭтоПоследняяСтрока = (НомерСтроки = КоличествоСтрок);
Для НомерВложеннойСтроки = 5 По 10 Цикл
ВидимостьСтроки = НомерВложеннойСтроки <= СтрокаТаблицы.КоличествоВложенныхСтрок;
НомерПредшествующейСтроки = НомерВложеннойСтроки - 1;
Секция.ТабличныйДокумент.Область("Таблица_Строка_" + НомерВложеннойСтроки).Видимость = ВидимостьСтроки;
Секция.ТабличныйДокумент.Область("Таблица_Строка_" + НомерПредшествующейСтроки).ВместеСоСледующим =
ВидимостьСтроки Или ЭтоПоследняяСтрока;
КонецЦикла;
СНИЛС = ?(ЗначениеЗаполнено(СтрокаТаблицы.СНИЛСПолучателя),
СтрШаблон(НСтр("ru = 'СНИЛС: %1'"), СтрокаТаблицы.СНИЛСПолучателя),
"");
Параметры.Застрахованный_ФИО_1 = СтрокаТаблицы.ФамилияЗаявителя;
Параметры.Застрахованный_ФИО_2 = СтрокаТаблицы.ИмяЗаявителя;
Параметры.Застрахованный_ФИО_3 = СтрокаТаблицы.ОтчествоЗаявителя;
Параметры.Застрахованный_ФИО_4 = СНИЛС;
Секция.ТабличныйДокумент.Параметры.Заполнить(Параметры);
КонтекстПечати.ТабличныйДокумент.Вывести(Секция.ТабличныйДокумент);
КонецПроцедуры
Процедура ВывестиПодвалПриказаСФР_2024_172(КонтекстПечати, Выборка)
Параметры = Новый Структура(КонтекстПечати.ИменаПараметровОбластей.Подвал);
Секция = УправлениеПечатьюБЗК.СекцияПечатнойФормы(КонтекстПечати, "Подвал");
Параметры.УполномоченныйПредставитель_Должность = СокрЛП(Выборка.ДолжностьПредставителяСФР);
Параметры.УполномоченныйПредставитель_ФИО = СокрЛП(Выборка.ФИОУполномоченногоПредставителя);
Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВJSON(Выборка.ТелефонСтрахователя) Тогда
УправлениеПечатьюБЗК.ВывестиТелефонПоБуквам(Секция, Выборка.ТелефонСтрахователя, "Страхователь_Телефон");
Иначе
УправлениеПечатьюБЗК.ВывестиПоБуквам(Секция, Выборка.ТелефонУполномоченногоПредставителя, "Страхователь_Телефон");
КонецЕсли;
Параметры.Страхователь_ЭлектроннаяПочта = Выборка.АдресЭлектроннойПочтыУполномоченногоПредставителя;
Секция.ТабличныйДокумент.Параметры.Заполнить(Параметры);
КонтекстПечати.ТабличныйДокумент.Вывести(Секция.ТабличныйДокумент);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецЕсли