28 июн. 2013 г.

Выгрузка данных в XML с использованием XDTO

В прошлый раз я выгружал картинки и цены номенклатуры в XML, создавая узлы XML при  обходе выборки. Так же создание XML можно переложить на фабрику XDTO. Нам нужно только создать пакет XDTO и добавить в него нужные типы объектов и определить свойства этих типов. После чего выполнить заполнение объекта XDTO данными и записать его в XML. В этом случае нам не нужно контролировать в коде закрытие узлов, после заполнения объекта фабрика сформирует содержимое XML сама.

Доработаем базу из прошлого примера, добавим пакет XDTO и внесем изменения в общий модуль ВыгрузкаПрайса.

Мой пакет XDTO в содержит следующие типы объектов:
- Nomenclature;
- NomenclatureImage;
- PriceString;
- PriceList.


Привожу схему XDTO, при необходимости ее можно подгрузить в свою конфигурацию и посмотреть свойства объектов.

<xs:schema xmlns:tns="http://start1c.blogspot.ru" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://start1c.blogspot.ru" attributeFormDefault="unqualified" elementFormDefault="qualified">
<xs:complexType name="Nomenclature">
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="fullName" type="xs:string"/>
<xs:element name="type" type="xs:string"/>
<xs:element name="nomenclatureImage" type="tns:NomenclatureImage" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="NomenclatureImage">
<xs:sequence>
<xs:element name="binImage" type="xs:base64Binary"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="Number_15_2">
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:totalDigits value="15"/>
<xs:fractionDigits value="2"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="PriceList">
<xs:sequence>
<xs:element name="priceString" type="tns:PriceString" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PriceString">
<xs:sequence>
<xs:element name="nomenclature" type="tns:Nomenclature"/>
<xs:element name="price" type="tns:Number_15_2"/>
</xs:sequence>
</xs:complexType>
</xs:schema>

В общий модуль ВыгрузкаПрайса добавляем экспортную функцию ПолучитьДанныеXDTO. Кстати, для приведения различных типов данных к строке необходимого формата здесь используется функция XMLСтрока. Например, данные ссылочного типа представляются в виде строки с уникальным идентификатором этой ссылки, а примитивные типы приводятся к строке с каноническим содержанием.

Функция ПолучитьДанныеXDTO() Экспорт
 
 ТЧ_Цены = ПолучитьТаблицуЦен();
 
 ЗаписьXML  = Новый ЗаписьXML;
 ЗаписьXML.УстановитьСтроку();
 
 ЗаписьXML.ЗаписатьОбъявлениеXML();
 ПрайсXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://start1c.blogspot.ru", "PriceList"));
 
 Для Каждого СтрокаЦен Из ТЧ_Цены Цикл
  
  СтрокаПрайсXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://start1c.blogspot.ru", "PriceString"));
  
  НоменклатураXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://start1c.blogspot.ru", "Nomenclature"));
  НоменклатураXDTO.ID = XMLСтрока(СтрокаЦен.Номенклатура);
  НоменклатураXDTO.name = XMLСтрока(СтрокаЦен.НоменклатураСтрока);
  НоменклатураXDTO.fullName = XMLСтрока(СтрокаЦен.НаименованиеПолное);
  НоменклатураXDTO.type = XMLСтрока(СтрокаЦен.ТипНоменклатуры);
  
  ТЧ = ПолучитьИзображения(СтрокаЦен.Номенклатура);
  Если НЕ ТЧ.Количество() = 0 Тогда
   Для Каждого СтрТЧ Из ТЧ Цикл
    
    мДанные = СтрТЧ.Ссылка.ХранилищеФайла.Получить();
    Если НЕ ЗначениеЗаполнено(мДанные) Тогда
     Продолжить;
    КонецЕсли;
    КартинкаXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://start1c.blogspot.ru", "NomenclatureImage"));
    КартинкаXDTO.binImage = Base64Строка(мДанные);
    НоменклатураXDTO.nomenclatureImage.Добавить(КартинкаXDTO);
   КонецЦикла;
  КонецЕсли;
  
  СтрокаПрайсXDTO.nomenclature = НоменклатураXDTO; 
  СтрокаПрайсXDTO.price = XMLСтрока(СтрокаЦен.Цена);
  ПрайсXDTO.priceString.Добавить(СтрокаПрайсXDTO);
  
 КонецЦикла;
 
 ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, ПрайсXDTO);
 
 СтрокаXML = ЗаписьXML.Закрыть();
 
 Возврат СтрокаXML;
 
