Имя: Пароль:
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ы объектов которые к нему привязаны(Например контрагента). Для того, что бы выгрузить контрагента его нужно отдельным элементом выгружать?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший