Вычисление веса номенклатуры при выгрузке в XML

1. user1803583 18.01.23 10:10 Сейчас в теме
Имеется такая функция;

&НаСервере
Функция ВыгрузитьВозврат(ИмяФайлаXML)

ЗаписьXML = Новый ЗаписьXML();

ЗаписьXML.ОткрытьФайл(ИмяФайлаXML);
ЗаписьXML.ЗаписатьОбъявлениеXML();

ЗаписьXML.ЗаписатьНачалоЭлемента("SellingBatchUpload");
ЗаписьXML.ЗаписатьАтрибут("FileVer", "1.0");
ЗаписьXML.ЗаписатьАтрибут("InfoType","Selling");

ЗаписьXML.ЗаписатьНачалоЭлемента("Sellings");
Для Каждого ТекСтр Из Объект.ДокументыВыгрузки Цикл
Если НЕ ТекСтр.Вкл Тогда
Продолжить;
КонецЕсли;

//ВидПоставки = 40; //Возврат

Список = Новый СписокЗначений;

//Список.Добавить("DeliveryTypeCode" , ВидПоставки); //Код вида поставки DeliveryTypeCode
Список.Добавить("EfsNum" , ТекСтр.НомерЭСФ); //Номер счет фактуры EfsNum
Список.Добавить("GtdNum" , ""); //Номер ГТД / Заявление или СН GtdNum
Список.Добавить("ProviderFacilityId" , ТекСтр.Склад.КодЭТТН); //Склад поставщика ProviderFacilityId
Список.Добавить("CustomerTin" , ТекСтр.Контрагент.ИНН); //ИНН покупателя CustomerTin
Список.Добавить("CustomerFacilityId" , ТекСтр.СкладПолучатель.КодЭТТН); //Склад покупателя CustomerFacilityId
Список.Добавить("ShippingTypeCode" , ТекСтр.СпособПеревозки); //Способ перевозки ShippingTypeCode
Список.Добавить("Comment" , ТекСтр.Документ.Комментарий); //Комментарий Comment

ЗаписьXML.ЗаписатьНачалоЭлемента("Selling");
Для Каждого Строка Из Список Цикл
ЗаписьXML.ЗаписатьНачалоЭлемента(Строка.Значение);
ЗаписьXML.ЗаписатьТекст(Строка.Представление);
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЦикла;

ЗаписьXML.ЗаписатьНачалоЭлемента("Products"); //Products
Для Каждого Стр Из ТекСтр.Документ.Товары Цикл
СписокТоваров = Новый СписокЗначений;

СписокТоваров.Добавить("ProductId" , Стр.Номенклатура.КодЭТТН); // Идентификатор товара
СписокТоваров.Добавить("UnitCode" , Стр.Номенклатура.ЕдиницаИзмерения); // Код единицы измерения товара
СписокТоваров.Добавить("Amount" , Формат(Стр.Количество,"ЧЦ=18; ЧДЦ=5; ЧРД=.")); // Количество товара
СписокТоваров.Добавить("Price" , Формат(Стр.Цена,"ЧЦ=18; ЧДЦ=5; ЧРД=.")); // Цена товара
СписокТоваров.Добавить("NetWeight" , Формат(Стр.Номенклатура.ВесНетто*Стр.Количество,"ЧЦ=18; ЧДЦ=5; ЧРД=.")); // Масса (нетто) товара
СписокТоваров.Добавить("GrossWeight" , Формат(Стр.Номенклатура.ВесБрутто*Стр.Количество,"ЧЦ=18; ЧДЦ=5; ЧРД=.")); // Масса (брутто)


ЗаписьXML.ЗаписатьНачалоЭлемента("SellingProduct");//SellingProduct
Для Каждого Строка Из СписокТоваров Цикл
ЗаписьXML.ЗаписатьНачалоЭлемента(Строка.Значение);
ЗаписьXML.ЗаписатьТекст(Строка.Представление);
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента(); //SellingProduct
КонецЦикла;

ЗаписьXML.ЗаписатьКонецЭлемента(); //Products
ЗаписьXML.ЗаписатьКонецЭлемента(); //Selling
КонецЦикла;

ЗаписьXML.ЗаписатьКонецЭлемента();//Sellings
ЗаписьXML.ЗаписатьКонецЭлемента();//SellingBatchUpload
ЗаписьXML.Закрыть();
Возврат ЗаписьXML;
КонецФункции


Вес нетто и вес брутто номенклатуры находятся не в самом справочнике, а в регистре сведений Характеристика Номенклатуры,
и я вот не могу понять, как его от туда вытащить ,и потом умножить на количество в которое находиться в моей табличной части
нужна помощь с этим, в 1с пока новичок

СписокТоваров.Добавить("NetWeight" , Формат(Стр.Номенклатура.ВесНетто*Стр.Количество,"ЧЦ=18; ЧДЦ=5; ЧРД=.")); // Масса (нетто) товара
СписокТоваров.Добавить("GrossWeight" , Формат(Стр.Номенклатура.ВесБрутто*Стр.Количество,"ЧЦ=18; ЧДЦ=5; ЧРД=.")); // Масса (брутто)
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 76 18.01.23 10:39 Сейчас в теме
(1)написать запрос, не предлагать?
3. starjevschik 18.01.23 10:49 Сейчас в теме
раздели задачу на более мелкие.
Делаешь внешнюю обработку, в ней реквизит номенклатура, кнопка - найти вес. Пишешь алгоритм. Когда будет работать, сделай список номенклатуры, найди вес всех элементов. Потом можно уже переходить к XML...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот