Доброго всем дня!
Ранее ни когда не работал с программным написание выгрузки/загрузки данных через xml. Собственно много нашел разных статей, но для меня остаётся один вопрос: Есть ли в загрузке процедура похожая на ЗаполнитьЗначенияСвойств, что не сопоставлять реквизиты ручками в коде? И как таким же образом заполнять ТЧ из XML в документ. Обычные формы, 8.3. Буду рад любому примеру
Ранее ни когда не работал с программным написание выгрузки/загрузки данных через xml. Собственно много нашел разных статей, но для меня остаётся один вопрос: Есть ли в загрузке процедура похожая на ЗаполнитьЗначенияСвойств, что не сопоставлять реквизиты ручками в коде? И как таким же образом заполнять ТЧ из XML в документ. Обычные формы, 8.3. Буду рад любому примеру
По теме из базы знаний
- Выгрузка Загрузка Данных COM-XML v8.1
- Выгрузка-загрузка данных в XML с отбором по организации и сопоставление объектов справочников по GUID. Не задваивает объекты при загрузке
- Выгрузка и загрузка данных XML с гибкими отборами
- Универсальная выгрузка/загрузка данных в формате XML для 8.3 с отбором объектов
- Выгрузка/загрузка данных в формате XML. Пакетная выгрузка
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Тут надо не только читать XML как XDTO, тут писать его надо так, как схема для соответствующего объекта метаданных настроена. Даже если реквизиты просто поменяны местами, либо какой-нибудь реквизит не записан (ну он же пустой, чё его писать-то!) на прочтении данных по схеме вылезет ошибка.
(3) Да, на XDTO всё взлетело, но вот в такой структуре он не видит организацию:
т.е. элемент РеализацияТоваров проходит с таблицейТоваров, а Организация он на видит
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(ИмяФайлаXML);
ЗаписьXML.ЗаписатьОбъявлениеXML();
ЗаписьXML.ЗаписатьНачалоЭлемента("Документы");
Для Каждого Строка из тДок Цикл
Документ = Строка.Документ;
ЗаписьXML.ЗаписатьНачалоЭлемента("РеализацияТоваров"); // Начало элемента Документа "ПоступлениеТоваров"
ЗаписьXML.ЗаписатьАтрибут("Дата" ,Строка(Документ.Дата));
ЗаписьXML.ЗаписатьАтрибут("Номер" ,Строка(Документ.Номер));
ЗаписьXML.ЗаписатьАтрибут("Ответственный" ,Строка(Документ.Ответственный));
ЗаписьXML.ЗаписатьАтрибут("Комментарий" ,Строка(Документ.Комментарий));
ЗаписьXML.ЗаписатьАтрибут("Контрагент" ,Строка(Документ.Контрагент));
///Запись табличной части "Товары"
Для Каждого Выборка из Документ.Товары Цикл // Начинаем выгружать табличную часть "Товары"
ЗаписьXML.ЗаписатьНачалоЭлемента("ТаблицаТовары"); // Начало элемента "ТаблицаТовары"
ЗаписьXML.ЗаписатьАтрибут("Номенклатура",Строка(Выборка.Номенклатура));
ЗаписьXML.ЗаписатьАтрибут("Количество" ,Строка(Выборка.Количество));
ЗаписьXML.ЗаписатьАтрибут("Цена" ,Строка(Выборка.Цена));
ЗаписьXML.ЗаписатьАтрибут("Сумма" ,Строка(Выборка.Сумма));
ЗаписьXML.ЗаписатьКонецЭлемента(); // Конец элемента "ТаблицаТовары"
КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("Организация");
ЗаписьXML.ЗаписатьАтрибут("Организация" ,"ООО СП");
ЗаписьXML.ЗаписатьАтрибут("ИНН" ,"12544165415");
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЦикла;
// закрываем корневой элемент xml-документа
ЗаписьXML.ЗаписатьКонецЭлемента();
// закрыть файл
ЗаписьXML.Закрыть();
Показатьт.е. элемент РеализацияТоваров проходит с таблицейТоваров, а Организация он на видит
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот