Объект 1С "XDTO-пакеты"

XDTO (XML Data Transfer Objects) - механизм, обеспечивающий объектное моделирование данных схемы XML. XDTO позволяет оперировать не узлами XML, а прикладными типами данных и встроенными типами платформы. Механизм XDTO реализован при помощи общего объекта конфигурации XDTO-пакет.

ВАЖНО! Схема обязательно должна содержать описание пространства имен в виде URL-подобной строки. Если пространство имен не задано, то стороннюю XML-схему импортировать не удастся.

XDTO-пакеты - это общие  объекты конфигурации, которые являются частью механизма XDTO и позволяют описать в конфигурации систему типов и значений для взаимодействия с различными внешними источниками данных, например с Web-сервисами.

XDTO-пакет является своеобразным переводчиком между разными информационными системами, с помощью которого можно описать, например,  структуру (схему) будущего xml-файла.

В конфигурацию может быть добавлено произвольное количество XDTO-пакетов.

Замечание

Типы данных в 1С чаще всего соответствуют типам данных в других языках, но бывают и исключения, которые проще всего описывать в этом объекте конфигурации.

[свернуть]

Механизм XDTO

Механизм XDTO (XML Data Transfer Objects) - один из механизмов интеграции 1C с другими системами, который является механизмом объектного моделирования данных, описываемых с помощью схемы XML.

Механизм XDTO позволяет на уровне языка 1С оперировать не узлами XML, а прикладными понятиями "Накладная", "Сотрудник", "Счет" и т.д., а также встроенными типами  1С (“ТаблицаЗначений”, “СправочникСсылка” и т.п.).

Основные возможности XDTO:

  • описание типов параметров и возвращаемых значений Web-сервисов;
  • обмен данными между конфигурациями 1С:Предприятия 8 с существенно разными структурами данных;
  • обмен данными на основе схем XML, не привязанных к той или иной конфигурации (например, обмен с информационными системами, построенными не на основе 1С:Предприятия 8);
  • создание собственной системы типов и значений для обработки произвольных данных.

ФабрикаXDTO

Работу механизма XDTO обеспечивает объект встроенного языка ФабрикаXDTO: именно она отвечает за сериализацию XDTO-объектов в XML и обратно. Причем, за преобразование объектов XDTO в прикладные объекты и встроенные типы отвечает механизм XDTO-сериализации. То есть, процедура приведения объектов 1С к объектам XML схемы двухэтапная.

Особенности ФабрикиXDTO:

  1. При программном создании фабрики XDTO, типы в ней определенные, не могут расширяться, определяются в полном объеме при создании.
  2. Типы, определенные в глобальной фабрике XDTO, могут расширяться за счет:
    • создания пакетов XDTO;
    • изменения состава объектов конфигурации.

Создание XDTO-пакета 1С

XDTO-пакеты 1С

Свойства XDTO-пакета 1С:

[свернуть]

Система 1С позволяет выполнить следующие действия:

  • создать XDTO-пакет с помощью импорта схемы XML;
  • добавить XDTO-пакет в дерево конфигурации и редактировать его в дальнейшем;
  • экспортировать существующий XDTO-пакет в схему XML.

Редактирование XDTO-пакета 1С

Редактирование XDTO-пакета 1С осуществляется в специальном окне, отображающем его иерархическую структуру:

XDTO-пакеты 1С

В рамках создаваемого пакета XDTO (без использования директивы импорта) можно использовать:

  1. типы, определенные только в данном пакете и
  2. типы, стандартные для XML.
При определении типа свойства объекта XDTO информация о типе включает:
  1. имя типа и 
  2. имя пространства имен.
Пространство имен также необходимо во избежание их пересечения.

Сериализация в 1С с помощью XDTO-пакета

XDTO-сериализация предназначена для сохранения данных объекта в файл XML и создания объекта на основе данных, хранящихся в файле XML. Это процесс приведения данных 1С:Предприятия в строку формата .xml (обратный процесс - десериализация).

Сериализованы могут быть не все объекты, а те, которые имеют соответствующую запись в Синтакс-помощнике: "Данный объект может быть сериализован в/из XML".

В системе 1С:Предприятие 8 реализована сериализация данных на основе механизма XDTO, которая позволяет сериализовать в/из XML:

  • все типы данных, хранящиеся в базе данных;
  • некоторые другие типы данных.
Простые типы с точки зрения XML-сериализации

Простые типы с точки зрения XML-сериализации -  это типы, значение которых может быть представлено в XML в виде строки:

  • Число;
  • Строка;
  • Дата;
  • Булево;
  • ДвоичныеДанные;
  • NULL;
  • УникальныйИдентификатор;
  • ХранилищеЗначения;
  • ссылки на объекты базы данных;
  • ссылки на перечисления метаданных.

Таким образом, с точки зрения XML-сериализации, например, значение типа "ДокументСсылка.ИмяДокумента" относится к простым типам.

[свернуть]
Сложные типы с точки зрения XML-сериализации

Сложные типы в XML представляются как объекты, содержащие вложенные элементы. К ним относятся:
  • Тип;
  • ОписаниеТипов;
  • КонстантаМенеджерЗначения;
  • объекты базы данных;
  • наборы записей регистров, последовательностей, перерасчетов;
  • УдалениеОбъекта.

[свернуть]

При записи значения с использованием средств XML сериализации в XML документ применяются:

  1. методы, относящиеся к средствам XML-сериализации и
  2. объект "ЗаписьXML".

Пример отсюда:

Например, вот такой, привычный в 1С, код:

С помощью описанного пакета XDTO сериализуется в xml-файл такого типа:

XML

Работа с XML-документами доступна непосредственно из встроенного языка системы 1С:Предприятие 8.

Рисунок

xml-документы в 1С

[свернуть]

Система предоставляет возможность:

  1. последовательно читать и записывать xml-документы:
    • преобразовывать из строки, полученной из текста элемента или значения атрибута XML, в значение в соответствии с указанным типом;
    • получать строковое представление значения для помещения в текст элемента или значение атрибута XML;
    • получить тип данных XML, соответствующий переданному в качестве параметра типу;
    • производить проверку возможности чтения из XML значения указанного типа;
    • производить проверку соответствия схеме XML при чтении XML
    • производить запись значения в формате XML;
    • возвращать тип, соответствующий типу данных XML.
  2. использовать модель объектного доступа к данным xml-документов (ДокументDOM), соответствующую следующим стандартам:
    • DOM Level 2;
    • XPath (DOM Level 3);
    • DOM Load and Save (DOM Level 3).
  3. использовать объектную модель схемы XML (СхемаXML);
  4. использовать канонический XML стандарт 1.1 (Canonical XML 1.1).

Используя внешнее соединение и механизмы работы с XML можно организовывать интеграцию с прикладными системами по принятым в этих системах форматам. Для этого применяются механизмы XSL-преобразования.

Пример

Отсюда

Например, для такой интеграции можно использовать BizTalk сервер компании Microsoft:

[свернуть]

Fast Infoset

Платформа предоставляет средства для работы с XML-документами в бинарном формате Fast Infoset. Технология Fast Infoset использует альтернативный синтаксис отображения XML-данных. Это обеспечивает меньший объем файлов и более высокую скорость обработки, чем скорость обработки данных, записанных в обычном XML-формате. Файл, записанный в формате Fast Infoset, имеет расширение .fi или .finf.

Читай также:

  1.  http://master1c8.ru/
  2. https://infostart.ru/public/167459/
  3. http://expert.chistov.pro/public/98019/
  4. Использование объектов XDTO в web-сервисах

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.