Выгрузка/Загрузка данных в xml

1. isaenkovspb 1 03.06.20 15:07 Сейчас в теме
Доброго всем дня!
Ранее ни когда не работал с программным написание выгрузки/загрузки данных через xml. Собственно много нашел разных статей, но для меня остаётся один вопрос: Есть ли в загрузке процедура похожая на ЗаполнитьЗначенияСвойств, что не сопоставлять реквизиты ручками в коде? И как таким же образом заполнять ТЧ из XML в документ. Обычные формы, 8.3. Буду рад любому примеру
По теме из базы знаний
Найденные решения
2. platonov.e 159 03.06.20 15:20 Сейчас в теме
Можете прочитать xml через xdto, и тогда теоретически можно.
3. vugluscr1991 12 03.06.20 15:42 Сейчас в теме
Тут надо не только читать XML как XDTO, тут писать его надо так, как схема для соответствующего объекта метаданных настроена. Даже если реквизиты просто поменяны местами, либо какой-нибудь реквизит не записан (ну он же пустой, чё его писать-то!) на прочтении данных по схеме вылезет ошибка.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. platonov.e 159 03.06.20 15:20 Сейчас в теме
Можете прочитать xml через xdto, и тогда теоретически можно.
3. vugluscr1991 12 03.06.20 15:42 Сейчас в теме
Тут надо не только читать XML как XDTO, тут писать его надо так, как схема для соответствующего объекта метаданных настроена. Даже если реквизиты просто поменяны местами, либо какой-нибудь реквизит не записан (ну он же пустой, чё его писать-то!) на прочтении данных по схеме вылезет ошибка.
4. isaenkovspb 1 04.06.20 13:21 Сейчас в теме
(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.Закрыть();
Показать


т.е. элемент РеализацияТоваров проходит с таблицейТоваров, а Организация он на видит
Оставьте свое сообщение

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