IT решения для Вашего бизнеса

 
Главная  |  Продукты  |  Услуги и цены  |  Клиенты  |  Контакты
 
1C Предприятие 7.7
Наши решения
Программирование
1С Предприятие 8.*
Наши решения
Партнерские разработки
Типовые решения
Программирование
Администрирование
Web проекты
Интернет-магазины
Поиск по сайту

 
Главная arrow прог.7.7 arrow Формирование XML файла через объект "MSXML2.DOMDocument"
Формирование XML файла через объект "MSXML2.DOMDocument" Версия в формате PDF Версия для печати Отправить на e-mail
Рейтинг: / 17
ХудшаяЛучшая 
Написал Валецкий Станислав   
Продолжаем тему обмена информацией в 1с 7.7 через файлы XML. И рассмотрим пример формирования XML файла с помощью объекта "MSXML2.DOMDocument".
 
//Создаем объект  MSXML2.DOMDocument для формирования XML
XML_DOM=CreateObject("MSXML2.DOMDocument"); 
 
//прописываем заголовок с необходимыми параметрами, например
Header = XML_DOM.createProcessingInstruction("xml", "version=""1.0"" encoding=""UTF-8""" );  
 
//Относим его к верхнему уровню структуры
XML_DOM.appendChild(Header);   
 
//Формируем тег сообщения
ТегСообщения = XML_DOM.createElement("Message");    
XML_DOM.appendChild(ТегСообщения);  
 
//Формируем тело файла, начинаем с открытия тега "Body"
ТегТело  = XML_DOM.createElement("Body");   
ТегСообщения.appendChild(ТегТело);  
 
 
 
//Допустим нам необходимо выгрузить документ "РасходнаяНакладная,
//ссылка на него храниться в переменной Док
 
//тут же выгрузим в файл контрагента (элемент справочника контрагенты)    
//Открываем тег элемента справочника, подчиненный тегу "тело"
ТегСпр  = XML_DOM.createElement("Справочник.Контрагенты");     
ТегТело.appendChild(ТегСпр);  
 
//записываем все реквизиты, в подчиненные элементу справочника тегу.
ТегРеквСпр  = XML_DOM.createElement("Код");   
ТегРеквСпр.text = Док.Покупатель.Код;
ТегСпр.appendChild(ТегРеквСпр);
 
ТегРеквСпр  = XML_DOM.createElement("Наименование");   
ТегРеквСпр.text = Док.Покупатель.Наименование;
ТегСпр.appendChild(ТегРеквСпр);
 
ТегРеквСпр  = XML_DOM.createElement("КодПоЕДРПОУ");   
ТегРеквСпр.text = Док.Покупатель.ОКПО;
ТегСпр.appendChild(ТегРеквСпр);
 
ТегРеквСпр  = XML_DOM.createElement("НомерСвидетельства");   
ТегРеквСпр.text = Док.Покупатель.НомерСвидетельства;
ТегСпр.appendChild(ТегРеквСпр);
 
ТегРеквСпр  = XML_DOM.createElement("ИНН");   
ТегРеквСпр.text = Док.Покупатель.ИНН;
ТегСпр.appendChild(ТегРеквСпр); 
 
 
 
 
//Выгрузка документа
ТегДок  = XML_DOM.createElement("Документ.РасходнаяНакладная");   
ТегТело.appendChild(ТегДок);      
 
ТегШапка      = XML_DOM.createElement("Дата");   
ТегШапка.text   = Док.ДатаДок;
ТегДок.appendChild(ТегШапка);
 
ТегШапка      = XML_DOM.createElement("номер");   
ТегШапка.text   = Док.НомерДок;
ТегДок.appendChild(ТегШапка);
 
 
ТегШапка      = XML_DOM.createElement("Контрагент");   
ТегШапка.text   = Док.Покупатель.Наименование; 
ТегДок.appendChild(ТегШапка);  
 
ТегШапка      = XML_DOM.createElement("Примечание");   
ТегШапка.text   = Док.Примечание; 
ТегДок.appendChild(ТегШапка);   
 
//выгружаем табличную часть документа  
Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку() = 1 Цикл  
  
  ТегТЧ      = XML_DOM.createElement("ТабличнаяЧасть.Товары");   
  ТегДок.appendChild(ТегТЧ);  
  
  ТегРекТЧ      = XML_DOM.createElement("НомерСтроки");   
  ТегРекТЧ.text   = Док.НомерСтроки;
  ТегТЧ.appendChild(ТегРекТЧ); 
  
  
  ТегРекТЧ      = XML_DOM.createElement("ТМЦ");   
  ТегРекТЧ.text   = Док.Товар.Код;
  ТегТЧ.appendChild(ТегРекТЧ); 
  
  ТегРекТЧ      = XML_DOM.createElement("Количество");   
  ТегРекТЧ.text   = Док.Кво;
  ТегТЧ.appendChild(ТегРекТЧ); 
  
  ТегРекТЧ      = XML_DOM.createElement("Цена");   
  ТегРекТЧ.text   = Док.Цена;
  ТегТЧ.appendChild(ТегРекТЧ); 
  
  ТегРекТЧ      = XML_DOM.createElement("Сумма");   
  ТегРекТЧ.text   = Док.Сумма;
  ТегТЧ.appendChild(ТегРекТЧ); 
  
Конеццикла;
 
//Записываем сформированную струтуру в файл
XML_DOM.Save("C:\temp\1.xml")
 

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:
Жирный Курсив Подчеркнутый Зачеркнутый Цитата


Защитный код
Обновить

< Пред.   След. >
Карта сайта
1C-PROFI © 2019
Использование материалов разрешено только с указанием ссылки (для web сайтов гиперссылки)
www.megastock.ru