Процедура ЗаполнитьСтрокуРеестра(ROW, СтруктураДанных)
Если Не СтруктураДанных.Перерасчет Тогда
ROW.TYPE_INFO = "0";
Иначе
ROW.TYPE_INFO = "1";
ROW.RECALC_REASON_CODE = Число("0"+СтруктураДанных.КодПричиныПерерасчета);
КонецЕсли;
Если СтруктураДанных.ВидВыплаты = "1" Тогда
КонецЕсли;
ROW.DOC_TYPE = СтруктураДанных.ВидВыплаты;
ROW.DOC_DT1 = СтруктураДанных.ДатаПредставленияПакетаДокументов;
ROW.SNILS = СтрЗаменить(СтрЗаменить(СтруктураДанных.СтраховойНомерПФР, "-","")," ","");
ROW.INN_PERSON = СтруктураДанных.ИНН;
ROW.SURNAME = СтруктураДанных.Фамилия;
ROW.NAME = СтруктураДанных.Имя;
ROW.PATRONIMIC = СтруктураДанных.Отчество;
ЗаполнитьСтатусНалогоплательщикаВСтрокеРеестра(ROW, СтруктураДанных);
ROW.RESIDENT_CODE = СтруктураДанных.КодСтраны;
ROW.BIRTHDAY = СтруктураДанных.ДатаРождения;
ROW.GENDER = Формат(СтруктураДанных.Пол = Перечисления.ПолФизическогоЛица.Женский, "БЛ=0; БИ=1");
Если ЗначениеЗаполнено(СтруктураДанных.КодМВДДокументаНаПроживание)
И ЗначениеЗаполнено(СтруктураДанных.СерияДокументаНаПроживание + " " + СтруктураДанных.НомерДокументаНаПроживание)
И ЗначениеЗаполнено(СтруктураДанных.ДатаВыдачиДокументаНаПроживание)
И ЗначениеЗаполнено(СтруктураДанных.КемВыданДокументНаПроживание)
И ЗначениеЗаполнено(СтруктураДанных.Гражданство)
И СтруктураДанных.Гражданство <> ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.СтраныМира.Россия") Тогда
ROW.ID_TYPE = СтруктураДанных.КодМВДДокументаНаПроживание;
ROW.ID_NO = СтруктураДанных.СерияДокументаНаПроживание + " " + СтруктураДанных.НомерДокументаНаПроживание;
ROW.ID_DT = СтруктураДанных.ДатаВыдачиДокументаНаПроживание;
ROW.ID_DEPT = СокрЛП(СтруктураДанных.КемВыданДокументНаПроживание);
Иначе
ROW.ID_TYPE = СтруктураДанных.ВидУдостоверенияЛичности;
ROW.ID_NO = СтруктураДанных.СерияДокумента + " " + СтруктураДанных.НомерДокумента;
ROW.ID_DT = СтруктураДанных.ДатаВыдачиДокумента;
ROW.ID_DEPT = СокрЛП(СтруктураДанных.КемВыданДокумент);
КонецЕсли;
ROW.OWNER_FLAG = 1;
ROW.EMPL_FLAG = Формат(СтруктураДанных.Совместительство, "БЛ=1; БИ=0");
// Приказ страхователя:
// 1 - о досрочном выходе на работу;
// 2 - о прекращении трудовых отношений.
Если СтруктураДанных.ДосрочноеПрекращениеОтпускаПоУходуТипПриказа = Перечисления.СостоянияСотрудника.Работа Тогда
HOLID_TYPE = "1";
ИначеЕсли СтруктураДанных.ДосрочноеПрекращениеОтпускаПоУходуТипПриказа = Перечисления.СостоянияСотрудника.Увольнение Тогда
HOLID_TYPE = "2";
Иначе
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.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 = Формат(СтруктураДанных.ПериодПростояС1, "ДФ=yyyy-MM-dd");
PERIOD.END_DATE = Формат(СтруктураДанных.ПериодПростояПо1, "ДФ=yyyy-MM-dd");
PERIOD.IDLE_AVERAGE = СтруктураДанных.СреднийЗаработокНаПериодПростоя1;
PERIODS.PERIOD.Добавить(PERIOD);
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ПериодПростояС2) Или ЗначениеЗаполнено(СтруктураДанных.ПериодПростояПо2) Тогда
PERIOD = ФабрикаXDTO.Создать(ТипPERIOD);
PERIOD.START_DATE = Формат(СтруктураДанных.ПериодПростояС2, "ДФ=yyyy-MM-dd");
PERIOD.END_DATE = Формат(СтруктураДанных.ПериодПростояПо2, "ДФ=yyyy-MM-dd");
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 = Формат(СтруктураДанных.ЭтоЭЛН, "БЛ=0; БИ=1");
ROW.LPU_ADDRESS = СтруктураДанных.АдресМедицинскойОрганизации;
ROW.REASON2 = СтруктураДанных.ДополнительныйКодПричиныНетрудоспособности;
ROW.REASON3 = СтруктураДанных.ВторойКодПричиныНетрудоспособности;
ROW.VOUCHER_NO = СтруктураДанных.НомерПутевки;
Если ЗначениеЗаполнено(СтруктураДанных.УходЗаРодственникомФИО1) Тогда
ROW.SERV1_DAYS = СтруктураДанных.УходЗаРодственникомИспользованоДней1;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.УходЗаРодственникомФИО2) Тогда
ROW.SERV2_DAYS = СтруктураДанных.УходЗаРодственникомИспользованоДней2;
КонецЕсли;
ROW.MSE_DT1 = Формат(СтруктураДанных.ДатаНаправленияВБюроМСЭ, "ДФ=yyyy-MM-dd");
ROW.MSE_DT2 = Формат(СтруктураДанных.ДатаРегистрацииДокументовМСЭ, "ДФ=yyyy-MM-dd");
ROW.MSE_DT3 = Формат(СтруктураДанных.ДатаОсвидетельствованияМСЭ, "ДФ=yyyy-MM-dd");
Если ЗначениеЗаполнено(СтруктураДанных.ГруппаИнвалидности) Тогда
ROW.MSE_INVALID_GROUP = СтруктураДанных.ГруппаИнвалидности;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ДнейБолезниИнвалида) Тогда
ROW.MSE_INVALID_DAYS = СтруктураДанных.ДнейБолезниИнвалида;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеС1) Или ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеПо1) Тогда
ROW.TREAT1_DT1 = Формат(СтруктураДанных.ОсвобождениеС1, "ДФ=yyyy-MM-dd");
ROW.TREAT1_DT2 = Формат(СтруктураДанных.ОсвобождениеПо1, "ДФ=yyyy-MM-dd");
ROW.TREAT1_DOC_ID = СтруктураДанных.ИдентификационныйНомерВрача1;
ROW.TREAT1_CHAIRMAN_VK = СтруктураДанных.ФИОВрачаПредседателяВК1;
ROW.TREAT1_DOC2_ID = СтруктураДанных.ИдентификационныйНомерВрачаПредседателяВК1;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеС2) Или ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеПо2) Тогда
ROW.TREAT2_DOC_ID = СтруктураДанных.ИдентификационныйНомерВрача2;
ROW.TREAT2_CHAIRMAN_VK = СтруктураДанных.ФИОВрачаПредседателяВК2;
ROW.TREAT2_DOC2_ID = СтруктураДанных.ИдентификационныйНомерВрачаПредседателяВК2;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеС3) Или ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеПо3) Тогда
ROW.TREAT3_DOC_ID = СтруктураДанных.ИдентификационныйНомерВрача3;
ROW.TREAT3_CHAIRMAN_VK = СтруктураДанных.ФИОВрачаПредседателяВК3;
ROW.TREAT3_DOC2_ID = СтруктураДанных.ИдентификационныйНомерВрачаПредседателяВК3;
КонецЕсли;
ROW.CALC_CONDITION1 = СтруктураДанных.УсловияИсчисленияКод1;
ROW.CALC_CONDITION2 = СтруктураДанных.УсловияИсчисленияКод2;
ROW.CALC_CONDITION3 = СтруктураДанных.УсловияИсчисленияКод3;
Если СтруктураДанных.УсловияИсчисленияКод1 = "43" Или СтруктураДанных.УсловияИсчисленияКод2 = "43" Или СтруктураДанных.УсловияИсчисленияКод3 = "43" Тогда
Если СтруктураДанных.ВыплатаЗаСчетФедеральногоБюджета = Перечисления.ОснованияФинансированияПособияФедеральнымБюджетом.Чернобыль Тогда
ROW.CODE_NUCLEAR = 1;
ИначеЕсли СтруктураДанных.ВыплатаЗаСчетФедеральногоБюджета = Перечисления.ОснованияФинансированияПособияФедеральнымБюджетом.Семипалатинск Тогда
ROW.CODE_NUCLEAR = 2;
ИначеЕсли СтруктураДанных.ВыплатаЗаСчетФедеральногоБюджета = Перечисления.ОснованияФинансированияПособияФедеральнымБюджетом.Маяк Тогда
ROW.CODE_NUCLEAR = 3;
ИначеЕсли СтруктураДанных.ВыплатаЗаСчетФедеральногоБюджета = Перечисления.ОснованияФинансированияПособияФедеральнымБюджетом.ПодразделенияОсобогоРиска Тогда
ROW.CODE_NUCLEAR = 4;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ДатаАктаФормыН1) Тогда
ROW.FORM1_DT = Формат(СтруктураДанных.ДатаАктаФормыН1, "ДФ=yyyy-MM-dd");
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ДатаНачалаРаботы) Тогда
ROW.RETURN_DATE_EMPL = Формат(СтруктураДанных.ДатаНачалаРаботы, "ДФ=yyyy-MM-dd");
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.СрочныйДоговорС) И ЗначениеЗаполнено(СтруктураДанных.СрочныйДоговорПо) Тогда
ROW.WORK_CONTRACT_START_DT = Формат(СтруктураДанных.СрочныйДоговорС, "ДФ=yyyy-MM-dd");
ROW.WORK_CONTRACT_FINISH_DT = Формат(СтруктураДанных.СрочныйДоговорПо, "ДФ=yyyy-MM-dd");
КонецЕсли;
ROW.FSS_PAYMENT_FLAG = ?(ЗначениеЗаполнено(СтруктураДанных.ДатаНачалаОплаты), 1, 0);
Если ЗначениеЗаполнено(СтруктураДанных.ДатаНачалаОплаты) Тогда
ROW.DT1 = Формат(СтруктураДанных.ДатаНачалаОплаты, "ДФ=yyyy-MM-dd");
ROW.DT2 = Формат(СтруктураДанных.ДатаОкончанияОплаты, "ДФ=yyyy-MM-dd");
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.СуммаПособияРаботодателя) Тогда
ROW.EMPL_PAYMENT = СтруктураДанных.СуммаПособияРаботодателя;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.СуммаПособияФСС) Тогда
ROW.FSS_PAYMENT = СтруктураДанных.СуммаПособияФСС;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.СуммаПособияВсего) Тогда
ROW.PAYMENT = СтруктураДанных.СуммаПособияВсего;
КонецЕсли;
КонецЕсли;
Если СтруктураДанных.ВидВыплаты = "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;
КонецЕсли;
КонецЕсли;
Если СтруктураДанных.ВидВыплаты = "2" Тогда
ROW.PREGN12W_FLAG = "0";
Если СтруктураДанных.ВидПособия = Перечисления.ПособияНазначаемыеФСС.ПособиеПоБеременностиИРодам Тогда
Если СтруктураДанных.ПоставленаНаУчетВРанниеСрокиБеременности = Перечисления.ПостановкаНаУчетВРанниеСрокиБеременности.НеИзвестно Тогда
ROW.PREGN12W_FLAG = "2";
ИначеЕсли СтруктураДанных.ПоставленаНаУчетВРанниеСрокиБеременности = Перечисления.ПостановкаНаУчетВРанниеСрокиБеременности.Поставлена Тогда
ROW.PREGN12W_FLAG = "1";
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если СтруктураДанных.ВидВыплаты = "3"
Или (СтруктураДанных.ВидВыплаты = "2" И СтруктураДанных.ПоставленаНаУчетВРанниеСрокиБеременности = Перечисления.ПостановкаНаУчетВРанниеСрокиБеременности.Поставлена) Тогда
ROW.REF_12WEEK_NO = СтруктураДанных.НомерСправкиБеременной;
ROW.REF_12WEEK_DT = Формат(СтруктураДанных.ДатаСправкиБеременной, "ДФ=yyyy-MM-dd");
КонецЕсли;
Если СтруктураДанных.ВидВыплаты = "4" Тогда
Если ЗначениеЗаполнено(СтруктураДанных.ВидСправкиОРожденииРебенка) И ЗначениеЗаполнено(СтруктураДанных.НомерСправки) И ЗначениеЗаполнено(СтруктураДанных.ДатаСправки) Тогда
Если СтруктураДанных.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма24 Тогда
ВидСправкиОРожденииРебенка = "24";
ИначеЕсли СтруктураДанных.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма25 Тогда
ВидСправкиОРожденииРебенка = "25";
ИначеЕсли СтруктураДанных.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма26 Тогда
ВидСправкиОРожденииРебенка = "26";
ИначеЕсли СтруктураДанных.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма1 Тогда
ВидСправкиОРожденииРебенка = "48";
ИначеЕсли СтруктураДанных.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма2 Тогда
ВидСправкиОРожденииРебенка = "49";
ИначеЕсли СтруктураДанных.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма3 Тогда
ВидСправкиОРожденииРебенка = "50";
ИначеЕсли СтруктураДанных.ВидСправкиОРожденииРебенка = Перечисления.ФормыСправкиОРожденииРебенка.Форма4 Тогда
ВидСправкиОРожденииРебенка = "51";
КонецЕсли;
ROW.REF_TYPE = ВидСправкиОРожденииРебенка;
ROW.REF_24_NO = СтруктураДанных.НомерСправки;
ROW.REF_24_DT = Формат(СтруктураДанных.ДатаСправки, "ДФ=yyyy-MM-dd");
Иначе
Если ЗначениеЗаполнено(СтруктураДанных.ДокументОРожденииДатаВыдачи) Тогда
ROW.O_CERT_NO = СтруктураДанных.ДокументОРожденииСерияНомер;
ROW.O_CERT_DT = Формат(СтруктураДанных.ДокументОРожденииДатаВыдачи, "ДФ=yyyy-MM-dd");
Иначе
ROW.O_CERT_NO = ?(ЗначениеЗаполнено(СтруктураДанных.НомерИногоПодтвержденияРождения), СтруктураДанных.НомерИногоПодтвержденияРождения, "00000000");
ROW.O_CERT_DT = ?(ЗначениеЗаполнено(СтруктураДанных.ДатаИногоПодтвержденияРождения), Формат(СтруктураДанных.ДатаИногоПодтвержденияРождения, "ДФ=yyyy-MM-dd"), Формат(СтруктураДанных.ДатаРожденияРебенка, "ДФ=yyyy-MM-dd"));
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.НомерДоговораОПередачеНаВоспитание) И ЗначениеЗаполнено(СтруктураДанных.ДатаДоговораОПередачеНаВоспитание) Тогда
ROW.REF_FAMILY_NO = СтруктураДанных.НомерДоговораОПередачеНаВоспитание;
ROW.REF_FAMILY_DT = Формат(СтруктураДанных.ДатаДоговораОПередачеНаВоспитание, "ДФ=yyyy-MM-dd");
КонецЕсли;
ROW.REF_NPAY_OTHER_NO = СтруктураДанных.НомерСправкиОтДругогоРодителя;
ROW.REF_NPAY_OTHER_DT = Формат(СтруктураДанных.ДатаСправкиОтДругогоРодителя, "ДФ=yyyy-MM-dd");
КонецЕсли;
Если СтруктураДанных.ВидВыплаты = "2" Тогда
ROW.HOLID_DT_ST = Формат(СтруктураДанных.ОсвобождениеС1 , "ДФ=yyyy-MM-dd");
ROW.HOLID_DT_FN = Формат(СтруктураДанных.ОсвобождениеПо1, "ДФ=yyyy-MM-dd");
КонецЕсли;
Если СтруктураДанных.ВидВыплаты = "5" Тогда
ROW.HOLID_DT_ST = Формат(СтруктураДанных.ДатаНачала, "ДФ=yyyy-MM-dd");
ROW.HOLID_DT_FN = Формат(СтруктураДанных.ДатаОкончания, "ДФ=yyyy-MM-dd");
КонецЕсли;
Если СтруктураДанных.ВидВыплаты = "2" Или СтруктураДанных.ВидВыплаты = "5" Тогда
ROW.HOLID_ORD_NO = СтруктураДанных.НомерПриказаНаОтпускПоУходуЗаРебенком;
ROW.HOLID_ORD_DT = ?(ЗначениеЗаполнено(СтруктураДанных.ДатаПриказаНаОтпускПоУходуЗаРебенком), Формат(СтруктураДанных.ДатаПриказаНаОтпускПоУходуЗаРебенком, "ДФ=yyyy-MM-dd"), "");
КонецЕсли;
Если СтруктураДанных.ВидВыплаты = "4" Или СтруктураДанных.ВидВыплаты = "5" Тогда
ROW.CERT_BR = Формат(СтруктураДанных.ДатаРожденияРебенка, "ДФ=yyyy-MM-dd");
ROW.CERT_SURNAME = СтруктураДанных.ФамилияРебенка;
ROW.CERT_NAME = СтруктураДанных.ИмяРебенка;
ROW.CERT_PATRONIMIC = СтруктураДанных.ОтчествоРебенка;
Если ЗначениеЗаполнено(СтруктураДанных.УсыновлениеОпека) Тогда
ROW.WARD_FLAG = СтруктураДанных.УсыновлениеОпека;
ROW.WARD_REF_NO = СтруктураДанных.УсыновлениеОпекаСерияНомер;
ROW.WARD_REF_DT = Формат(СтруктураДанных.УсыновлениеОпекаДатаВыдачи,"ДФ=yyyy-MM-dd");
КонецЕсли;
КонецЕсли;
Если СтруктураДанных.ВидВыплаты = "5" Тогда
ROW.MULTPATR = Формат(СтруктураДанных.ОдновременныйУходЗаНесколькимиДетьми,"БЛ=0; БИ=1");
ROW.CHILD_SER = СтруктураДанных.Очередность;
ROW.MH_OUT = Формат(СтруктураДанных.НаличиеРешенияСудаОЛишенииПрав,"БЛ=0; БИ=1");
ROW.OTHER_CHILD_FLAG_DT = Формат(СтруктураДанных.НаличиеДокументаОСмерти,"БЛ=0; БИ=1");
ROW.OTHER_CHILD_FLAG_BR = Формат(СтруктураДанных.НаличиеДокументаОРождении,"БЛ=0; БИ=1");
Если СтруктураДанных.ДокументОРожденииВид = Перечисления.ВидыПодтверждающихДокументовОтпускаПоУходу.СвидетельствоОРождении Тогда
ROW.CERT_NO = СтруктураДанных.ДокументОРожденииСерияНомер;
ROW.CERT_DT = Формат(СтруктураДанных.ДокументОРожденииДатаВыдачи, "ДФ=yyyy-MM-dd");
Иначе
Если ЗначениеЗаполнено(СтруктураДанных.ДокументОРожденииДатаВыдачи) Тогда
ROW.O_CERT_NO = СтруктураДанных.ДокументОРожденииСерияНомер;
ROW.O_CERT_DT = Формат(СтруктураДанных.ДокументОРожденииДатаВыдачи, "ДФ=yyyy-MM-dd");
Иначе
ROW.O_CERT_NO = ?(ЗначениеЗаполнено(СтруктураДанных.НомерИногоПодтвержденияРождения), СтруктураДанных.НомерИногоПодтвержденияРождения, "00000000");
ROW.O_CERT_DT = ?(ЗначениеЗаполнено(СтруктураДанных.ДатаИногоПодтвержденияРождения), Формат(СтруктураДанных.ДатаИногоПодтвержденияРождения, "ДФ=yyyy-MM-dd"), Формат(СтруктураДанных.ДатаРожденияРебенка, "ДФ=yyyy-MM-dd"));
КонецЕсли;
КонецЕсли;
Если СтруктураДанных.ОдновременныйУходЗаНесколькимиДетьми Тогда
ROW.AVG_SAL = Окр(СтруктураДанных.СреднийЗаработокЗаРасчетныйПериод * 30.4, 2);
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.НомерПриказаОЗаменеПослеродовогоОтпуска) И ЗначениеЗаполнено(СтруктураДанных.ДатаПриказаОЗаменеПослеродовогоОтпуска) Тогда
ROW.HOLID_CH_ORD_NO = СтруктураДанных.НомерПриказаОЗаменеПослеродовогоОтпуска;
ROW.HOLID_CH_ORD_DT = Формат(СтруктураДанных.ДатаПриказаОЗаменеПослеродовогоОтпуска, "ДФ=yyyy-MM-dd");
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.НомерСправкиОНеполученииПособияОтОтца) И ЗначениеЗаполнено(СтруктураДанных.ДатаСправкиОНеполученииПособияОтОтца) Тогда
ROW.REF_NPAY_FATHER_NO = СтруктураДанных.НомерСправкиОНеполученииПособияОтОтца;
ROW.REF_NPAY_FATHER_DT = Формат(СтруктураДанных.ДатаСправкиОНеполученииПособияОтОтца, "ДФ=yyyy-MM-dd");
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.НомерСправкиОНеполученииПособияОтМатери) И ЗначениеЗаполнено(СтруктураДанных.ДатаСправкиОНеполученииПособияОтМатери) Тогда
ROW.REF_NPAY_MOTHER_NO = СтруктураДанных.НомерСправкиОНеполученииПособияОтМатери;
ROW.REF_NPAY_MOTHER_DT = Формат(СтруктураДанных.ДатаСправкиОНеполученииПособияОтМатери, "ДФ=yyyy-MM-dd");
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.НомерСправкиПоДругимМестамРаботы) И ЗначениеЗаполнено(СтруктураДанных.ДатаСправкиПоДругимМестамРаботы) Тогда
ROW.REF_NPAY_WORK_NO = СтруктураДанных.НомерСправкиПоДругимМестамРаботы;
ROW.REF_NPAY_WORK_DT = Формат(СтруктураДанных.ДатаСправкиПоДругимМестамРаботы, "ДФ=yyyy-MM-dd");
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ДатаСмертиРебенка) Тогда
ROW.CERT_DT_DATE = Формат(СтруктураДанных.ДатаСмертиРебенка, "ДФ=yyyy-MM-dd");
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ВыплатаЗаСчетФедеральногоБюджета)
И НЕ СтруктураДанных.ВыплатаЗаСчетФедеральногоБюджета = Перечисления.ОснованияФинансированияПособияФедеральнымБюджетом.ЗачетНестраховыхПериодов
И ЗначениеЗаполнено(СтруктураДанных.ПроживаниеРаботаВЛьготнойЗоне)
И НЕ СтруктураДанных.ПроживаниеРаботаВЛьготнойЗоне = Перечисления.ОтношениеКОсобойЗоне.Нет Тогда
Если СтруктураДанных.ПроживаниеРаботаВЛьготнойЗоне = Перечисления.ОтношениеКОсобойЗоне.Проживает Тогда
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.CODE_NUCLEAR = 1;
ИначеЕсли СтруктураДанных.ВыплатаЗаСчетФедеральногоБюджета = Перечисления.ОснованияФинансированияПособияФедеральнымБюджетом.Семипалатинск Тогда
ROW.CODE_NUCLEAR = 2;
ИначеЕсли СтруктураДанных.ВыплатаЗаСчетФедеральногоБюджета = Перечисления.ОснованияФинансированияПособияФедеральнымБюджетом.Маяк Тогда
ROW.CODE_NUCLEAR = 3;
ИначеЕсли СтруктураДанных.ВыплатаЗаСчетФедеральногоБюджета = Перечисления.ОснованияФинансированияПособияФедеральнымБюджетом.ПодразделенияОсобогоРиска Тогда
ROW.CODE_NUCLEAR = 4;
КонецЕсли;
КонецЕсли;
КонецЕсли;
//<<-- //НАЧ #
//Если Не СтруктураДанных.ЭтоЭЛН Или СтруктураДанных.ЭЛНКарантинПоКоронавирусу
// Или СтрНачинаетсяС(СтруктураДанных.НомерВходящегоДокумента, "9990") Тогда
//-->> //КОН #
Если СтруктураДанных.ВидВыплаты = "1" Или СтруктураДанных.ВидВыплаты = "2" Или СтруктураДанных.ВидВыплаты = "6" Тогда
Если ЗначениеЗаполнено(СтруктураДанных.НомерПервичногоБольничного) Тогда
ROW.PREV_LN_CODE = СтруктураДанных.НомерПервичногоБольничного;
ROW.PRIMARY_FLAG = 0;
Иначе
ROW.PRIMARY_FLAG = 1;
КонецЕсли;
ROW.DUPLICATE_FLAG = Формат(СтруктураДанных.ЯвляетсяДубликатом, "БЛ=0; БИ=1");
ROW.LN_DATE = Формат(СтруктураДанных.ДатаВыдачиБольничного, "ДФ=yyyy-MM-dd");
ROW.LPU_NAME = СтруктураДанных.НаименованиеМедицинскойОрганизации;
ROW.LPU_OGRN = СтруктураДанных.ОГРНМедицинскойОрганизации;
ROW.REASON1 = СтруктураДанных.КодПричиныНетрудоспособности;
Если СтруктураДанных.Совместительство Тогда
ROW.PARENT_CODE = СтруктураДанных.НомерЛисткаПоОсновномуМестуРаботы;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ПериодНахожденияВСтационареСРебенкомС) Или ЗначениеЗаполнено(СтруктураДанных.ПериодНахожденияВСтационареСРебенкомПо) Тогда
ROW.HOSPITAL_DT1 = Формат(СтруктураДанных.ПериодНахожденияВСтационареСРебенкомС, "ДФ=yyyy-MM-dd");
ROW.HOSPITAL_DT2 = Формат(СтруктураДанных.ПериодНахожденияВСтационареСРебенкомПо, "ДФ=yyyy-MM-dd");
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.КодНарушенияРежима) И ЗначениеЗаполнено(СтруктураДанных.ДатаНарушенияРежима) Тогда
ROW.HOSPITAL_BREACH_CODE = СтруктураДанных.КодНарушенияРежима;
ROW.HOSPITAL_BREACH_DT = Формат(СтруктураДанных.ДатаНарушенияРежима, "ДФ=yyyy-MM-dd");
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.НовыйСтатусНетрудоспособного) Тогда
ROW.MSE_RESULT = СтруктураДанных.НовыйСтатусНетрудоспособного;
Если СтруктураДанных.НовыйСтатусНетрудоспособного = "31" Тогда
ROW.NEXT_LN_CODE = СтруктураДанных.НомерЛисткаПродолжения;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеС1) Или ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеПо1) Тогда
ROW.TREAT1_DOCTOR_ROLE = СтруктураДанных.ДолжностьВрача1;
ROW.TREAT1_DOCTOR = СтруктураДанных.ФИОВрача1;
Если ЗначениеЗаполнено(СтруктураДанных.ДолжностьВрачаПредседателяВК1) Тогда
ROW.TREAT1_DOCTOR2_ROLE = "ПРЕД ВК";
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеС2) Или ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеПо2) Тогда
ROW.TREAT2_DT1 = Формат(СтруктураДанных.ОсвобождениеС2, "ДФ=yyyy-MM-dd");
ROW.TREAT2_DT2 = Формат(СтруктураДанных.ОсвобождениеПо2, "ДФ=yyyy-MM-dd");
ROW.TREAT2_DOCTOR_ROLE = СтруктураДанных.ДолжностьВрача2;
ROW.TREAT2_DOCTOR = СтруктураДанных.ФИОВрача2;
Если ЗначениеЗаполнено(СтруктураДанных.ДолжностьВрачаПредседателяВК2) Тогда
ROW.TREAT2_DOCTOR2_ROLE = "ПРЕД ВК";
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеС3) Или ЗначениеЗаполнено(СтруктураДанных.ОсвобождениеПо3) Тогда
ROW.TREAT3_DT1 = Формат(СтруктураДанных.ОсвобождениеС3, "ДФ=yyyy-MM-dd");
ROW.TREAT3_DT2 = Формат(СтруктураДанных.ОсвобождениеПо3, "ДФ=yyyy-MM-dd");
ROW.TREAT3_DOCTOR_ROLE = СтруктураДанных.ДолжностьВрача3;
ROW.TREAT3_DOCTOR = СтруктураДанных.ФИОВрача3;
Если ЗначениеЗаполнено(СтруктураДанных.ДолжностьВрачаПредседателяВК3) Тогда
ROW.TREAT3_DOCTOR2_ROLE = "ПРЕД ВК";
КонецЕсли;
КонецЕсли;
ROW.OTHER_STATE_DT = Формат(СтруктураДанных.ДатаНовыйСтатусНетрудоспособного, "ДФ=yyyy-MM-dd");
ROW.RETURN_DATE_LPU = Формат(СтруктураДанных.ДатаВыходаНаРаботу, "ДФ=yyyy-MM-dd");
КонецЕсли;
Если СтруктураДанных.ВидВыплаты = "1" Или СтруктураДанных.ВидВыплаты = "2" Тогда
ROW.DATE1 = Формат(СтруктураДанных.ДатаИзмененияКодаПричиныНетрудоспособности, "ДФ=yyyy-MM-dd");
ROW.DATE2 = Формат(СтруктураДанных.ДатаОкончанияПутевки, "ДФ=yyyy-MM-dd");
Если ЗначениеЗаполнено(СтруктураДанных.УходЗаРодственникомФИО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;
КонецЕсли;
Если ЗначениеЗаполнено(СтруктураДанных.ДатаИзмененияКодаПричиныНетрудоспособности)
И (СтруктураДанных.ДополнительныйКодПричиныНетрудоспособности = "017"
Или СтруктураДанных.ДополнительныйКодПричиныНетрудоспособности = "018"
Или СтруктураДанных.ДополнительныйКодПричиныНетрудоспособности = "019") Тогда
ROW.VOUCHER_OGRN = СтруктураДанных.ОГРН_Санатория;
КонецЕсли;
КонецЕсли;
//<<-- //НАЧ #
//КонецЕсли;
//-->> //КОН #
КонецПроцедуры
Показать