gifts2017

Обработка выгрузки результатов запросов в 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 11
.epf 17,69Kb
30.07.16
11
.epf 17,69Kb Скачать

См. также

Подписаться Добавить вознаграждение
В этой теме еще нет сообщений.