#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Ключ.Пустая() Тогда
ЗначенияДляЗаполнения = Новый Структура("Организация, Ответственный", "Объект.Организация", "Объект.Ответственный");
ЗарплатаКадры.ЗаполнитьПервоначальныеЗначенияВФорме(ЭтотОбъект, ЗначенияДляЗаполнения);
Объект.РеестрСоставил = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Ответственный, "ФизическоеЛицо");
ПриПолученииДанныхНаСервере("Объект");
Объект.СтатусДокумента = Перечисления.СтатусыЗаявленийИРеестровНаВыплатуПособий.ВРаботе;
КонецЕсли;
ПрямыеВыплатыПособийСоциальногоСтрахованияФормы.ЗаполнитьСписокВыбораКодПричиныНетрудоспособности(
Элементы.КодПричиныНетрудоспособности,
Объект.Дата);
ПрямыеВыплатыПособийСоциальногоСтрахованияФормы.ЗаполнитьСписокВыбораКодПричиныНетрудоспособности(
Элементы.ВторойКодПричиныНетрудоспособности,
Объект.Дата);
ПрямыеВыплатыПособийСоциальногоСтрахованияФормы.ЗаполнитьСписокВыбораДополнительныйКодПричиныНетрудоспособности(Элементы.ДополнительныйКодПричиныНетрудоспособности);
ПрямыеВыплатыПособийСоциальногоСтрахованияФормы.ЗаполнитьСписокВыбораКодНарушенияРежима(Элементы.КодНарушенияРежима);
ПрямыеВыплатыПособийСоциальногоСтрахованияФормы.ЗаполнитьСписокВыбораГруппаИнвалидности(Элементы.ГруппаИнвалидности);
ПрямыеВыплатыПособийСоциальногоСтрахованияФормы.ЗаполнитьСписокВыбораИное(Элементы.НовыйСтатусНетрудоспособного);
ПрямыеВыплатыПособийСоциальногоСтрахованияФормы.ЗаполнитьСписокВыбораКодУсловийИсчисления(Элементы.УсловияИсчисленияКод1);
ПрямыеВыплатыПособийСоциальногоСтрахованияФормы.ЗаполнитьСписокВыбораКодУсловийИсчисления(Элементы.УсловияИсчисленияКод2);
ПрямыеВыплатыПособийСоциальногоСтрахованияФормы.ЗаполнитьСписокВыбораКодУсловийИсчисления(Элементы.УсловияИсчисленияКод3);
ПрямыеВыплатыПособийСоциальногоСтрахованияФормы.ЗаполнитьСписокВыбораТипРодственнойСвязи(Элементы.ПоУходуРодственнаяСвязь1);
ПрямыеВыплатыПособийСоциальногоСтрахованияФормы.ЗаполнитьСписокВыбораТипРодственнойСвязи(Элементы.ПоУходуРодственнаяСвязь2);
МетаданныеДокумента = Метаданные.Документы.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий;
МетаданныеТабличнойЧасти = МетаданныеДокумента.ТабличныеЧасти.СведенияНеобходимыеДляНазначенияПособий;
Элементы.ГруппаДатаПредставленияПакетаДокументов.РасширеннаяПодсказка.Заголовок =
МетаданныеТабличнойЧасти.Реквизиты.ДатаПредставленияПакетаДокументов.Подсказка;
ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиентСервер.ПриИнициализацииФормыРегламентированногоОтчета(ЭтотОбъект, "ФСС");
ЭлектронныйДокументооборотСКонтролирующимиОрганами.ОтметитьКакПрочтенное(Объект.Ссылка);
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ИмяЭлементаДляРазмещения", "ГруппаДополнительныеРеквизиты");
УправлениеСвойствами.ПриСозданииНаСервере(ЭтотОбъект, ДополнительныеПараметры);
Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ПроцессыОбработкиДокументовЗарплата") Тогда
МодульПроцессыОбработкиДокументовЗарплата = ОбщегоНазначения.ОбщийМодуль("ПроцессыОбработкиДокументовЗарплата");
МодульПроцессыОбработкиДокументовЗарплата.ПриСозданииНаСервере(ЭтотОбъект, Объект);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
ЗаполнитьДокументыКОтправкеПодтвержденияОПолучении();
ДатыЗапретаИзменения.ОбъектПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
ПриПолученииДанныхНаСервере(ТекущийОбъект);
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
УправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
УправлениеСвойствами.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ПроцессыОбработкиДокументовЗарплата") Тогда
МодульПроцессыОбработкиДокументовЗарплата = ОбщегоНазначения.ОбщийМодуль("ПроцессыОбработкиДокументовЗарплата");
МодульПроцессыОбработкиДокументовЗарплата.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ФиксацияВторичныхДанныхВДокументахКлиентСервер.СохранитьРеквизитыФормыФикс(ЭтотОбъект, ТекущийОбъект);
УправлениеСвойствами.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект);
Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ПроцессыОбработкиДокументовЗарплата") Тогда
МодульПроцессыОбработкиДокументовЗарплата = ОбщегоНазначения.ОбщийМодуль("ПроцессыОбработкиДокументовЗарплата");
МодульПроцессыОбработкиДокументовЗарплата.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи, Отказ);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
ФиксацияЗаполнитьИдентификаторыФиксТЧ(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
Оповестить("Запись_РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий", ПараметрыЗаписи, Объект.Ссылка);
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
УправлениеДоступом.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
СохранитьСтатусОтправки(ЭтотОбъект, Объект.Ссылка);
СведенияНеобходимыеДляНазначенияПособийОбновитьКэшФормы(Неопределено);
ФиксацияЗаполнитьРеквизитыФормыФикс(ТекущийОбъект);
ФиксацияУстановитьОбъектЗафиксирован();
ФиксацияОбновитьФиксациюВФорме();
ПодписиДокументов.ПослеЗаписиНаСервере(ЭтотОбъект);
Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ПроцессыОбработкиДокументовЗарплата") Тогда
МодульПроцессыОбработкиДокументовЗарплата = ОбщегоНазначения.ОбщийМодуль("ПроцессыОбработкиДокументовЗарплата");
МодульПроцессыОбработкиДокументовЗарплата.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
КонецЕсли;
ЗаполнитьДокументыКОтправкеПодтвержденияОПолучении();
КонецПроцедуры
&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ПроцессыОбработкиДокументовЗарплата") Тогда
МодульПроцессыОбработкиДокументовЗарплата = ОбщегоНазначенияКлиент.ОбщийМодуль("ПроцессыОбработкиДокументовЗарплатаКлиент");
МодульПроцессыОбработкиДокументовЗарплата.ПередЗакрытием(ЭтотОбъект, Объект, Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
ПроверяемыеРеквизиты.Удалить(ПроверяемыеРеквизиты.Найти("Объект"));
ДокументОбъект = РеквизитФормыВЗначение("Объект");
Если Не ДокументОбъект.ПроверитьЗаполнение() Тогда
Отказ = Истина;
КонецЕсли;
ОбработатьСообщенияПользователю(ДокументОбъект);
УправлениеСвойствами.ОбработкаПроверкиЗаполнения(ЭтотОбъект, Отказ, ПроверяемыеРеквизиты);
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если Не Модифицированность Тогда
Если ИмяСобытия = "Запись_ОтправкиФСС"
Или ИмяСобытия = "Редактирование_ОтправкиФСС"
Или ИмяСобытия = "Успешная отправка"
Или ИмяСобытия = "Завершение отправки в контролирующий орган" Тогда
Прочитать();
Если ДокументыКОтправкеПодтвержденияОПолучении.Количество() > 0 Тогда
МассивСсылок = ДокументыКОтправкеПодтвержденияОПолучении.ВыгрузитьЗначения();
СЭДОФССКлиент.ОтправитьПодтверждениеПолученияВыбранных(МассивСсылок, , Ложь);
КонецЕсли;
ИначеЕсли ИмяСобытия = СЭДОФССКлиент.ИмяСобытияПослеОтправкиПодтвержденияПолучения() Тогда
Прочитать();
КонецЕсли;
КонецЕсли;
Если ИмяСобытия = "Запись_БольничныйЛист"
Или ИмяСобытия = "Запись_ЗаявлениеСотрудникаНаВыплатуПособия"
Или ИмяСобытия = "Запись_ОтпускПоУходуЗаРебенком"
Или ИмяСобытия = "Запись_УведомлениеОПрекращенииОтпускаПоУходуЗаРебенком"
Или ИмяСобытия = "Запись_Отпуск" Тогда
НачатьОбновлениеВторичныхДанных();
КонецЕсли;
Если УправлениеСвойствамиКлиент.ОбрабатыватьОповещения(ЭтотОбъект, ИмяСобытия, Параметр) Тогда
ОбновитьЭлементыДополнительныхРеквизитов();
УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
ЗаполнятьДокументыКОтправкеПодтвержденияОПолучении = Истина;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)
ЗарплатаКадрыКлиент.КлючевыеРеквизитыЗаполненияФормыОчиститьТаблицы(ЭтотОбъект);
ОрганизацияПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ВидПособияПриИзменении(Элемент)
ОбновитьВидимостьСтраницНаОснованииВидаДокумента();
ЗарплатаКадрыКлиент.КлючевыеРеквизитыЗаполненияФормыОчиститьТаблицы(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура СтатусДокументаПриИзменении(Элемент)
ОбновитьВидимостьСтраницНаОснованииВидаДокумента();
КонецПроцедуры
&НаКлиенте
Процедура МедицинскаяОрганизацияПриИзменении(Элемент)
ИдентификаторСтроки = Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущаяСтрока;
МедицинскаяОрганизацияПриИзмененииНаСервере(ИдентификаторСтроки);
КонецПроцедуры
&НаКлиенте
Процедура УведомлениеОПрекращенииОтпускаПоУходуНажатие(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПерейтиПоНавигационнойСсылке(ПолучитьНавигационнуюСсылку(Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущиеДанные.ПервичныйДокумент));
КонецПроцедуры
&НаКлиенте
Процедура ИзвещениеИзФССИспользованиеПриИзменении(Элемент)
ТекущаяСтрока = Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущиеДанные;
ОбновитьСтраницуИзвещениеИзФСС(ЭтотОбъект, ТекущаяСтрока);
ИдентификаторСтроки = Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущаяСтрока;
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "ИзвещениеИзФССИспользование", ИдентификаторСтроки);
КонецПроцедуры
&НаКлиенте
Процедура ГруппаДанныеРебенкаПояснениеОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ОткрытьЗаявлениеНаСтранице("СведенияДляЭлектронногоРеестра");
КонецПроцедуры
&НаКлиенте
Процедура ГруппаСправкаОПостановкеНаУчетПояснениеОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ОткрытьЗаявлениеНаСтранице("СтраницаДокументыПрилагаемыеДляНазначения");
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыСведенияНеобходимыеДляНазначенияПособий
&НаКлиенте
Процедура СведенияНеобходимыеДляНазначенияПособийПриАктивизацииСтроки(Элемент)
ИдентификаторСтроки = Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущаяСтрока;
СведенияНеобходимыеДляНазначенияПособийПриАктивизацииСтрокиНаСервере(ИдентификаторСтроки);
КонецПроцедуры
&НаКлиенте
Процедура СведенияНеобходимыеДляНазначенияПособийПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
Отказ = Истина;
КонецПроцедуры
&НаКлиенте
Процедура СведенияНеобходимыеДляНазначенияПособийВыбор(Элемент, ИдентификаторСтроки, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ТекущаяСтрока = Элемент.ДанныеСтроки(ИдентификаторСтроки);
Если ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
Если Поле = Элементы.СведенияСотрудник Тогда
Если ЗначениеЗаполнено(ТекущаяСтрока.Сотрудник) Тогда
ПоказатьЗначение(, ТекущаяСтрока.Сотрудник);
КонецЕсли;
ИначеЕсли Поле = Элементы.СведенияЗаявление Тогда
Если ЗначениеЗаполнено(ТекущаяСтрока.Заявление) Тогда
ПоказатьЗначение(, ТекущаяСтрока.Заявление);
КонецЕсли;
ИначеЕсли Поле = Элементы.СведенияПервичныйДокумент Тогда
Если ЗначениеЗаполнено(ТекущаяСтрока.ПервичныйДокумент) Тогда
ПоказатьЗначение(, ТекущаяСтрока.ПервичныйДокумент);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СведенияНеобходимыеДляНазначенияПособийЗаявлениеПриИзменении(Элемент)
ИдентификаторСтроки = Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущаяСтрока;
ФиксацияВторичныхДанныхВДокументахКлиентСервер.СброситьФиксациюИзмененийРеквизитовПоОснованиюЗаполнения(ЭтотОбъект, "Заявление", ИдентификаторСтроки);
НачатьОбновлениеВторичныхДанных();
КонецПроцедуры
&НаКлиенте
Процедура СведенияНеобходимыеДляНазначенияПособийПослеУдаления(Элемент)
ИдентификаторСтроки = Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущаяСтрока;
Если ИдентификаторСтроки = Неопределено Тогда
СведенияНеобходимыеДляНазначенияПособийПриАктивизацииСтрокиНаСервере(ИдентификаторСтроки);
КонецЕсли;
ЗарплатаКадрыКлиентСервер.КлючевыеРеквизитыЗаполненияФормыУстановитьОтображениеПредупреждения(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура СведенияНеобходимыеДляНазначенияПособийПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
Если ОтменаРедактирования Тогда
Возврат;
КонецЕсли;
ИдентификаторСтроки = Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущаяСтрока;
СведенияНеобходимыеДляНазначенияПособийПриОкончанииРедактированияНаСервере(ИдентификаторСтроки);
СведенияНеобходимыеДляНазначенияПособийПриАктивизацииСтрокиНаСервере(ИдентификаторСтроки);
КонецПроцедуры
&НаКлиенте
Процедура СведенияНеобходимыеДляНазначенияПособийОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Если Не ЗначениеЗаполнено(ВыбранноеЗначение) Тогда
Возврат;
КонецЕсли;
РезультатКлиента = ОбработкаВыбораНаСервере(ВыбранноеЗначение);
ВывестиОповещениеПользователя(РезультатКлиента);
КонецПроцедуры
&НаКлиенте
Процедура НомерЛисткаНетрудоспособностиПриИзменении(Элемент)
СтрокаСведений = Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущиеДанные;
СтрокаСведений.НомерЛисткаНетрудоспособности = СокрЛП(СтрокаСведений.НомерЛисткаНетрудоспособности);
ИдентификаторСтроки = СтрокаСведений.ПолучитьИдентификатор();
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "НомерЛисткаНетрудоспособности", ИдентификаторСтроки);
НачатьОбновлениеВторичныхДанных();
КонецПроцедуры
&НаКлиенте
Процедура НомерПервичногоЛисткаНетрудоспособностиПриИзменении(Элемент)
СтрокаСведений = Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущиеДанные;
СтрокаСведений.НомерПервичногоЛисткаНетрудоспособности = СокрЛП(СтрокаСведений.НомерПервичногоЛисткаНетрудоспособности);
ИдентификаторСтроки = СтрокаСведений.ПолучитьИдентификатор();
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "НомерПервичногоЛисткаНетрудоспособности", ИдентификаторСтроки);
КонецПроцедуры
&НаКлиенте
Процедура НомерЛисткаПоОсновномуМестуРаботыПриИзменении(Элемент)
СтрокаСведений = Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущиеДанные;
СтрокаСведений.НомерЛисткаПоОсновномуМестуРаботы = СокрЛП(СтрокаСведений.НомерЛисткаПоОсновномуМестуРаботы);
ИдентификаторСтроки = СтрокаСведений.ПолучитьИдентификатор();
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "НомерЛисткаПоОсновномуМестуРаботы", ИдентификаторСтроки);
КонецПроцедуры
&НаКлиенте
Процедура НомерЛисткаПродолженияПриИзменении(Элемент)
СтрокаСведений = Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущиеДанные;
СтрокаСведений.НомерЛисткаПродолжения = СокрЛП(СтрокаСведений.НомерЛисткаПродолжения);
ИдентификаторСтроки = СтрокаСведений.ПолучитьИдентификатор();
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "НомерЛисткаПродолжения", ИдентификаторСтроки);
КонецПроцедуры
&НаКлиенте
Процедура АдресМедицинскойОрганизацииНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ТекущаяСтрока = Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущиеДанные;
Если ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
Оповещение = Новый ОписаниеОповещения("АдресМедицинскойОрганизацииЗавершениеВыбора", ЭтотОбъект, ТекущаяСтрока.ПолучитьИдентификатор());
Вид = ПредопределенноеЗначение("Справочник.ВидыКонтактнойИнформации.АдресПоПропискеФизическиеЛица");
ПараметрыОткрытия = УправлениеКонтактнойИнформациейКлиент.ПараметрыФормыКонтактнойИнформации(
Вид,
КонтактнаяИнформацияПоПредставлению(Элемент.ТекстРедактирования, Вид));
УправлениеКонтактнойИнформациейКлиент.ОткрытьФормуКонтактнойИнформации(ПараметрыОткрытия, ЭтотОбъект, Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура СведенияНеобходимыеДляНазначенияПособийАвтозаполнениеТДПриИзменении(Элемент)
СтрокаСведений = Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущиеДанные;
ИдентификаторСтроки = СтрокаСведений.ПолучитьИдентификатор();
ПоУмолчанию = ТипЗнч(СтрокаСведений.ПервичныйДокумент) = Тип("ДокументСсылка.БольничныйЛист")
И ЗначениеЗаполнено(СтрокаСведений.ПервичныйДокумент);
Если СтрокаСведений.АвтозаполнениеПриостановленийТД = ПоУмолчанию Тогда
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ОтменитьФиксациюРеквизита(ЭтотОбъект, "АвтозаполнениеПриостановленийТД", ИдентификаторСтроки);
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ОтменитьФиксациюРеквизита(ЭтотОбъект, "КодНаличияПриостановленийТД", ИдентификаторСтроки);
Иначе
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "АвтозаполнениеПриостановленийТД", ИдентификаторСтроки);
КонецЕсли;
НачатьОбновлениеВторичныхДанных();
КонецПроцедуры
&НаКлиенте
Процедура СведенияНеобходимыеДляНазначенияПособийКодНаличияПриостановленийТДПриИзменении(Элемент)
СтрокаСведений = Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущиеДанные;
ОбновитьСтраницуПриостановленияТД(ЭтотОбъект, СтрокаСведений);
ИдентификаторСтроки = СтрокаСведений.ПолучитьИдентификатор();
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "КодНаличияПриостановленийТД", ИдентификаторСтроки);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыПриостановленияТрудовыхДоговоров
&НаКлиенте
Процедура ПриостановленияТрудовыхДоговоровПриИзменении(Элемент)
Для Каждого СтрокаТаблицы Из Объект.ПриостановленияТрудовыхДоговоров Цикл
Если Не ЗначениеЗаполнено(СтрокаТаблицы.Заявление) Тогда
СтрокаТаблицы.Заявление = Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущиеДанные.Заявление;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Подключаемый_СвойстваВыполнитьКоманду(ЭлементИлиКоманда, НавигационнаяСсылка = Неопределено, СтандартнаяОбработка = Неопределено)
УправлениеСвойствамиКлиент.ВыполнитьКоманду(ЭтотОбъект, ЭлементИлиКоманда, СтандартнаяОбработка);
КонецПроцедуры
#Область ОбработчикиСобытийПроцессыОбработкиДокументов
&НаКлиенте
Процедура Подключаемый_ВыполнитьЗадачуПоОбработкеДокумента(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ПроцессыОбработкиДокументовЗарплата") Тогда
МодульПроцессыОбработкиДокументовЗарплата = ОбщегоНазначенияКлиент.ОбщийМодуль("ПроцессыОбработкиДокументовЗарплатаКлиент");
МодульПроцессыОбработкиДокументовЗарплата.ВыполнитьЗадачу(ЭтотОбъект, Команда, Объект)
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьЗадачуПоОбработкеДокументаОповещение(Контекст, ДополнительныеПараметры) Экспорт
ВыполнитьЗадачуПоОбработкеДокументаНаСервере(Контекст);
ВыполнитьОбработкуОповещения(ДополнительныеПараметры, Контекст);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьЗадачуПоОбработкеДокументаНаСервере(Контекст)
Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ПроцессыОбработкиДокументовЗарплата") Тогда
МодульПроцессыОбработкиДокументовЗарплата = ОбщегоНазначения.ОбщийМодуль("ПроцессыОбработкиДокументовЗарплата");
МодульПроцессыОбработкиДокументовЗарплата.ВыполнитьЗадачу(ЭтотОбъект, Контекст, Объект);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КомментарийНаправившегоОткрытие(Элемент, СтандартнаяОбработка)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ПроцессыОбработкиДокументовЗарплата") Тогда
МодульПроцессыОбработкиДокументовЗарплата = ОбщегоНазначенияКлиент.ОбщийМодуль("ПроцессыОбработкиДокументовЗарплатаКлиент");
МодульПроцессыОбработкиДокументовЗарплата.КомментарийНаправившегоОткрытие(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КомментарийСледующемуНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ЗарплатаКадрыПриложения.ПроцессыОбработкиДокументовЗарплата") Тогда
МодульПроцессыОбработкиДокументовЗарплата = ОбщегоНазначенияКлиент.ОбщийМодуль("ПроцессыОбработкиДокументовЗарплатаКлиент");
МодульПроцессыОбработкиДокументовЗарплата.КомментарийСледующемуНачалоВыбора(ЭтотОбъект, Элемент, ДанныеВыбора, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
&НаКлиенте
Процедура ОтправитьВКонтролирующийОрган(Команда)
Обработчик = Новый ОписаниеОповещения("ОтправитьВКонтролирующийОрганПослеПроверки", ЭтотОбъект);
ЗаписатьИПроверитьПоРегламентуФСС(Обработчик, РежимЗаписиДокумента.Проведение);
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьВИнтернете(Команда)
Обработчик = Новый ОписаниеОповещения("ПроверитьВИнтернетеПослеПроверки", ЭтотОбъект);
ЗаписатьИПроверитьПоРегламентуФСС(Обработчик, РежимЗаписиДокумента.Проведение);
КонецПроцедуры
&НаКлиенте
Процедура Заполнить(Команда)
Если Не ЗначениеЗаполнено(Объект.ВидРеестра) Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Не указан вид реестра.'"), , "ВидРеестра", "Объект");
Возврат;
КонецЕсли;
ЗаполнитьНаСервере();
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция ПояснениеРеестрОтправлен()
Возврат НСтр("ru = 'Реестр отправлен.'");
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ПояснениеДостигнутоОграничениеЧислаСтрок()
Возврат НСтр("ru = 'Достигнуто ограничение в 200 строк.'");
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ПояснениеНельзяДобавитьСтроку()
Возврат НСтр("ru = 'Добавление новых строк невозможно.'");
КонецФункции
&НаКлиенте
Процедура Подобрать(Команда)
Если ОбъектЗафиксирован() Тогда
Текст = ПояснениеРеестрОтправлен() + Символы.ПС + ПояснениеНельзяДобавитьСтроку();
ПоказатьПредупреждение(, Текст);
Возврат;
ИначеЕсли Объект.СведенияНеобходимыеДляНазначенияПособий.Количество() >= 200 Тогда
Текст = ПояснениеДостигнутоОграничениеЧислаСтрок() + Символы.ПС + ПояснениеНельзяДобавитьСтроку();
ПоказатьПредупреждение(, Текст);
Возврат;
КонецЕсли;
ВыбранныеЗаявления = Новый Массив;
Для Каждого СтрокаТаблицы Из Объект.СведенияНеобходимыеДляНазначенияПособий Цикл
ВыбранныеЗаявления.Добавить(СтрокаТаблицы.Заявление);
КонецЦикла;
ОтборФормы = Новый Структура;
ОтборФормы.Вставить("ВидРеестра", Объект.ВидРеестра);
Если ЗначениеЗаполнено(Объект.Организация) Тогда
ОтборФормы.Вставить("Организация", Объект.Организация);
КонецЕсли;
ПараметрыФормыВыбора = Новый Структура;
ПараметрыФормыВыбора.Вставить("РежимВыбора", Истина);
ПараметрыФормыВыбора.Вставить("ЗакрыватьПриВыборе", Ложь);
ПараметрыФормыВыбора.Вставить("ЗакрыватьПриЗакрытииВладельца", Истина);
ПараметрыФормыВыбора.Вставить("МножественныйВыбор", Ложь);
ПараметрыФормыВыбора.Вставить("ВыбранныеЗаявления", ВыбранныеЗаявления);
ПараметрыФормыВыбора.Вставить("Отбор", ОтборФормы);
ОткрытьФорму("Документ.ЗаявлениеСотрудникаНаВыплатуПособия.ФормаВыбора",
ПараметрыФормыВыбора,
Элементы.СведенияНеобходимыеДляНазначенияПособий,
,
,
,
,
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
Процедура ПодобратьУведомлениеОПрекращенииОтпускаПоУходуЗаРебенком(Команда)
Если ОбъектЗафиксирован() Тогда
Текст = ПояснениеРеестрОтправлен() + Символы.ПС + ПояснениеНельзяДобавитьСтроку();
ПоказатьПредупреждение(, Текст);
Возврат;
ИначеЕсли Объект.СведенияНеобходимыеДляНазначенияПособий.Количество() >= 200 Тогда
Текст = ПояснениеДостигнутоОграничениеЧислаСтрок() + Символы.ПС + ПояснениеНельзяДобавитьСтроку();
ПоказатьПредупреждение(, Текст);
Возврат;
КонецЕсли;
ВыбранныеУведомления = Новый Массив;
Для Каждого СтрокаТаблицы Из Объект.СведенияНеобходимыеДляНазначенияПособий Цикл
Если ТипЗнч(СтрокаТаблицы.ПервичныйДокумент) = Тип("ДокументСсылка.УведомлениеОПрекращенииОтпускаПоУходуЗаРебенком")
И ЗначениеЗаполнено(СтрокаТаблицы.ПервичныйДокумент) Тогда
ВыбранныеУведомления.Добавить(СтрокаТаблицы.ПервичныйДокумент);
КонецЕсли;
КонецЦикла;
ОтборФормы = Новый Структура;
Если ЗначениеЗаполнено(Объект.Организация) Тогда
ОтборФормы.Вставить("Организация", Объект.Организация);
КонецЕсли;
ПараметрыФормыВыбора = Новый Структура;
ПараметрыФормыВыбора.Вставить("РежимВыбора", Истина);
ПараметрыФормыВыбора.Вставить("ЗакрыватьПриВыборе", Ложь);
ПараметрыФормыВыбора.Вставить("ЗакрыватьПриЗакрытииВладельца", Истина);
ПараметрыФормыВыбора.Вставить("МножественныйВыбор", Ложь);
ПараметрыФормыВыбора.Вставить("ВыбранныеУведомления", ВыбранныеУведомления);
ПараметрыФормыВыбора.Вставить("Отбор", ОтборФормы);
ОткрытьФорму("Документ.УведомлениеОПрекращенииОтпускаПоУходуЗаРебенком.ФормаВыбора",
ПараметрыФормыВыбора,
Элементы.СведенияНеобходимыеДляНазначенияПособий,
,
,
,
,
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
Процедура ОтменитьВсеИсправления(Команда)
ОтменитьВсеИсправленияНаСервере();
СведенияНеобходимыеДляНазначенияПособийПриАктивизацииСтроки(Элементы.СведенияНеобходимыеДляНазначенияПособий);
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьВторичныеДанные(Команда)
НачатьОбновлениеВторичныхДанных();
КонецПроцедуры
&НаКлиенте
Процедура ПоказатьФайл(Команда)
Обработчик = Новый ОписаниеОповещения("ПоказатьФайлПослеПроверки", ЭтотОбъект);
ЗаписатьИПроверитьПоРегламентуФСС(Обработчик, РежимЗаписиДокумента.Проведение);
КонецПроцедуры
&НаКлиенте
Процедура ПерерасчетЧерезСЭДО(Команда)
СтрокаТаблицы = Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущиеДанные;
Если СтрокаТаблицы = Неопределено Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Выберите строку'"));
Возврат;
КонецЕсли;
Если Не ЗначениеЗаполнено(СтрокаТаблицы.Заявление) Тогда
ПутьКРеквизиту = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти("СведенияНеобходимыеДляНазначенияПособий", СтрокаТаблицы.НомерСтроки, "Заявление");
СообщенияБЗККлиентСервер.СообщитьВФорме(НСтр("ru = 'Не выбраны сведения'"), ПутьКРеквизиту, "Объект");
Возврат;
КонецЕсли;
Если Не ЗначениеЗаполнено(Объект.ИдентификаторФСС) Тогда
СообщенияБЗККлиентСервер.СообщитьВФорме(НСтр("ru = 'Не заполнен идентификатор ФСС'"), "ИдентификаторФСС", "Объект");
Возврат;
КонецЕсли;
Если Модифицированность Или Объект.Ссылка.Пустая() Тогда
Если Не Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Запись)) Тогда
Возврат;
КонецЕсли;
КонецЕсли;
ИдентификаторСтрокиРеестра = Объект.ИдентификаторФСС + ":" + Формат(СтрокаТаблицы.НомерСтроки, "ЧН=; ЧГ=");
Основание = Новый Структура;
Основание.Вставить("ВидПособия", СтрокаТаблицы.ВидПособия);
Основание.Вставить("Перерасчет", Истина);
Основание.Вставить("ИдентификаторСтрокиРеестра", ИдентификаторСтрокиРеестра);
Основание.Вставить("Организация", Объект.Организация);
Основание.Вставить("Сотрудник", СтрокаТаблицы.Сотрудник);
Основание.Вставить("ФизическоеЛицо", СтрокаТаблицы.ФизическоеЛицо);
Основание.Вставить("НомерЛН", СтрокаТаблицы.НомерЛисткаНетрудоспособности);
Основание.Вставить("ДокументОснование", СтрокаТаблицы.ПервичныйДокумент);
ПараметрыФормы = Новый Структура("Основание", Основание);
Уникальность = ИдентификаторСтрокиРеестра;
ОткрытьФорму("Документ.ИсходящееСообщениеОСтраховомСлучаеФСС.ФормаОбъекта", ПараметрыФормы, , Уникальность);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область СлужебныйПрограммныйИнтерфейс
&НаКлиенте
Процедура ВывестиСообщенияПользователю(Сообщения) Экспорт
Для Каждого Сообщение Из Сообщения Цикл
СкорректироватьПривязкиСообщенияПользователю(Сообщение, Объект);
Сообщение.Сообщить();
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#Область Свойства
&НаСервере
Процедура ОбновитьЭлементыДополнительныхРеквизитов()
УправлениеСвойствами.ОбновитьЭлементыДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьЗависимостиДополнительныхРеквизитов()
УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПриИзмененииДополнительногоРеквизита(Элемент)
УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Область ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);
КонецПроцедуры
&НаСервере
Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат) Экспорт
ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Объект, Результат);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
#КонецОбласти
#Область РегламентированнаяОтчетность
&НаКлиенте
Процедура ОбновитьОтправку(Команда)
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОбновитьОтправкуИзПанелиОтправки(ЭтотОбъект, "ФСС");
КонецПроцедуры
&НаКлиенте
Процедура ГиперссылкаПротоколНажатие(Элемент)
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОткрытьПротоколИзПанелиОтправки(ЭтотОбъект, "ФСС");
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьНеотправленноеИзвещение(Команда)
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОтправитьНеотправленноеИзвещениеИзПанелиОтправки(ЭтотОбъект, "ФСС");
КонецПроцедуры
&НаКлиенте
Процедура ЭтапыОтправкиНажатие(Элемент)
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОткрытьСостояниеОтправкиИзПанелиОтправки(ЭтотОбъект, "ФСС");
КонецПроцедуры
&НаКлиенте
Процедура КритическиеОшибкиОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылка, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиент.ОткрытьКритическиеОшибкиИзПанелиОтправки(ЭтотОбъект, "ФСС");
КонецПроцедуры
&НаКлиенте
Процедура ГиперссылкаНаименованиеЭтапаНажатие(Элемент)
ПараметрыИзменения = Новый Структура;
ПараметрыИзменения.Вставить("Форма", ЭтотОбъект);
ПараметрыИзменения.Вставить("Организация", Объект.Организация);
ПараметрыИзменения.Вставить("КонтролирующийОрган", ПредопределенноеЗначение("Перечисление.ТипыКонтролирующихОрганов.ФСС"));
ПараметрыИзменения.Вставить("ТекстВопроса", НСтр("ru='Вы уверены, что реестр уже сдан?'"));
ИнтерфейсыВзаимодействияБРОКлиент.ИзменитьСтатусОтправки(ПараметрыИзменения);
КонецПроцедуры
&НаСервереБезКонтекста
Процедура СохранитьСтатусОтправки(Форма, Ссылка)
СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("Форма", Форма);
СтруктураПараметров.Вставить("СсылкаНаОбъект", Ссылка);
ИнтерфейсыВзаимодействияБРО.СохранитьСтатусОтправки(СтруктураПараметров);
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьВКонтролирующийОрганПослеПроверки(ЕстьОшибки, ПустойПараметр) Экспорт
РегламентированнаяОтчетностьКлиент.ПриНажатииНаКнопкуОтправкиВКонтролирующийОрган(ЭтотОбъект, "ФСС");
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьВИнтернетеПослеПроверки(ЕстьОшибки, ПустойПараметр) Экспорт
РегламентированнаяОтчетностьКлиент.ПроверитьВИнтернете(ЭтотОбъект, "ФСС");
КонецПроцедуры
#КонецОбласти
#Область ИнформационнаяПанельБРО
&НаСервере
Процедура ОбновитьИнформационнуюПанельБРО()
ПараметрыОтображения = ЭлектронныйДокументооборотСФСС.ПараметрыИнформационнойПанелиБРО();
ПараметрыОтображения.Организация = СЭДОФСС.СтраховательОрганизации(Объект.Организация);
ПараметрыОтображения.Группа = Элементы.ИнформационнаяПанельБРО;
ПараметрыОтображения.Форма = ЭтотОбъект;
ПараметрыОтображения.ЭтоСЭДО = Ложь;
ЭлектронныйДокументооборотСФСС.ОбновитьИнформационнуюПанельБРО(ПараметрыОтображения);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ИнформационнаяПанельБРООбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
ЭлектронныйДокументооборотСФССКлиент.ИнформационнаяПанельБРОНажатие(
ЭтотОбъект,
НавигационнаяСсылкаФорматированнойСтроки,
СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
#Область ПодписиДокументов
&НаКлиенте
Процедура Подключаемый_ПодписиДокументовЭлементПриИзменении(Элемент)
ПодписиДокументовКлиент.ПриИзмененииПодписывающегоЛица(ЭтотОбъект, Элемент.Имя);
Если Элемент.Имя = ПодписиДокументовКлиентСервер.ИмяЭлементаФормыПоРолиПодписанта("Руководитель") Тогда
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "Руководитель");
ИначеЕсли Элемент.Имя = ПодписиДокументовКлиентСервер.ИмяЭлементаФормыПоРолиПодписанта("ГлавныйБухгалтер") Тогда
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "ГлавныйБухгалтер");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПодписиДокументовЭлементНажатие(Элемент)
ПодписиДокументовКлиент.РасширеннаяПодсказкаНажатие(ЭтотОбъект, Элемент.Имя);
КонецПроцедуры
#КонецОбласти
#Область КлючевыеРеквизитыЗаполненияФормы
&НаСервере
Функция КлючевыеРеквизитыЗаполненияФормыТаблицыОчищаемыеПриИзменении() Экспорт
Массив = Новый Массив;
Массив.Добавить("Объект.СведенияНеобходимыеДляНазначенияПособий");
Возврат Массив
КонецФункции
&НаСервере
Функция КлючевыеРеквизитыЗаполненияФормыОписаниеКлючевыхРеквизитов() Экспорт
Массив = Новый Массив;
Массив.Добавить(Новый Структура("ЭлементФормы, Представление", "Организация", НСтр("ru = 'организации'")));
Массив.Добавить(Новый Структура("ЭлементФормы, Представление", "ВидПособия", НСтр("ru = 'вида реестра'")));
Возврат Массив
КонецФункции
#КонецОбласти
#Область МеханизмФиксацииИзменений
&НаСервере
Функция ОбъектЗафиксирован() Экспорт
Возврат РеквизитФормыВЗначение("Объект").ОбъектЗафиксирован();
КонецФункции
&НаСервере
Функция ФиксацияОписаниеФормы(ПараметрыФиксацииВторичныхДанных) Экспорт
ОписаниеФормы = ФиксацияВторичныхДанныхВДокументахФормы.ОписаниеФормы();
ОписаниеЭлементовФормы = Новый Соответствие();
ОписаниеЭлементаФормы = ФиксацияВторичныхДанныхВДокументахФормы.ОписаниеЭлементаФормы();
ОписаниеЭлементаФормы.ПрефиксПути = "Объект";
ОписаниеЭлементаФормы.ПрефиксПутиТекущиеДанные = "Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущиеДанные";
Для Каждого ОписаниеФиксацииРеквизита Из ПараметрыФиксацииВторичныхДанных.ОписаниеФиксацииРеквизитов Цикл
ОписаниеЭлементовФормы.Вставить(ОписаниеФиксацииРеквизита.Ключ, ОписаниеЭлементаФормы);
КонецЦикла;
ОписаниеФормы.Вставить("ОписаниеЭлементовФормы", ОписаниеЭлементовФормы);
ОписаниеФормы.Вставить("ФормаРедактируетсяПослеФиксации", Ложь);
Возврат ОписаниеФормы;
КонецФункции
&НаСервере
Функция ФиксацияБыстрыйПоискРеквизитов()
БыстрыйПоискРеквизитов = Новый Соответствие;
ПараметрыФиксации = ЭтотОбъект["ПараметрыФиксацииВторичныхДанных"];
Для Каждого КлючИЗначение Из ПараметрыФиксации.ОписаниеФиксацииРеквизитов Цикл
ИмяРеквизита = КлючИЗначение.Значение.ИмяРеквизита;
Если ИмяРеквизита = "МедицинскаяОрганизация" Тогда
Продолжить;
КонецЕсли;
Если Элементы.Найти(ИмяРеквизита) <> Неопределено Тогда
БыстрыйПоискРеквизитов.Вставить(ИмяРеквизита, ИмяРеквизита);
ИначеЕсли Элементы.Найти(КлючИЗначение.Ключ) <> Неопределено Тогда
БыстрыйПоискРеквизитов.Вставить(КлючИЗначение.Ключ, ИмяРеквизита);
КонецЕсли;
КонецЦикла;
Возврат БыстрыйПоискРеквизитов;
КонецФункции
&НаСервере
Процедура ФиксацияОбновитьФиксациюВФорме()
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ОбновитьФорму(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ФиксацияЗаполнитьРеквизитыФормыФикс(ТекущийОбъект)
ФиксацияВторичныхДанныхВДокументахФормы.ЗаполнитьРеквизитыФормыФикс(ЭтотОбъект, ТекущийОбъект);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ФиксацияЗаполнитьИдентификаторыФиксТЧ(Форма)
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗаполнитьИдентификаторыСтрок(Форма);
КонецПроцедуры
&НаСервере
Процедура ФиксацияУстановитьОбъектЗафиксирован()
ФиксацияВторичныхДанныхВДокументахФормы.УстановитьОбъектЗафиксирован(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура НачатьОбновлениеВторичныхДанных()
ОтключитьОбработчикОжидания("ОбновитьВторичныеДанныеНаКлиенте");
ПодключитьОбработчикОжидания("ОбновитьВторичныеДанныеНаКлиенте", 0.1, Истина);
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьВторичныеДанныеНаКлиенте()
ОбновитьВторичныеДанныеНаСервере();
СведенияНеобходимыеДляНазначенияПособийПриАктивизацииСтроки(Элементы.СведенияНеобходимыеДляНазначенияПособий);
КонецПроцедуры
&НаСервере
Процедура ОбновитьВторичныеДанныеНаСервере()
Если ФиксацияВторичныхДанныхВДокументахКлиентСервер.ОбъектФормыЗафиксирован(ЭтотОбъект) Тогда
Возврат;
КонецЕсли;
ФиксацияЗаполнитьИдентификаторыФиксТЧ(ЭтотОбъект);
Документ = РеквизитФормыВЗначение("Объект");
ФиксацияВторичныхДанныхВДокументахКлиентСервер.СохранитьРеквизитыФормыФикс(ЭтотОбъект, Документ);
Если Документ.ОбновитьВторичныеДанныеДокумента() Тогда
Если Не Документ.ЭтоНовый() Тогда
ФиксацияВторичныхДанныхВДокументахФормы.УстановитьМодифицированность(ЭтотОбъект, Истина);
КонецЕсли;
ЗначениеВРеквизитФормы(Документ, "Объект");
ФиксацияЗаполнитьРеквизитыФормыФикс(Объект);
СведенияНеобходимыеДляНазначенияПособийОбновитьКэшФормы(Неопределено);
КонецЕсли;
ПодписиДокументовКлиентСервер.УстановитьПредставлениеПодписей(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ОтменитьВсеИсправленияНаСервере()
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ОчиститьФиксациюИзменений(ЭтотОбъект, Объект);
ФиксацияЗаполнитьРеквизитыФормыФикс(Объект);
ОбновитьВторичныеДанныеНаСервере();
ФиксацияОбновитьФиксациюВФорме();
СведенияНеобходимыеДляНазначенияПособийОбновитьКэшФормы(Неопределено);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ЗафиксироватьИзменениеРеквизитаВФорме(Элемент, СтандартнаяОбработка = Ложь) Экспорт
ИдентификаторСтроки = Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущаяСтрока;
ОписаниеЭлементов = ФиксацияБыстрыйПоискРеквизитов();
ФиксацияВторичныхДанныхВДокументахКлиентСервер.Подключаемый_ЗафиксироватьИзменениеРеквизитаВФорме(ЭтотОбъект, Элемент, ОписаниеЭлементов, ИдентификаторСтроки);
КонецПроцедуры
#КонецОбласти
#Область РаботаСФормой
&НаСервере
Процедура МедицинскаяОрганизацияПриИзмененииНаСервере(ИдентификаторСтроки)
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "МедицинскаяОрганизация", ИдентификаторСтроки);
ОбновитьВторичныеДанныеНаСервере();
ФиксацияОбновитьФиксациюВФорме();
КонецПроцедуры
&НаСервере
Процедура ОрганизацияПриИзмененииНаСервере()
ФиксацияВторичныхДанныхВДокументахКлиентСервер.СброситьФиксациюИзмененийРеквизитовПоОснованиюЗаполнения(ЭтотОбъект, "Организация");
ОбновитьВторичныеДанныеНаСервере();
ОбновитьИнформационнуюПанельБРО();
ФиксацияОбновитьФиксациюВФорме();
ЭлектронныйДокументооборотСКонтролирующимиОрганамиКлиентСервер.ПриИнициализацииФормыРегламентированногоОтчета(ЭтотОбъект, "ФСС");
КонецПроцедуры
&НаКлиенте
Процедура СведенияНеобходимыеДляНазначенияПособийПриАктивизацииСтрокиНаСервере(ИдентификаторСтроки)
СтрокаСведений = ?(ИдентификаторСтроки = Неопределено, Неопределено, Объект.СведенияНеобходимыеДляНазначенияПособий.НайтиПоИдентификатору(ИдентификаторСтроки));
ОбновитьУведомленияОПрекращенииОтпускаПоУходу(ЭтотОбъект, СтрокаСведений);
ОбновитьПостановкуНаУчетВРанниеСрокиБеременности(СтрокаСведений);
ОбновитьСтраницуИзвещениеИзФСС(ЭтотОбъект, СтрокаСведений);
ОбновитьСтраницуПриостановленияТД(ЭтотОбъект, СтрокаСведений);
ОбновитьСтраницуПрочее(ЭтотОбъект, СтрокаСведений);
ОтключитьПредупреждения = СтрокаСведений = Неопределено Или Не ЗначениеЗаполнено(СтрокаСведений.Заявление);
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ОбновитьОтображениеПредупрежденийТЧ(
ЭтотОбъект,
"СведенияНеобходимыеДляНазначенияПособий",
ИдентификаторСтроки,
ОтключитьПредупреждения);
КонецПроцедуры
&НаСервере
Процедура СведенияНеобходимыеДляНазначенияПособийПриОкончанииРедактированияНаСервере(ИдентификаторСтроки)
СтрокаСведений = Объект.СведенияНеобходимыеДляНазначенияПособий.НайтиПоИдентификатору(ИдентификаторСтроки);
Если СтрокаСведений <> Неопределено Тогда
СведенияНеобходимыеДляНазначенияПособийОбновитьКэшФормы(Новый Структура("НомерСтроки", СтрокаСведений.НомерСтроки));
Если Не ЗначениеЗаполнено(СтрокаСведений.ПервичныйДокумент) И ЗначениеЗаполнено(СтрокаСведений.Заявление) Тогда
Количество = СтрокаСведений.КэшФормы.СписокВыбораПервичногоДокумента.Количество();
Если Количество = 1 Тогда
СтрокаСведений.ПервичныйДокумент = СтрокаСведений.КэшФормы.СписокВыбораПервичногоДокумента[0].Значение;
КонецЕсли;
КонецЕсли;
КонецЕсли;
ЗарплатаКадрыКлиентСервер.КлючевыеРеквизитыЗаполненияФормыУстановитьОтображениеПредупреждения(ЭтотОбъект);
ФиксацияВторичныхДанныхВДокументахКлиентСервер.СброситьФиксациюИзмененийРеквизитовПоОснованиюЗаполнения(
ЭтотОбъект,
"ПервичныйДокумент",
ИдентификаторСтроки);
ФиксацияВторичныхДанныхВДокументахКлиентСервер.СброситьФиксациюИзмененийРеквизитовПоОснованиюЗаполнения(
ЭтотОбъект,
"МедицинскаяОрганизация",
ИдентификаторСтроки);
КонецПроцедуры
&НаСервере
Функция ОбработкаВыбораНаСервере(ВыбранноеЗначение)
Результат = Новый Структура;
Если ОбъектЗафиксирован() Тогда
Текст = ПояснениеРеестрОтправлен();
Пояснение = ПояснениеНельзяДобавитьСтроку();
ПодготовитьОповещениеПользователя(Результат, Текст, , Пояснение, БиблиотекаКартинок.Предупреждение32);
Возврат Результат;
ИначеЕсли Объект.СведенияНеобходимыеДляНазначенияПособий.Количество() >= 200 Тогда
Текст = ПояснениеДостигнутоОграничениеЧислаСтрок();
Пояснение = ПояснениеНельзяДобавитьСтроку();
ПодготовитьОповещениеПользователя(Результат, Текст, , Пояснение, БиблиотекаКартинок.Предупреждение32);
Возврат Результат;
КонецЕсли;
Если ТипЗнч(ВыбранноеЗначение) = Тип("ДокументСсылка.ЗаявлениеСотрудникаНаВыплатуПособия") Тогда
Сведения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ВыбранноеЗначение, "ДокументОснование");
Фильтр = Новый Структура;
Фильтр.Вставить("Заявление", ВыбранноеЗначение);
Фильтр.Вставить("ПервичныйДокумент", Сведения.ДокументОснование);
Найденные = Объект.СведенияНеобходимыеДляНазначенияПособий.НайтиСтроки(Фильтр);
Если Найденные.Количество() > 0 Тогда
Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущаяСтрока = Найденные[0].ПолучитьИдентификатор();
Текст = НСтр("ru = 'Сведения уже выбраны в реестре'");
ПодготовитьОповещениеПользователя(Результат, Текст, , , БиблиотекаКартинок.Информация32);
Возврат Результат;
КонецЕсли;
Модифицированность = Истина;
СтрокаТаблицы = Объект.СведенияНеобходимыеДляНазначенияПособий.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаТаблицы, Фильтр);
Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущаяСтрока = СтрокаТаблицы.ПолучитьИдентификатор();
ОбновитьВторичныеДанныеНаСервере();
Текст = НСтр("ru = 'Сведения добавлены в реестр'");
ПодготовитьОповещениеПользователя(Результат, Текст, , , БиблиотекаКартинок.Успешно32);
Возврат Результат;
ИначеЕсли ТипЗнч(ВыбранноеЗначение) = Тип("ДокументСсылка.УведомлениеОПрекращенииОтпускаПоУходуЗаРебенком") Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПрекращаемыеЗаявления.Заявление КАК Заявление
|ИЗ
| Документ.УведомлениеОПрекращенииОтпускаПоУходуЗаРебенком.ПрекращаемыеЗаявления КАК ПрекращаемыеЗаявления
|ГДЕ
| ПрекращаемыеЗаявления.Ссылка = &ВыбранноеЗначение";
Запрос.УстановитьПараметр("ВыбранноеЗначение", ВыбранноеЗначение);
Таблица = Запрос.Выполнить().Выгрузить();
Всего = Таблица.Количество();
Если Всего = 0 Тогда
Текст = НСтр("ru = 'В уведомлении не выбрано прекращаемое заявление'");
ДействиеПриНажатии = ПолучитьНавигационнуюСсылку(ВыбранноеЗначение);
ПодготовитьОповещениеПользователя(Результат, Текст, ДействиеПриНажатии, , БиблиотекаКартинок.Предупреждение32);
Возврат Результат;
КонецЕсли;
Пропущено = 0;
Для Каждого СтрокаТаблицы Из Таблица Цикл
Фильтр = Новый Структура;
Фильтр.Вставить("Заявление", СтрокаТаблицы.Заявление);
Фильтр.Вставить("ПервичныйДокумент", ВыбранноеЗначение);
Найденные = Объект.СведенияНеобходимыеДляНазначенияПособий.НайтиСтроки(Фильтр);
Если Найденные.Количество() > 0 Тогда
Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущаяСтрока = Найденные[0].ПолучитьИдентификатор();
Пропущено = Пропущено +1;
Продолжить;
КонецЕсли;
Модифицированность = Истина;
СтрокаТаблицы = Объект.СведенияНеобходимыеДляНазначенияПособий.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаТаблицы, Фильтр);
Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущаяСтрока = СтрокаТаблицы.ПолучитьИдентификатор();
КонецЦикла;
Если Всего > Пропущено Тогда
ОбновитьВторичныеДанныеНаСервере();
КонецЕсли;
Если Пропущено = Всего Тогда
Текст = НСтр("ru = 'Уведомления уже добавлены в реестре'");
ПодготовитьОповещениеПользователя(Результат, Текст, , , БиблиотекаКартинок.Информация32);
Иначе
Текст = НСтр("ru = 'Уведомления добавлены в реестр'");
ПодготовитьОповещениеПользователя(Результат, Текст, , , БиблиотекаКартинок.Успешно32);
КонецЕсли;
Возврат Результат;
Иначе
ОбщегоНазначенияКлиентСервер.ПроверитьПараметр(
ИмяФормы + ".ОбработкаВыбораНаСервере",
"ВыбранноеЗначение",
ВыбранноеЗначение,
Тип("ДокументСсылка.ЗаявлениеСотрудникаНаВыплатуПособия"));
КонецЕсли;
КонецФункции
&НаСервереБезКонтекста
Процедура ПодготовитьОповещениеПользователя(Структура, Текст, ДействиеПриНажатии = Неопределено, Пояснение = "", Картинка = Неопределено)
ОповещениеПользователя = Новый Структура;
ОповещениеПользователя.Вставить("Текст", Текст);
ОповещениеПользователя.Вставить("ДействиеПриНажатии", ДействиеПриНажатии);
ОповещениеПользователя.Вставить("Пояснение", Пояснение);
ОповещениеПользователя.Вставить("Картинка", Картинка);
Структура.Вставить("ОповещениеПользователя", ОповещениеПользователя);
КонецПроцедуры
&НаКлиенте
Процедура ВывестиОповещениеПользователя(Структура)
Если Структура.Свойство("ОповещениеПользователя") Тогда
ПоказатьОповещениеПользователя(
Структура.ОповещениеПользователя.Текст,
Структура.ОповещениеПользователя.ДействиеПриНажатии,
Структура.ОповещениеПользователя.Пояснение,
Структура.ОповещениеПользователя.Картинка);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОбновитьВидимостьСтраницНаОснованииВидаДокумента()
ЭтоПособияПоНетрудоспособности = (Объект.ВидРеестра = Перечисления.ВидыРеестровСведенийНеобходимыхДляНазначенияИВыплатыПособий.ПособияПоНетрудоспособности);
ЭтоПособияПоУходуЗаРебенком = (Объект.ВидРеестра = Перечисления.ВидыРеестровСведенийНеобходимыхДляНазначенияИВыплатыПособий.ЕжемесячныеПособияПоУходуЗаРебенком);
ЭтоПособияПриРожденииРебенка = (Объект.ВидРеестра = Перечисления.ВидыРеестровСведенийНеобходимыхДляНазначенияИВыплатыПособий.ЕдиновременныеПособияПриРожденииРебенка);
ЭтоПособияВставшимНаУчетВРанниеСроки = (Объект.ВидРеестра = Перечисления.ВидыРеестровСведенийНеобходимыхДляНазначенияИВыплатыПособий.ПособияВставшимНаУчетВРанниеСроки);
Элементы.СтраницаНетрудоспособностьОсновное.Видимость = ЭтоПособияПоНетрудоспособности;
Элементы.СтраницаНетрудоспособностьОсвобождениеОтРаботы.Видимость = ЭтоПособияПоНетрудоспособности;
Элементы.СтраницаНетрудоспособностьОсобыеПричины.Видимость = ЭтоПособияПоНетрудоспособности;
Элементы.СтраницаНетрудоспособностьОплата.Видимость = ЭтоПособияПоНетрудоспособности;
Элементы.СтраницаЕжемесячноеПоУходуЗаРебенком.Видимость = ЭтоПособияПоУходуЗаРебенком;
Элементы.СтраницаЕдиновременноеПриРождении.Видимость = ЭтоПособияПриРожденииРебенка;
Элементы.СтраницаПособияВставшимНаУчетВРанниеСроки.Видимость = ЭтоПособияВставшимНаУчетВРанниеСроки;
Элементы.СведенияПервичныйДокумент.Видимость = ЭтоПособияПоНетрудоспособности Или ЭтоПособияПоУходуЗаРебенком;
Элементы.ПодобратьУведомлениеОПрекращенииОтпускаПоУходуЗаРебенком.Видимость = ЭтоПособияПоУходуЗаРебенком;
Статусы = Перечисления.СтатусыЗаявленийИРеестровНаВыплатуПособий;
Элементы.ПерерасчетЧерезСЭДО.Видимость = (Объект.СтатусДокумента = Статусы.ПринятФСС);
Элементы.Заполнить.ТолькоВоВсехДействиях = Элементы.ПерерасчетЧерезСЭДО.Видимость;
Элементы.Подобрать.ТолькоВоВсехДействиях = Элементы.ПерерасчетЧерезСЭДО.Видимость;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура СкорректироватьПривязкиСообщенияПользователю(Сообщение, ДокументОбъект)
Если Не ЗначениеЗаполнено(Сообщение.ПутьКДанным)
И Не СтрНачинаетсяС(Сообщение.Поле, "Объект.") Тогда
Сообщение.ПутьКДанным = "Объект";
КонецЕсли;
НачалоСкобки = СтрНайти(Сообщение.Поле, "[");
Если НачалоСкобки = 0 Тогда
Возврат;
КонецЕсли;
ОкончаниеСкобки = СтрНайти(Сообщение.Поле, "].");
Если НачалоСкобки > ОкончаниеСкобки Тогда
Возврат;
КонецЕсли;
ИмяТаблицы = Лев(Сообщение.Поле, НачалоСкобки - 1);
ИндексСтроки = Сред(Сообщение.Поле, НачалоСкобки + 1, ОкончаниеСкобки - НачалоСкобки - 1);
ИмяРеквизита = Сред(Сообщение.Поле, ОкончаниеСкобки + 2);
Если ИмяТаблицы = "СведенияНеобходимыеДляНазначенияПособий"
И ИмяРеквизита <> "НомерСтроки"
И ИмяРеквизита <> "Сотрудник"
И ИмяРеквизита <> "ПервичныйДокумент"
И ИмяРеквизита <> "Заявление" Тогда
СтрокаТаблицы = ДокументОбъект.СведенияНеобходимыеДляНазначенияПособий[Число(ИндексСтроки)];
Если (ИмяРеквизита = "ПорядокРасчетаСреднегоЗаработка"
Или ИмяРеквизита = "ДатаНачалаТрудовогоДоговораПолучателя")
И ЗначениеЗаполнено(СтрокаТаблицы.Заявление) Тогда
Сообщение.Поле = ИмяРеквизита;
Сообщение.КлючДанных = СтрокаТаблицы.Заявление;
ИначеЕсли ЗначениеЗаполнено(СтрокаТаблицы.ПервичныйДокумент)
И ИмяРеквизита <> "ИзвещениеИзФССИспользование"
И ИмяРеквизита <> "ИзвещениеИзФССНомер"
И ИмяРеквизита <> "ИзвещениеИзФССДата" Тогда
Сообщение.Поле = ИмяРеквизита;
Сообщение.КлючДанных = СтрокаТаблицы.ПервичныйДокумент;
Иначе
Сообщение.Поле = ИмяТаблицы + "[" + ИндексСтроки + "].НомерСтроки";
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОбработатьСообщенияПользователю(ДокументОбъект, Сообщения = Неопределено)
Если Сообщения = Неопределено Тогда
Сообщения = ПолучитьСообщенияПользователю(Ложь);
КонецЕсли;
Для Каждого Сообщение Из Сообщения Цикл
СкорректироватьПривязкиСообщенияПользователю(Сообщение, ДокументОбъект);
КонецЦикла;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьУведомленияОПрекращенииОтпускаПоУходу(Форма, СтрокаСведений)
Если СтрокаСведений <> Неопределено
И ЗначениеЗаполнено(СтрокаСведений.ПервичныйДокумент)
И ТипЗнч(СтрокаСведений.ПервичныйДокумент) = Тип("ДокументСсылка.УведомлениеОПрекращенииОтпускаПоУходуЗаРебенком") Тогда
Форма.Элементы.УведомлениеОПрекращенииОтпускаПоУходуГруппа.Видимость = Истина;
Форма.ПредставлениеУведомленияОПрекращенииОтпускаПоУходу = СтрокаСведений.КэшФормы.ПредставлениеУведомления;
Форма.ПодробностиУведомленияОПрекращенииОтпускаПоУходу = СтрокаСведений.КэшФормы.ПодробностиУведомления;
Иначе
Форма.Элементы.УведомлениеОПрекращенииОтпускаПоУходуГруппа.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьСтраницуИзвещениеИзФСС(Форма, СтрокаСведений)
Обязательность = (СтрокаСведений <> Неопределено И СтрокаСведений.ИзвещениеИзФССИспользование);
Если Обязательность Тогда
Форма.Элементы.ГруппаСтраницИзвещениеИзФСС.ТекущаяСтраница = Форма.Элементы.СтраницаИзвещениеИзФСС_НомерДата;
Иначе
Форма.Элементы.ГруппаСтраницИзвещениеИзФСС.ТекущаяСтраница = Форма.Элементы.СтраницаИзвещениеИзФСС_Пустая;
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьСтраницуПриостановленияТД(Форма, СтрокаСведений)
Если СтрокаСведений = Неопределено Тогда
Заявление = Неопределено;
КодНаличияПТД = "";
АвтозаполнениеПТД = Ложь;
Иначе
Заявление = СтрокаСведений.Заявление;
КодНаличияПТД = СтрокаСведений.КодНаличияПриостановленийТД;
АвтозаполнениеПТД = СтрокаСведений.АвтозаполнениеПриостановленийТД;
КонецЕсли;
Элементы = Форма.Элементы;
Элементы.СведенияНеобходимыеДляНазначенияПособийКодНаличияПриостановленийТД.ТолькоПросмотр = АвтозаполнениеПТД;
Если КодНаличияПТД = "1" Тогда
Элементы.ПриостановленияТрудовыхДоговоров.Видимость = Истина;
Элементы.ПриостановленияТрудовыхДоговоров.ОтборСтрок = Новый ФиксированнаяСтруктура("Заявление", Заявление);
Элементы.ПриостановленияТрудовыхДоговоров.ТолькоПросмотр = АвтозаполнениеПТД;
Иначе
Элементы.ПриостановленияТрудовыхДоговоров.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьСтраницуПрочее(Форма, СтрокаСведений)
Если СтрокаСведений = Неопределено Тогда
НомерЛН = "";
Иначе
НомерЛН = СтрокаСведений.НомерЛисткаНетрудоспособности;
КонецЕсли;
ФорматНомераЛНСоответствуетКоду2 = (СтрДлина(НомерЛН) = 15 И СтрНачинаетсяС(НомерЛН, "#"));
Элементы = Форма.Элементы;
Элементы.ГруппаСведенияНеобходимыеДляНазначенияПособийAvgSal.Видимость = ФорматНомераЛНСоответствуетКоду2;
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьПостановкуНаУчетВРанниеСрокиБеременности(СтрокаСведений)
Если ЭтоПособияПоНетрудоспособности Тогда
Элементы.ПоставленаНаУчетВРанниеСрокиБеременности.Видимость =
СтрокаСведений = Неопределено
Или СтрокаСведений.ВидПособия = ПредопределенноеЗначение("Перечисление.ПособияНазначаемыеФСС.ПособиеПоБеременностиИРодам");
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура СведенияНеобходимыеДляНазначенияПособийОбновитьКэшФормы(ОтборСтрок)
ТаблицаЗаявлений = Объект.СведенияНеобходимыеДляНазначенияПособий.Выгрузить(ОтборСтрок, "НомерСтроки, Заявление, ПервичныйДокумент, КэшированноеЗаявление, КэшированныйПервичныйДокумент");
ОбратныйИндекс = ТаблицаЗаявлений.Количество();
Пока ОбратныйИндекс > 0 Цикл
ОбратныйИндекс = ОбратныйИндекс - 1;
СтрокаТаблицы = ТаблицаЗаявлений[ОбратныйИндекс];
Если СтрокаТаблицы.Заявление = СтрокаТаблицы.КэшированноеЗаявление
И СтрокаТаблицы.ПервичныйДокумент = СтрокаТаблицы.КэшированныйПервичныйДокумент Тогда
ТаблицаЗаявлений.Удалить(ОбратныйИндекс);
КонецЕсли;
КонецЦикла;
Если ТаблицаЗаявлений.Количество() = 0 Тогда
Возврат;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТаблицаЗаявлений", ТаблицаЗаявлений);
Запрос.УстановитьПараметр("СсылкаРеестра", Объект.Ссылка);
Запрос.УстановитьПараметр("ДатаРеестра", Объект.Дата);
Запрос.Текст =
"ВЫБРАТЬ
| ТаблицаЗаявлений.НомерСтроки КАК НомерСтроки,
| ТаблицаЗаявлений.Заявление КАК Заявление,
| ТаблицаЗаявлений.ПервичныйДокумент КАК ПервичныйДокумент
|ПОМЕСТИТЬ ВТЗаявления
|ИЗ
| &ТаблицаЗаявлений КАК ТаблицаЗаявлений
|;
|
|
|ВЫБРАТЬ
| МАКСИМУМ(ЗаявленияРеестров.Ссылка) КАК Ссылка,
| ВТЗаявления.Заявление КАК Заявление
|ПОМЕСТИТЬ ВТРанееПринятыеРеестры
|ИЗ
| ВТЗаявления КАК ВТЗаявления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий.СведенияНеобходимыеДляНазначенияПособий КАК ЗаявленияРеестров
| ПО ВТЗаявления.Заявление = ЗаявленияРеестров.Заявление
| И (ЗаявленияРеестров.Ссылка <> &СсылкаРеестра)
| И (ЗаявленияРеестров.Ссылка.Дата <= &ДатаРеестра)
| И (ЗаявленияРеестров.Ссылка.СтатусДокумента = ЗНАЧЕНИЕ(Перечисление.СтатусыЗаявленийИРеестровНаВыплатуПособий.ПринятФСС))
| И (ЗаявленияРеестров.Ссылка.Проведен)
|
|СГРУППИРОВАТЬ ПО
| ВТЗаявления.Заявление
|;
|
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ВТЗаявления.НомерСтроки КАК НомерСтроки,
| ШапкаЗаявления.ВидПособия КАК ВидПособия,
| ШапкаЗаявления.ДокументОснование КАК ДокументОснование,
| ШапкаЗаявления.Номер КАК Номер,
| ШапкаЗаявления.Дата КАК Дата,
| ШапкаЗаявления.Перерасчет КАК Перерасчет,
| ВЫБОР
| КОГДА ВТРанееПринятыеРеестры.Ссылка ЕСТЬ NULL
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ПовторнаяОтправка
|ИЗ
| ВТЗаявления КАК ВТЗаявления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаявлениеСотрудникаНаВыплатуПособия КАК ШапкаЗаявления
| ПО ВТЗаявления.Заявление = ШапкаЗаявления.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРанееПринятыеРеестры КАК ВТРанееПринятыеРеестры
| ПО ВТЗаявления.Заявление = ВТРанееПринятыеРеестры.Заявление
|;
|
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ТаблицаЗаявлений.НомерСтроки КАК НомерСтроки,
| ПрекращаемыеЗаявления.Ссылка КАК Уведомление
|ИЗ
| ВТЗаявления КАК ТаблицаЗаявлений
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.УведомлениеОПрекращенииОтпускаПоУходуЗаРебенком.ПрекращаемыеЗаявления КАК ПрекращаемыеЗаявления
| ПО ТаблицаЗаявлений.Заявление = ПрекращаемыеЗаявления.Заявление
| И (ПрекращаемыеЗаявления.Ссылка.Проведен)
|;
|
|
|ВЫБРАТЬ
| ТаблицаЗаявлений.НомерСтроки КАК НомерСтроки,
| ШапкаУведомления.Представление КАК Представление,
| ШапкаУведомления.Номер КАК Номер,
| ШапкаУведомления.Дата КАК Дата,
| ШапкаУведомления.ТипПриказа КАК ТипПриказа,
| ШапкаУведомления.НомерПриказа КАК НомерПриказа,
| ШапкаУведомления.ДатаПриказа КАК ДатаПриказа,
| ШапкаУведомления.ДатаПрекращенияОплаты КАК ДатаПрекращенияОплаты
|ИЗ
| ВТЗаявления КАК ТаблицаЗаявлений
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.УведомлениеОПрекращенииОтпускаПоУходуЗаРебенком КАК ШапкаУведомления
| ПО ТаблицаЗаявлений.ПервичныйДокумент = ШапкаУведомления.Ссылка";
Результаты = Запрос.ВыполнитьПакет();
ВГраница = Результаты.ВГраница();
ДоступныеЗаявления = Результаты[ВГраница - 2].Выгрузить();
ДоступныеУведомления = Результаты[ВГраница - 1].Выгрузить();
ВыбранныеУведомления = Результаты[ВГраница].Выгрузить();
Фильтр = Новый Структура("НомерСтроки");
Для Каждого СтрокаТаблицы Из ТаблицаЗаявлений Цикл
Фильтр.НомерСтроки = СтрокаТаблицы.НомерСтроки;
КэшСтроки = Новый Структура("СписокВыбораПервичногоДокумента, ПредставлениеУведомления, ПодробностиУведомления, ПерерасчетИлиПовторнаяОтправка");
КэшСтроки.СписокВыбораПервичногоДокумента = Новый СписокЗначений;
КэшСтроки.ПерерасчетИлиПовторнаяОтправка = Ложь;
ПараметрыШаблона = Новый Структура("Номер, Дата, ТипПриказа, НомерПриказа, ДатаПриказа, ДатаПрекращенияОплаты, НомерЗаявления, ДатаЗаявления");
СтрокаСведений = Объект.СведенияНеобходимыеДляНазначенияПособий.НайтиСтроки(Фильтр)[0];
СтрокаСведений.КэшФормы = КэшСтроки;
СтрокаСведений.КэшированноеЗаявление = СтрокаСведений.Заявление;
СтрокаСведений.КэшированныйПервичныйДокумент = СтрокаСведений.ПервичныйДокумент;
Найденные = ДоступныеЗаявления.НайтиСтроки(Фильтр);
Для Каждого ШапкаЗаявления Из Найденные Цикл
КэшСтроки.СписокВыбораПервичногоДокумента.Добавить(ШапкаЗаявления.ДокументОснование);
КэшСтроки.ПерерасчетИлиПовторнаяОтправка = ШапкаЗаявления.Перерасчет Или ШапкаЗаявления.ПовторнаяОтправка;
ПараметрыШаблона.НомерЗаявления = ШапкаЗаявления.Номер;
ПараметрыШаблона.ДатаЗаявления = ШапкаЗаявления.Дата;
СтрокаСведений.ВидПособия = ШапкаЗаявления.ВидПособия;
КонецЦикла;
Найденные = ДоступныеУведомления.НайтиСтроки(Фильтр);
Для Каждого ПрекращаемоеЗаявление Из Найденные Цикл
КэшСтроки.СписокВыбораПервичногоДокумента.Добавить(ПрекращаемоеЗаявление.Уведомление);
КонецЦикла;
Найденные = ВыбранныеУведомления.НайтиСтроки(Фильтр);
Для Каждого ШапкаУведомления Из Найденные Цикл
КэшСтроки.ПредставлениеУведомления = ШапкаУведомления.Представление;
ЗаполнитьЗначенияСвойств(ПараметрыШаблона, ШапкаУведомления, "Номер, Дата, ТипПриказа, НомерПриказа, ДатаПриказа, ДатаПрекращенияОплаты");
ШаблонУведомления = НСтр("ru = '[ТипПриказа] [НомерПриказа] от [ДатаПриказа].
|С [ДатаПрекращенияОплаты] прекратить выплату ежемесячного пособия по уходу за ребенком,
|производимую ФСС по заявлению сотрудника [НомерЗаявления] от [ДатаЗаявления].'");
КэшСтроки.ПодробностиУведомления = ПодставитьПараметрыВШаблонСтроки(ШаблонУведомления, ПараметрыШаблона);
КонецЦикла;
КонецЦикла;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция ПодставитьПараметрыВШаблонСтроки(ШаблонСтроки, КлючиИЗначенияПараметров)
ШаблонПараметра = "[%1]";
Результат = ШаблонСтроки;
Для Каждого КлючИЗначение Из КлючиИЗначенияПараметров Цикл
Если ТипЗнч(КлючИЗначение.Значение) = Тип("Дата") Тогда
Значение = Формат(КлючИЗначение.Значение, "ДЛФ=D");
Иначе
Значение = КлючИЗначение.Значение;
КонецЕсли;
Результат = СтрЗаменить(Результат, СтрШаблон(ШаблонПараметра, КлючИЗначение.Ключ), Значение);
КонецЦикла;
Возврат Результат;
КонецФункции
&НаКлиенте
Процедура АдресМедицинскойОрганизацииЗавершениеВыбора(СтруктураАдреса, ИдентификаторСтроки) Экспорт
Если ТипЗнч(СтруктураАдреса) <> Тип("Структура") Тогда
Возврат;
КонецЕсли;
ТекущаяСтрока = Объект.СведенияНеобходимыеДляНазначенияПособий.НайтиПоИдентификатору(ИдентификаторСтроки);
ТекущаяСтрока.АдресМедицинскойОрганизации = СтруктураАдреса.Представление;
ФиксацияВторичныхДанныхВДокументахКлиентСервер.ЗафиксироватьИзменениеРеквизита(ЭтотОбъект, "СведенияНеобходимыеДляНазначенияПособийАдресМедицинскойОрганизации");
КонецПроцедуры
&НаСервереБезКонтекста
Функция КонтактнаяИнформацияПоПредставлению(Знач Представление, Знач ОжидаемыйВид)
Возврат УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПоПредставлению(Представление, ОжидаемыйВид);
КонецФункции
&НаКлиенте
Процедура ОткрытьЗаявлениеНаСтранице(ИмяСтраницы)
ТекущаяСтрока = Элементы.СведенияНеобходимыеДляНазначенияПособий.ТекущиеДанные;
Если ТекущаяСтрока = Неопределено Или Не ЗначениеЗаполнено(ТекущаяСтрока.Заявление) Тогда
Возврат;
КонецЕсли;
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Ключ", ТекущаяСтрока.Заявление);
ПараметрыФормы.Вставить("ТекущаяСтраница", ИмяСтраницы);
ОткрытьФорму("Документ.ЗаявлениеСотрудникаНаВыплатуПособия.ФормаОбъекта", ПараметрыФормы);
КонецПроцедуры
#КонецОбласти
#Область ЗаполнениеДокумента
&НаСервере
Процедура ПриПолученииДанныхНаСервере(ТекущийОбъект)
ПодписиДокументов.ПриСозданииНаСервере(ЭтотОбъект);
ФиксацияВторичныхДанныхВДокументахФормы.ИнициализироватьМеханизмФиксацииРеквизитов(ЭтотОбъект, ТекущийОбъект);
ОписаниеЭлементов = ФиксацияБыстрыйПоискРеквизитов();
ФиксацияВторичныхДанныхВДокументахФормы.ПодключитьОбработчикиФиксацииИзмененийРеквизитов(ЭтотОбъект, ОписаниеЭлементов);
ЗарплатаКадры.КлючевыеРеквизитыЗаполненияФормыЗаполнитьПредупреждения(ЭтотОбъект);
ЗарплатаКадрыКлиентСервер.КлючевыеРеквизитыЗаполненияФормыУстановитьОтображениеПредупреждения(ЭтотОбъект);
ОбновитьВидимостьСтраницНаОснованииВидаДокумента();
ОбновитьВторичныеДанныеНаСервере();
ФиксацияОбновитьФиксациюВФорме();
ОбновитьИнформационнуюПанельБРО();
СведенияНеобходимыеДляНазначенияПособийОбновитьКэшФормы(Неопределено);
ОбновитьУведомленияОПрекращенииОтпускаПоУходу(ЭтотОбъект, Неопределено);
ОбновитьСтраницуИзвещениеИзФСС(ЭтотОбъект, Неопределено);
ОбновитьСтраницуПриостановленияТД(ЭтотОбъект, Неопределено);
ОбновитьСтраницуПрочее(ЭтотОбъект, Неопределено);
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьНаСервере()
Запрос = ПрямыеВыплатыПособийСоциальногоСтрахования.ЗапросРеестраПрямыхВыплатПоПервичнымДокументам(Объект, Неопределено, Неопределено);
ТаблицаЗначений = Запрос.Выполнить().Выгрузить();
Объект.СведенияНеобходимыеДляНазначенияПособий.Загрузить(ТаблицаЗначений);
ОбновитьВторичныеДанныеНаСервере();
СведенияНеобходимыеДляНазначенияПособийОбновитьКэшФормы(Неопределено);
ЗарплатаКадрыКлиентСервер.КлючевыеРеквизитыЗаполненияФормыУстановитьОтображениеПредупреждения(ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Область ПроверкиЗаполненияПоРегламентуФСС
&НаКлиенте
Процедура ЗаписатьИПроверитьПоРегламентуФСС(ОбработчикЗавершения, РежимЗаписи)
ОчиститьСообщения();
ПараметрыЗаписи = Новый Структура("РежимЗаписи", РежимЗаписи);
Если Не Записать(ПараметрыЗаписи) Тогда
Возврат;
КонецЕсли;
РезультатПроверки = ПроверитьЗаполнениеПоРегламентуФСС();
Если РезультатПроверки.Успех Тогда
ВыполнитьОбработкуОповещения(ОбработчикЗавершения, Ложь);
Иначе
Обработчик = Новый ОписаниеОповещения("ПроверитьПослеОтветаНаВопрос", ЭтотОбъект, ОбработчикЗавершения);
ТекстВопроса = СтрШаблон(
НСтр("ru = 'В документе обнаружены ошибки (%1).
|Продолжить (не рекомендуется)?'"),
РезультатПроверки.КоличествоОшибок);
ПоказатьВопрос(Обработчик, ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да, НСтр("ru = 'Предупреждение'"));
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ПроверитьЗаполнениеПоРегламентуФСС()
ДокументОбъект = РеквизитФормыВЗначение("Объект");
Успех = ДокументОбъект.ПроверитьЗаполнениеПоРегламентуФСС();
Сообщения = ПолучитьСообщенияПользователю(Ложь);
ОбработатьСообщенияПользователю(ДокументОбъект, Сообщения);
Возврат Новый Структура("Успех, КоличествоОшибок", Успех, Сообщения.Количество());
КонецФункции
&НаКлиенте
Процедура ПроверитьПослеОтветаНаВопрос(Ответ, ОбработчикЗавершения) Экспорт
Если Ответ = КодВозвратаДиалога.Да Тогда
ВыполнитьОбработкуОповещения(ОбработчикЗавершения, Истина);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область РаботаСXML
&НаКлиенте
Процедура ПоказатьФайлПослеПроверки(ЕстьОшибки, ПустойПараметр) Экспорт
ФайлРеестра = ФайлРеестраПрямыхВыплат(Объект.Ссылка, УникальныйИдентификатор);
Если ФайлРеестра = Неопределено Тогда
Возврат;
КонецЕсли;
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.УстановитьТекст(ФайлРеестра.ТекстXML);
ТекстовыйДокумент.Показать(ФайлРеестра.ИмяФайлаБезРасширения, ФайлРеестра.ИмяФайлаСРасширением);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ФайлРеестраПрямыхВыплат(Знач СсылкаРеестра, Знач УникальныйИдентификатор)
Возврат Документы.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий.ФайлРеестра(СсылкаРеестра, УникальныйИдентификатор)
КонецФункции
#КонецОбласти
#Область ИзвещенияФСС
&НаСервере
Процедура ЗаполнитьДокументыКОтправкеПодтвержденияОПолучении()
ДокументыКОтправкеПодтвержденияОПолучении.Очистить();
Если Не ЗаполнятьДокументыКОтправкеПодтвержденияОПолучении
Или Объект.СтатусДокумента <> Перечисления.СтатусыЗаявленийИРеестровНаВыплатуПособий.ПринятФСС Тогда
Возврат;
КонецЕсли;
Фильтр = Новый Структура("ИзвещениеИзФССИспользование", Истина);
Колонки = "ИзвещениеИзФССНомер, ИзвещениеИзФССДата";
МетаданныеИзвещения = Метаданные.Документы.ИзвещениеФСС;
ТаблицаДляПоискаИзвещений = Объект.СведенияНеобходимыеДляНазначенияПособий.Выгрузить(Фильтр, Колонки);
ТаблицаДляПоискаИзвещений.Колонки.Добавить("ВходящаяДата", МетаданныеИзвещения.Реквизиты.ВходящаяДата.Тип);
ТаблицаДляПоискаИзвещений.Колонки.Добавить("ВходящийНомер", МетаданныеИзвещения.Реквизиты.ВходящийНомер.Тип);
ОбратныйИндекс = ТаблицаДляПоискаИзвещений.Количество();
Пока ОбратныйИндекс > 0 Цикл
ОбратныйИндекс = ОбратныйИндекс - 1;
СтрокаТаблицы = ТаблицаДляПоискаИзвещений[ОбратныйИндекс];
СтрокаТаблицы.ВходящаяДата = СтрокаТаблицы.ИзвещениеИзФССДата;
СтрокаТаблицы.ВходящийНомер = СтроковыеФункцииКлиентСервер.СтрокаВЧисло(СтрокаТаблицы.ИзвещениеИзФССНомер);
Если Не ЗначениеЗаполнено(СтрокаТаблицы.ВходящаяДата)
Или Не ЗначениеЗаполнено(СтрокаТаблицы.ВходящийНомер) Тогда
ТаблицаДляПоискаИзвещений.Удалить(СтрокаТаблицы);
КонецЕсли;
КонецЦикла;
Если ТаблицаДляПоискаИзвещений.Количество() = 0 Тогда
Возврат;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТаблицаДляПоискаИзвещений.ВходящийНомер КАК ВходящийНомер,
| ТаблицаДляПоискаИзвещений.ВходящаяДата КАК ВходящаяДата
|ПОМЕСТИТЬ ВТДляПоискаИзвещений
|ИЗ
| &ТаблицаДляПоискаИзвещений КАК ТаблицаДляПоискаИзвещений
|;
|
|
|ВЫБРАТЬ ПЕРВЫЕ 1
| Извещение.Ссылка КАК Ссылка
|ИЗ
| ВТДляПоискаИзвещений КАК ВТДляПоискаИзвещений
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ИзвещениеФСС КАК Извещение
| ПО ВТДляПоискаИзвещений.ВходящийНомер = Извещение.ВходящийНомер
| И ВТДляПоискаИзвещений.ВходящаяДата = Извещение.ВходящаяДата
|ГДЕ
| НЕ Извещение.ПодтверждениеПолученоФСС
| И Извещение.ДатаОтправкиПодтверждения = &ПустаяДата
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ ПЕРВЫЕ 1
| Извещение.Ссылка
|ИЗ
| ВТДляПоискаИзвещений КАК ВТДляПоискаИзвещений
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗапросНедостающихСведенийПособияСФР КАК Извещение
| ПО ВТДляПоискаИзвещений.ВходящийНомер = Извещение.ВходящийНомер
| И ВТДляПоискаИзвещений.ВходящаяДата = Извещение.ВходящаяДата
|ГДЕ
| НЕ Извещение.ПодтверждениеДоставлено
| И Извещение.ДатаОтправкиПодтверждения = &ПустаяДата";
ТаблицаДляПоискаИзвещений.Колонки.Удалить("ИзвещениеИзФССДата");
ТаблицаДляПоискаИзвещений.Колонки.Удалить("ИзвещениеИзФССНомер");
Запрос.УстановитьПараметр("ТаблицаДляПоискаИзвещений", ТаблицаДляПоискаИзвещений);
Запрос.УстановитьПараметр("ПустаяДата", '00010101');
Таблица = Запрос.Выполнить().Выгрузить();
Для Каждого СтрокаТаблицы Из Таблица Цикл
ДокументыКОтправкеПодтвержденияОПолучении.Добавить(СтрокаТаблицы.Ссылка);
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#КонецОбласти