Имя: Пароль:
1C
1С v8
Выгрузка в XML
0 ВежливаяТварь
 
24.01.13
14:07
Добрый день. Столкнулся с весьма проблематичной задачей. Никогда раньше не работал с выгрузкой данных в xml, а теперь мне надо определенный документ выгрузить в xml. Не могли бы Вы скинуть пример подобной выгрузки. В нете ничего подобного не нашел, сейчас ковыряю обработку выгрузки, загрузки xml, но что- то подсказывает мне, что это надолго.
1 salvator
 
24.01.13
14:08
(0) Думаю, правила как минимум нужны еще.
2 rasswet
 
24.01.13
14:09
плохо искал. еще гугли.
3 Йохохо
 
24.01.13
14:12
обработка в типовых ВыгрузкаДанныхCommerceML
4 ВежливаяТварь
 
24.01.13
14:14
Наверное глупый вопрос: Ещё такой момент я так понял что бы записать документ мы записываем каждый атрибут этого документа отдельной строкой?
5 Йохохо
 
24.01.13
14:24
(4) спроси у того, кто будет грузить
6 Йохохо
 
24.01.13
14:24
*загружать
7 Wobland
 
24.01.13
14:25
Процедура ВыгрузитьОбъектНажатие(Элемент)
   
   Если НЕ ЗначениеЗаполнено(ОбъектВыгрузки) ИЛИ ОбъектВыгрузки.Количество() = 0 ИЛИ ПустаяСтрока(ИмяФайлаВыгрузки) Тогда
       Возврат;
   КонецЕсли;
   ЗаписьXML = Новый ЗаписьXML;
   ЗаписьXML.ОткрытьФайл(ИмяФайлаВыгрузки);
   ЗаписьXML.ЗаписатьНачалоЭлемента("body");
   Для мСчетчик = 0 По ОбъектВыгрузки.Количество() - 1 Цикл
       мОбъект = ОбъектВыгрузки[мСчетчик].Значение;
       ЗаписатьXML(ЗаписьXML, мОбъект.ПолучитьОбъект());
   КонецЦикла;
   ЗаписьXML.ЗаписатьКонецЭлемента();
   ЗаписьXML.Закрыть();
   
КонецПроцедуры
8 Рэйв
 
24.01.13
14:26
Как из одной базы перенести документ в другую базу?
// Выгрузить в файл xml.
ЗаписьXML=Новый ЗаписьXML();
ЗаписьXML.ОткрытьФайл("c:\doc.xml");
ЗаписьXML.ЗаписатьНачалоЭлемента("Root");

// Получить объект по ссылке.
ВыгружаемыйОбъект=Документ.ПолучитьОбъект();

// С помощью средств сериализации записать объект в файл.
ЗаписатьXML(ЗаписьXML,ВыгружаемыйОбъект);

ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.Закрыть();

ЧтениеXML=Новый ЧтениеXML();
ЧтениеXML.ОткрытьФайл("c:\doc.xml");

// Текущим становится элемент Root.
ЧтениеXML.Прочитать();

// Текущим становится элемент с документом.
ЧтениеXML.Прочитать();

// Проверить сможет ли с данным значением "справиться"
// система сериализации в данной базе.
Если ВозможностьЧтенияXML(ЧтениеXML) Тогда

   // Получить ДокументОбъект.РеализацияТоваровУслуг
   ЗагружаемыйОбъект=ПрочитатьXML(ЧтениеXML);
   
   ЗагружаемыйОбъект.Записать();
КонецЕсли;

ЧтениеXML.Закрыть();

(С)Габец
9 ВежливаяТварь
 
24.01.13
14:27
Огромное спасибо. Сейчас покапаюсь.
10 ВежливаяТварь
 
24.01.13
15:10
Ещё такой вопрос. Когда я выгружаю документ, я так понял он выгружает только GUIDы объектов которые к нему привязаны(Например контрагента). Для того, что бы выгрузить контрагента его нужно отдельным элементом выгружать?