КонецФункции 

Теперь в обработке ВыгрузкаПрайса в процедуре Выгрузить поменяем способ выгрузки с ВыгрузкаПрайса.ПолучитьДанныеXML() на ВыгрузкаПрайса.ПолучитьДанныеXDTO() и проверим результат.

Выгрузка базы и результат выгрузки прайса в XML:

<?xml version="1.0"?>
<PriceList xmlns="http://start1c.blogspot.ru" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<priceString>
<nomenclature>
<ID>3dacb230-7c1b-11e2-a79e-1078d2402257</ID>
<name>Товар 1</name>
<fullName>Товар 1</fullName>
<type>Товар</type>
<nomenclatureImage>
<binImage>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAB3RJTUUH3QINBSMt
F2PHEwAAABd0RVh0U29mdHdhcmUAR0xEUE5HIHZlciAzLjRxhaThAAAACHRwTkdH
TEQzAAAAAEqAKR8AAAAEZ0FNQQAAsY8L/GEFAAAABmJLR0QA/wD/AP+gvaeTAAAA
pklEQVR4nGP4jw3kajICEVYpBmRFcMafGkMgQhZB1wBRBDEYohquBy6F0AAXejM5
DoiQbUAWgehB2ACRg0jDEbIgRCUTAyponLY4XF8cjoBcNAUMaB44EiEBRJhsuJOY
8rSY+oMNgDohJBCsvPiyZd0xIAIyICJwBUDF6E4iDEh1EnoowdXBVaOFElnBCvE3
cggCufAwgIQ1xMdQP5CcNMhJfMQnbwDR3npihwr9YwAAAABJRU5ErkJggg==</binImage>
</nomenclatureImage>
</nomenclature>
<price>5</price>
</priceString>
<priceString>
<nomenclature>
<ID>3dacb231-7c1b-11e2-a79e-1078d2402257</ID>
<name>Товар 2</name>
<fullName>Товар 2</fullName>
<type>Товар</type>
</nomenclature>
<price>10</price>
</priceString>
<priceString>
<nomenclature>
<ID>22c33ef0-7c1d-11e2-a79e-1078d2402257</ID>
<name>Товар 3</name>
<fullName>Товар 3</fullName>
<type>Товар</type>
</nomenclature>
<price>15</price>
</priceString>
<priceString>
<nomenclature>
<ID>22c33ef1-7c1d-11e2-a79e-1078d2402257</ID>
<name>Товар 4</name>
<fullName>Товар 4</fullName>
<type>Товар</type>
<nomenclatureImage>
<binImage>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
rVebJ+JFAAAAAElFTkSuQmCC</binImage>
</nomenclatureImage>
</nomenclature>
<price>18</price>
</priceString>
<priceString>
<nomenclature>
<ID>23cf4c0e-7c1b-11e2-a79e-1078d2402257</ID>
<name>Услуга 1</name>
<fullName/>
<type>Услуга</type>
</nomenclature>
<price>32</price>
</priceString>
<priceString>
<nomenclature>
<ID>23cf4c0f-7c1b-11e2-a79e-1078d2402257</ID>
<name>Услуга 2</name>
<fullName/>
<type>Услуга</type>
</nomenclature>
<price>15</price>
</priceString>
</PriceList>

2 комментария:

  1. Привет. Отличный журнал. А про загрузку XTDO где можно прочитать?

    ОтветитьУдалить
  2. Здесь статьи http://start1c.blogspot.ru/search/label/XDTO
    На http://infostart.ru/ сделайте поиск по xdto, две страницы публикаций.

    ОтветитьУдалить