Обработка выгрузки результатов запросов в XML


Обработка предназначена для выгрузки произвольных данных в XML. Подходит для организации обмена 1С и сторонних приложений. Данные определяются запросами и выгружаются в XML соответствующей структуры. Также выгружаются соответствующие схемы XML.

Обработка предназначена для выгрузки произвольных данных в XML. Подходит для организации обмена 1С и сторонних приложений. Данные определяются запросами и выгружаются в XML соответствующей структуры. Также выгружаются соответствующие схемы XML.

Для значений типов Дата, Строка, Число и Булево устанавливаются соответствующие типы в XML. Ссылки выгружаются в виде строковый представлений уникальных идентификаторов, значения перечислений — в виде строк — идентификаторов значений.

На форме обработки расположена таблица с пометками. Каждая строка представляет из себя описание со следующими параметрами:

    • Наименование — Представление запроса, т. е., как он отображается в таблице
    • Имя коллекции — Имя типа, определяющего коллекцию в XML. Как правило это существительное во множественном числе.
    • Имя элемента — Имя типа, определяющего элемент коллекции в XML. Как правило это существительное во единственном числе.
    • URI пространства имен — URI пространства имен для типов в схеме XML, произвольная строка.
    • Текст запроса — Собственно текст запроса на языке запросов 1С.

Например:

Наименование: Договоры контрагентов

Имя коллекции: ДоговорыКонтрагентов

Имя элемента: ДоговорКонтрагента

URI пространства имен: http://www.test.ru/ВыгрузкаВXML

Текст запроса:

ВЫБРАТЬ
ДоговорыКонтрагентов.Ссылка,
ДоговорыКонтрагентов.Наименование,
ДоговорыКонтрагентов.Статус
ИЗ
Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов

XML файл при этом получится примерно такой:

<ДоговорыКонтрагентов xmlns="http://www.test.ru/ВыгрузкаВXML" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ДоговорыКонтрагентов>
<Ссылка>f3514d04-0206-11e2-808b-0050569e5353</Ссылка>
<Наименование>Договор поставки материалов</Наименование>
<Статус>Действует</Статус>
</ДоговорыКонтрагентов>
<ДоговорыКонтрагентов>
<Ссылка>34c778be-0399-11e2-808b-0050569e5353</Ссылка>
<Наименование>Договор продажи</Наименование>
<Статус>НеДействует</Статус>
</ДоговорыКонтрагентов>
</ДоговорыКонтрагентов>

Соответствующая XML схема:

<?xml version="1.0"?>
<xs:schema xmlns:tns="http://www.test.ru/ВыгрузкаВXML" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.test.ru/ВыгрузкаВXML" attributeFormDefault="unqualified" elementFormDefault="qualified">
<xs:complexType name="ДоговорКонтрагента">
<xs:sequence>
<xs:element name="Ссылка" type="xs:string"/>
<xs:element name="Наименование" type="xs:string"/>
<xs:element name="Статус" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ДоговорыКонтрагентов">
<xs:sequence>
<xs:element name="ДоговорыКонтрагентов" type="tns:ДоговорКонтрагента" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:schema>

Имеется возможность все настройки сохранить в файл. Также работает стандартный механизм сохранения настроек в 1С.

02.08.16
Исправлены ошибки. Не обрабатывались значения типа «ОписаниеТипов», не работало копирование строки.

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *