Процедура XML_Торг2_ЗаполнитьСведенияОбОбстоятельствахПриемки(ИмяПакетаXDTO, СодФХЖ1, CircumstancesAcceptanceInfo, ПараметрыФормированияФайла)
ФорматДаты = "ДФ=dd.MM.yyyy";
ФорматДатаВремя = "ДФ='dd.MM.yyyy HH.mm.ss'";
Фабрика = XML_ФабрикаXDTO(ИмяПакетаXDTO);
Продавец = НовыйДочернийОбъектXDTO(Фабрика, СодФХЖ1, "Продавец");
XML_ЗаполнитьУчастникТип(ИмяПакетаXDTO, Продавец, CircumstancesAcceptanceInfo.Seller);
Покупатель = НовыйДочернийОбъектXDTO(Фабрика, СодФХЖ1, "Покупатель");
XML_ЗаполнитьУчастникТип(ИмяПакетаXDTO, Покупатель, CircumstancesAcceptanceInfo.Buyer);
Если ЗначениеЗаполнено(CircumstancesAcceptanceInfo.Shipper.OrganizationDetails.OrgName) Тогда
Грузоотправитель = НовыйДочернийОбъектXDTO(Фабрика, СодФХЖ1, "Грузоотправитель");
XML_ЗаполнитьУчастникТип(ИмяПакетаXDTO, Грузоотправитель, CircumstancesAcceptanceInfo.Shipper);
КонецЕсли;
Если ЗначениеЗаполнено(CircumstancesAcceptanceInfo.Consignee.OrganizationDetails.OrgName) Тогда
Грузополучатель = НовыйДочернийОбъектXDTO(Фабрика, СодФХЖ1, "Грузополучатель");
XML_ЗаполнитьУчастникТип(ИмяПакетаXDTO, Грузополучатель, CircumstancesAcceptanceInfo.Consignee);
КонецЕсли;
Если ЗначениеЗаполнено(CircumstancesAcceptanceInfo.InsuranceCompany.OrganizationDetails.OrgName) Тогда
СтрахКом = НовыйДочернийОбъектXDTO(Фабрика, СодФХЖ1, "СтрахКом");
XML_ЗаполнитьУчастникТип(ИмяПакетаXDTO, СтрахКом, CircumstancesAcceptanceInfo.InsuranceCompany);
КонецЕсли;
// Дата и номер приказа (распоряжения) о назначении комиссии
Если ЕстьРеквизитИлиСвойствоОбъектаЛокальная(CircumstancesAcceptanceInfo, "Order") И ЗначениеЗаполнено(CircumstancesAcceptanceInfo.Order.Date) Тогда
Приказ = НовыйДочернийОбъектXDTO(Фабрика, СодФХЖ1, "Приказ");
УстановитьЗначениеXDTO(Приказ, "ДатаПрик", Дата_В_Формат(CircumstancesAcceptanceInfo.Order.Date, ФорматДаты));
УстановитьЗначениеXDTO(Приказ, "НомПрик", CircumstancesAcceptanceInfo.Order.Number);
КонецЕсли;
// Сведения о событиях, связанных с осмотром груза (о результатах осмотра прибывшего груза)
Если ЕстьРеквизитИлиСвойствоОбъектаЛокальная(CircumstancesAcceptanceInfo, "CargoInspectionInformation") Тогда
СвОсмГруз = НовыйДочернийОбъектXDTO(Фабрика, СодФХЖ1, "СвОсмГруз");
XML_Торг2_ЗаполнитьСведенияОРезультатахОсмотра(ИмяПакетаXDTO, СвОсмГруз, CircumstancesAcceptanceInfo.CargoInspectionInformation);
КонецЕсли;
// Сведения о грузе по сопроводительным транспортным документам
Если ЕстьРеквизитИлиСвойствоОбъектаЛокальная(CircumstancesAcceptanceInfo, "AccompanyingDocumentTable") Тогда
Для Каждого Item Из CircumstancesAcceptanceInfo.AccompanyingDocumentTable.Item Цикл
СвСопрДок = НовыйДочернийОбъектXDTO(Фабрика, СодФХЖ1, "СвСопрДок");
XML_Торг2_ЗаполнитьСведенияОГрузе(ИмяПакетаXDTO, СвСопрДок, Item, ПараметрыФормированияФайла);
КонецЦикла;
КонецЕсли;
// Сведения о дате и времени событий, связанных с приемкой груза
Если ЕстьРеквизитИлиСвойствоОбъектаЛокальная(CircumstancesAcceptanceInfo, "ReceptionInformation") Тогда
ReceptionInformation = CircumstancesAcceptanceInfo.ReceptionInformation;
ПрибГруз = ПолучитьЗначениеXDTO(ReceptionInformation, "CargoArrivalDateTime");
ВыдачГруз = ПолучитьЗначениеXDTO(ReceptionInformation, "DeliveryPoint");
ВскрытГруз = ПолучитьЗначениеXDTO(ReceptionInformation, "CargoOpeningDateTime");
ДостГруз = ПолучитьЗначениеXDTO(ReceptionInformation, "DeliveryDateTime");
Если ЗначениеЗаполнено(ПрибГруз)
Или ЗначениеЗаполнено(ВыдачГруз)
Или ЗначениеЗаполнено(ВскрытГруз)
Или ЗначениеЗаполнено(ДостГруз) Тогда
СвВремПрием = НовыйДочернийОбъектXDTO(Фабрика, СодФХЖ1, "СвВремПрием");
УстановитьЗначениеXDTO(СвВремПрием, "ПрибГруз", Дата_В_Формат(ПрибГруз, ФорматДатаВремя));
УстановитьЗначениеXDTO(СвВремПрием, "ВыдачГруз", Дата_В_Формат(ВыдачГруз, ФорматДатаВремя));
УстановитьЗначениеXDTO(СвВремПрием, "ВскрытГруз", Дата_В_Формат(ВскрытГруз, ФорматДатаВремя));
УстановитьЗначениеXDTO(СвВремПрием, "ДостГруз", Дата_В_Формат(ДостГруз, ФорматДатаВремя));
КонецЕсли;
КонецЕсли;
// Другие обстоятельства приемки ценностей
Если ЕстьРеквизитИлиСвойствоОбъектаЛокальная(CircumstancesAcceptanceInfo, "OtherCircumstancesAcceptanceInfo")
И ОбъектXDTOЗаполнен(CircumstancesAcceptanceInfo.OtherCircumstancesAcceptanceInfo) Тогда
OtherCircumstancesAcceptanceInfo = CircumstancesAcceptanceInfo.OtherCircumstancesAcceptanceInfo;
ДрОбстПрием = НовыйДочернийОбъектXDTO(Фабрика, СодФХЖ1, "ДрОбстПрием");
XML_Торг2_ЗаполнитьДругиеОбстоятельстваПриемки(ИмяПакетаXDTO, ДрОбстПрием, OtherCircumstancesAcceptanceInfo);
КонецЕсли;
// Сведения о лице, принявшем товар (получившем груз) (в том числе на ответственное хранение)
Если ЕстьРеквизитИлиСвойствоОбъектаЛокальная(CircumstancesAcceptanceInfo, "PersonAcceptedCargoInfo") Тогда
СвЛицПрин = НовыйДочернийОбъектXDTO(Фабрика, СодФХЖ1, "СвЛицПрин");
PersonAcceptedCargoInfo = CircumstancesAcceptanceInfo.PersonAcceptedCargoInfo;
Если ЕстьРеквизитИлиСвойствоОбъектаЛокальная(PersonAcceptedCargoInfo, "Employee")
И ЗначениеЗаполнено(PersonAcceptedCargoInfo.Employee.Position) Тогда
РабОргПок = НовыйДочернийОбъектXDTO(Фабрика, СвЛицПрин, "РабОргПок");
XML_ЗаполнитьРабОргПок(ИмяПакетаXDTO, РабОргПок, PersonAcceptedCargoInfo.Employee);
Иначе
//+++//roz//2023-11-21 [161978]
//было
//ИнЛицо = НовыйДочернийОбъектXDTO(Фабрика, СодФХЖ1, "ИнЛицо");
//стало
ИнЛицо = НовыйДочернийОбъектXDTO(Фабрика, СвЛицПрин, "ИнЛицо");
//---//roz//2023-11-21
XML_ЗаполнитьИнЛицо(ИмяПакетаXDTO, ИнЛицо, PersonAcceptedCargoInfo.OtherIssuer);
КонецЕсли;
КонецЕсли;
// Информационное поле события (факта хозяйственной жизни) 1
Если ЕстьРеквизитИлиСвойствоОбъектаЛокальная(CircumstancesAcceptanceInfo, "AdditionalInfoId") Тогда
ИнфПолФХЖ1 = НовыйДочернийОбъектXDTO(Фабрика, СодФХЖ1, "ИнфПолФХЖ1");
XML_ЗаполнитьИнфПолТип(ИмяПакетаXDTO, ИнфПолФХЖ1, CircumstancesAcceptanceInfo.AdditionalInfoId);
КонецЕсли;
УстановитьЗначениеXDTO(СодФХЖ1, "ОбстИсп", ПолучитьЗначениеXDTO(CircumstancesAcceptanceInfo, "CircumFormat"));
УстановитьЗначениеXDTO(СодФХЖ1, "ИдГосКон", ПолучитьЗначениеXDTO(CircumstancesAcceptanceInfo, "GovernmentContractInfo"));
КонецПроцедуры