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

Опубликовал Алексей Апанасович (Aphanas) в раздел Обмен - Обмен через 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
Исправлены ошибки. Не обрабатывались значения типа "ОписаниеТипов", не работало копирование строки.

Скачать файлы

Наименование Файл Версия Размер
ВыгрузкаЗапросовВXML.epf
.epf 17,69Kb
30.07.16
15
.epf 17,69Kb 15 Скачать

См. также

В этой теме еще нет сообщений.
Оставьте свое сообщение