1с xdto типы значений перечисления

Обновлено: 04.07.2024

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

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

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

С точки зрения программиста 1с, объект XDTO очень похож на Фиксированную структуру, созданную на основе файла со схемой. Эта псевдоструктура может быть загружена из XML-файла и использована для загрузки сторонних данных. А может быть заполнена данными и записана в корректный XML-файл. Который впоследствии будет использован для загрузки в другую информационную систему. В любом случае работа с объектом состоит из 3 основных этапов: получение типа объекта, создание объекта XDTO требуемого типа, использование объекта XDTO для выгрузки или загрузки данных.

Получение типа объекта

Это наиболее трудный для понимания этап т.к. он не соответствует обычной работе с переменными 1с. Но для работы с объектами XDTO он обязателен. Прежде чем создать объект XDTO, необходимо получить его тип. Для этого используются специальные объекты - фабрики типов XDTO.

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

Использование XDTO-пакетов

XDTO-пакет - это отдельный объект конфигурации, расположенный в ветке Общие дерева конфигурации. Платформа позволяет создавать неограниченное количество XDTO-пакетов как с помощью конструктора, так и путём импорта существующих файлов .xsd. Эти пакеты могут служить основой для получения типов объектов XDTO. Выглядит это так:

Здесь ФабрикаXDTO - это особый глобальный объект, который знает всё обо всех объектах XDTO, описанных в имеющихся в конфигурации XDTO-пакетах. Метод Тип() возвращает искомый тип объекта XDTO (ТипОбъектаXDTO). Он принимает 2 параметра - пространство имён и имя типа (оба - строки). Результат полезно запомнить в переменной, в дальнейшем её можно использовать для создания объектов XDTO произвольное количество раз.

Заметим, что в параметре передаётся не имя пакета, а его пространство имён. Имя пакета вообще нигде не используется и задаётся только для удобства поиска в дереве конфигурации.

Использование файлов с описанием схемы XML

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

Здесь мы использовали глобальную функцию СоздатьФабрикуXDTO, которая считывает файл со схемой (параметр функции) и создаёт объект-фабрику. Этот объект в будущем может произвольное число раз использоваться для создания любых доступных в схеме типов объектов. Если требуется загрузить несколько файлов со схемами, можно передать массив строк с именами файлов. Дальнейшая работа с фабрикой объектов не отличается от описанного в 1 способе.

Создание объекта XDTO

Сами объекты XDTO также создаются фабрикой объектов. Причём той же самой, которая использовалась при получении типа. Но используется уже другой метод - Создать():

В результате в переменной Номенклатура окажется объект XDTO, описанный в файле-схеме. К его реквизитам можно обращаться наподобие реквизитов фиксированной структуры. Естественно, нельзя добавлять или удалять реквизиты. В отличие от фиксированной структуры, каждый реквизит имеет определённый тип, поэтому произвольное присваивание не получится. Объект имеет тип ОбъектXDTO.

Запись объектов XDTO в файл

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

Заполнение объекта XDTO

Использование фабрики объектов на этом не закончится. Ведь у переменной Номенклатура есть несколько реквизитов, и каждый из реквизитов относится к какому-то типу. К счастью, простые типы можно использовать без подобных преобразований простым присваиванием:

Более сложные типы требуют обращения к фабрике объектов:

Стандарт позволяет создавать реквизиты-списки и реквизиты-структуры без создания отдельных типов. Заполнять такие реквизиты можно следующим образом:

Здесь мы получаем объект-список методом ПолучитьСписок() объекта XDTO. Объект-список имеет тип СписокXDTO.

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

Сейчас объект заполнен и его можно записать.

Запись объекта XDTO

Для записи воспользуемся объектом типа ЗаписьXML. В него умеет писать фабрика объектов с помощью метода ЗаписатьXML().

В результате в переменной Результат будет следующее содержимое:

Первая строка была добавлена методом ЗаписатьОбъявлениеXML() объекта ЗаписьXML. Остальное сделала фабрика. Из интересных моментов можно отметить наличие пары дополнительных пространств имён помимо используемого нами. В них описываются базовые типы реквизитов, таких как строка.

Если требуется результат записать сразу в файл, можно воспользоваться соответствующими методами объекта ЗаписьXML.

Чтение объектов XDTO из файла

Процесс чтения проще чем процесс записи. Сначала выполняем непосредственно чтение с помощью объекта ЧтениеXML и метода ПрочитатьXML() фабрики:

Как видим, ПрочитатьXML() требует в качестве параметра указания типа принимаемого XDTO-объекта. Параметр не обязательный, при его отсутствии метод попытается сам определить тип объекта. В результате в переменную НоменклатураСчитанная поместится объект, аналогичный записанному ранее.

В последней строке кода мы воспользовались методом Проверить() объекта XDTO. Этот метод вызовет исключение, если считанный объект не соответствует схеме XML. Рекомендуется этот метод вызывать и непосредственно перед записью объекта, чтобы гарантировать что сохранённый файл будет корректным.

Обращение к реквизитам аналогично обращению к реквизитам фиксированных структур. Для реквизитов-списков можно воспользоваться итератором:

Разумеется, содержимое считанного объекта можно менять. Впоследствии он может быть сохранён.

Использование объектов XDTO в web-сервисах

Механизм XDTO представляет собой гибкое средство моделирования данных, которое широко используется в технологии web-сервисов 1С:Предприятия. В этой статье мы рассмотрим, как с использованием XDTO можно задавать различные типы данных и как их применять в web-сервисах.

Центральным понятием механизма XDTO является понятие объекта переноса данных . Объект переноса данных можно представить как одиночный объект или замкнутый граф объектов, который может быть перенесен с одного компьютера на другой. Объект переноса данных характеризуется двумя основными свойствами: возможностью сериализации/десериализации в формат передачи данных (как правило, в XML) и свойством замкнутости.

Способность сериализоваться/десериализоваться в формат переноса данных позволяет объекту переноса данных мигрировать с одного компьютера на другой. Между разными компьютерами и даже разными процессами одного компьютера нет единого адресного пространства и нет возможности передавать объект по ссылке. Поэтому сериализация является единственным способом взаимодействия между этими процессами. Сериализация позволяет представить объект в некоторой промежуточной форме, например в виде xml, передать эту промежуточную форму заданному процессу заданного компьютера и обратно десериализовать объект в вид, пригодный для программного использования.

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

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

Все типы данных XDTO подразделяются на типы-значения и типы-объекты. Типы-значения позволяют определять простые типы, например, строки, числа, даты, булевы значения и т.д. Типы-объекты позволяют определять сложные типы, такие как структуры и массивы. Рассмотрим более подробно, как задавать с помощью XDTO некоторые характерные типы.

Строки

Строки моделируются типами-значениями. Строковый тип имеет имя: string . В фигурных скобках здесь задается пространство имен типа. В XDTO как и в XML схеме, на которой он основан, все типы имеют пространство имен и локальное имя.

Для создания строкового значения нужно:

Строка при передаче представляется в виде текста xml тега:

Следует учесть, что строки конвертируются в UTF-8 при сериализации.

Целые числа

Целые числа моделируются типами-значениями. Целочисленный тип имеет имя: int .

Для создания целочисленного значения нужно:

Число при передаче представляется в виде текста xml тега:

Дробные числа

Дробные числа моделируются типами-значениями. Дробный тип с фиксированной точкой имеет имя: decimal , дробный тип с плавающей точкой имеет имя: float , дробный тип с плавающей точкой двойной точности имеет имя: double .

Для создания дробного значения нужно:

Число при передаче представляется в виде текста xml тега:

Даты моделируются типами-значениями. Тип даты без времени имеет имя: date , тип времени без даты имеет имя: time , тип даты и времени имеет имя: dateTime .

Для создания значения даты нужно:

Число при передаче представляется в виде текста xml тега:

Лексическое представление даты задается в формате:

Временная зона может быть не указана.

Лексическое представление времени задается в формате:

Временная зона может быть не указана.

Лексическое представление даты вместе со временем задается в формате:

Дата от времени разделяется символом T . Временная зона может быть не указана.

Структуры

Структуры моделируются типами-объектами. Перед тем как использовать структуру необходимо создать пакет XDTO, описываающий тип-объект структуры (например, через редактор XDTO). Тип-объект может содержать свойства, котрые соответствуют элементам структуры. Каждое свойство характеризуется уникальным именем и типом. Тип свойства может быть как типом-значением, так и типом-объектом.

Например, для создания структуры Номенклатура из демо-конфигурации Web-Сервисы нужно:

Структура при передаче представляется в виде xml структуры:

Массивы

Массивы моделируются свойствами типов-объектов. Тип массива нельзя создать напрямую, но на определенном свойстве типа-объекта можно указать минимальное количество и максимальное количество элементов массива. Если оба значения равны 1 , то это единичное свойство, если максимальное количество больше 1 , то - множественное свойство. Свойства-массивы реализованы в XDTO через СписокXDTO.

Например, для создания массива номенклатур, определенного в свойстве Элементы структуры НоменклатураГруппа из демо-конфигурации Web-Сервисы нужно:

Массив при передаче представлятся в виде xml структуры:

Рассмотрим, как создавать типы и элементы в случае клиента web-сервиса и в случае сервера web-сервиса.

Каждый клиентский прокси (клиентская часть web-сервиса - объект WSПрокси ) содержит ссылку на фабрику XDTO, которая может использоваться для создания объектов и значений XDTO для передачи в качестве параметров и возвращаемых значений операций web-сервисов. Заметим, что глобальная XDTO фабрика (получаемая через свойство глобального контекста ФабрикаXDTO) не может быть использована для создания объектов и значений для передачи через прокси, даже если она содержит типы с такой же структурой и именами. Эти типы все равно будут считаться несовместимыми с типами данных web-сервиса.

Каждая реализация веб-сервиса (серверная часть web-сервиса) может использовать глобальную XDTO фабрику (получаемую через свойство глобального контекста ФабрикаXDTO) для создания объектов и значений web-сервиса.

Механизм XDTO является универсальным способом представления данных для взаимодействия с различными внешними источниками данных и программными системами.

Импорт схемы XML в глобальную фабрику XDTO

Для того чтобы импортировать схему XML из файла .xsd в глобальную фабрику XDTO, следует выделить в дереве конфигурации ветку XDTO и выполнить команду контекстного меню Импорт XML-схемы…


Импорт XML-схемы

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


Выбор пространств имен

После этого будет выполнен импорт, в результате которого новые пакеты XDTO будут добавлены в дерево конфигурации, а пакеты, отмеченные для
обновления, обновлены.

Экспорт схемы XML-данных конфигурации

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

После выбора каталога и указания имени файла будет выполнен экспорт схемы XML в указанный файл.

Экспорт схемы XML-пакета XDTO



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

Проверка пакета XDTO

Окно редактирования пакета XDTO

Редактирование пакета XDTO выполняется в окне редактирования пакета XDTO.


Окно редактирования пакета XDTO

При добавлении нового пакета XDTO в дерево конфигурации окно редактирования пакета XDTO открывается автоматически.
Для того чтобы открыть окно редактирования для существующего пакета XDTO, следует выделить в дереве конфигурации требуемый пакет XDTO и выполнить команду контекстного меню Открыть пакет .

Иерархическая структура пакета XDTO

Окно редактирования пакета XDTO содержит иерархическую структуру пакета XDTO, отображенную в виде дерева. В корне дерева расположен идентификатор пакета XDTO, содержащий URI пространства имен данного пакета.



На первом уровне иерархии могут располагаться следующие элементы пакета:
● Директивы импорта – перечень директив импорта. Каждая директива импорта представляет собой ссылку на другой пакет, содержащий типы, на которые так или иначе ссылается данный пакет. При работе с данным пакетом XDTO средствами встроенного языка данный перечень директив импорта будет доступен в виде объекта КоллекцияПакетовXDTO , содержащегося в свойстве Зависимости пакета XDTO.
● Типы значений – перечень типов значений XDTO, которые содержит пакет XDTO.
● Типы объектов – перечень типов объектов XDTO, которые содержит пакет XDTO.
● Свойства – перечень свойств пакета XDTO. Представляет собой объявления объектов/значений, которые могут являться корневыми элементами документов XML, принадлежащих URI пространству имен данного пакета XDTO.
● Каждый тип значения XDTO описывается иерархической структурой и может содержать в своем составе следующие элементы:
● Образец – описывает один фасет XDTO типа Образец.
● Перечисление – описывает один фасет XDTO типа Перечисление.

Каждый тип объекта XDTO описывается иерархической структурой, которая может содержать в своем составе набор свойств объекта.

Свойства пакета XDTO

Редактирование свойств пакета XDTO выполняется в палитре свойств.
Если палитра свойств открыта для пакета XDTO, выделенного в дереве конфигурации, то в ней будут содержаться следующие свойства: Имя, Синоним, Комментарий и URI пространства имен . Кроме этого, палитра свойств будет содержать ссылку Пакет, по которой можно перейти в окно редактирования пакета XDTO.


Свойства пакета XDTO

Если палитра свойств открыта для пакета XDTO, выделенного в окне редактирования пакета XDTO (корневой элемент), то она содержит единственное свойство – URI пространства имен . Это свойство задает URI пространства имен пакета XDTO, к которому принадлежат все определенные в этом пакете типы.
Свойства директивы импорта
Редактирование свойств директивы импорта выполняется в палитре свойств. Для директивы импорта палитра свойств содержит единственное свойство – Пространство имен. Это свойство задает URI пространства имен импортируемого пакета.


Свойства директивы импорта

Свойства типа значения XDTO
Редактирование свойств типа значения XDTO выполняется в палитре свойств.


Свойства значения XDTOДля типа значения XDTO палитра свойств содержит следующие свойства:
● Имя – имя типа значения XDTO.
● Базовый тип – базовый тип для данного типа значения XDTO.
● Вариант – вариант простого типа (атомарный тип, список, объединение). Если значение установлено, то должно не противоречить значениям Тип элемента и Типы объединения.
● Тип элемента – тип элемента списка в случае, когда тип значения XDTO определяется списком. При этом все фасеты и свойство Типы подчиненных
должны быть пустыми.
● Типы объединения – список типов, образующих объединение в случае, когда тип значения XDTO определяется объединением. Объединяться могут
только типы значений XDTO. При этом все фасеты и свойство Тип элемента должны быть пустыми.
● Длина – фасет длины.
● Минимальная длина – фасет минимальной длины.
● Максимальная длина – фасет максимальной длины.
● Пробельные символы – фасет пробельного символа.
● Минимум, включающий границу – фасет минимума, включающего границу.
● Минимум, не включающий границу – фасет минимума, не включающего границу.
● Максимум, включающий границу – фасет максимума, включающего границу.
● Максимум, не включающий границу – фасет максимума, не включающего границу.
● Общее количество цифр – фасет общего количества цифр.
● Количество цифр дробной части – фасет количества цифр дробной части.

Свойства типа объекта XDTO
Редактирование свойств типа объекта XDTO выполняется в палитре свойств.


Для типа объекта XDTO палитра свойств содержит следующие свойства:
● Имя – имя типа объекта XDTO.
● Базовый тип – базовый тип для данного типа объекта XDTO. Это может быть только тип объекта XDTO.
● Открытый – признак, является ли тип объекта XDTO открытым. Данное свойство показывает, может ли экземпляр объекта XDTO содержать дополнительные свойства, не определенные в его типе.
● Абстрактный – признак, является ли тип объекта XDTO абстрактным.
● Смешанный – свойство показывает, имеет ли соответствующий объект XDTO смешанное содержание. Если значение свойства Смешанный равно Истина , то значение Последовательный обязательно равно Истина , так как смешанное содержание невозможно смоделировать без применения последовательности XDTO.
● Упорядоченный – признак, является ли порядок следования элементов, представляющих значения свойств, строго соответствующим порядку следования свойств в типе объекта XDTO. Если свойство Упорядоченный имеет значение Ложь, то на входе порядок следования элементов XML не контролируется, а на выходе определяется порядком следования свойств, если только свойство Последовательный не имеет значение Истина .
● Последовательный – это свойство показывает, содержит ли экземпляр соответствующего объекта XDTO последовательность XDTO. Данный признак
равен значению Истина в тех случаях, когда порядок следования вложенных элементов XML не может однозначно определяться порядком следования свойств в типе или соответствующий объект XDTO имеет смешанное содержание. Последовательность XDTO позволяет задать в явном виде порядок следования элементов, как они будут представлены в документе XML. Для объектов типов, у которых свойство Последовательный установлено в значение Ложь , порядок следования вложенных элементов соответствует порядку следования свойств.
Свойства свойств типа объекта XDTO
Редактирование свойства свойств типа объекта XDTO выполняется в палитре свойств.


Палитра свойств типа XDTO

Для типа объекта XDTO палитра свойств содержит следующие свойства:
● Имя – имя свойства. В пределах одного типа объекта XDTO имена свойств должны быть уникальными.
● Тип – тип свойства. Может быть как типом значения XDTO, так и типом объекта XDTO.
● Минимальное количество – минимальное количество значений свойства. Минимальное количество значений свойства может принимать значения >= 0. Естественно, значение Минимальное количество должно быть меньше или равно значению Максимальное количество (если, конечно, Максимальное количество не равно -1);
● Максимальное количество – свойство типа объекта XDTO может быть определено как содержащее одно или множество значений. Свойство считается содержащим одно значение, если свойство Максимальное количество равно 1. Если же свойство Максимальное количество больше 1, то считается, что свойство может содержать множество значений. Такое свойство в структуре объекта моделируется как список. Свойство Максимальное количество показывает максимальное количество значений свойства. Максимальное количество > 1 может быть задано только для свойств,
представляемых в виде элемента XML.
● Возможно пустое – показывает, может ли свойство принимать неопределенное значение. Свойство Возможно пустое, равное Истина, может быть определено только для свойств с формой представления Элемент. Если Максимальное количество > 1, неопределенное значение является допустимым для элемента списка значений свойства.
● Фиксированное – указывает, является ли значение свойства фиксированным. Если установлено в значение Истина, то само фиксированное значение можно получить через свойство По умолчанию.
● По умолчанию – значение свойства по умолчанию. Тип значения по умолчанию может быть только типом значения XDTO. При этом данное значение должно быть совместимо с типом свойства (быть того же типа, что и тип свойства или же унаследованного типа). При создании объекта XDTO свойство, если оно допускает единственное значение, принимает значение по умолчанию. Для свойств с множеством значений список значений
изначально пуст, независимо от того, определено или нет значение по умолчанию.
● Форма – форма представления свойства в XML. Это может быть Текст, Элемент или Атрибут. Если формой представления является Атрибут или
Текст, то значение свойства Максимальное количество не может быть больше 1. Если свойство принимает значение Текст, то значение свойства
Минимальное количество также должно быть равным 1. У одного типа только одно свойство может иметь форму представления Текст, при этом
остальные свойства должны иметь форму представления Атрибут.
● Локальное имя – локальное имя, используемое для представления свойства. Для свойств с формой представления Текст – пустая строка.

Глобальное свойство

Редактирование свойств глобального свойства выполняется в палитре свойств.


Палитра свойств глобального свойства

Для глобального свойства палитра свойств содержит следующие свойства:
● Имя – имя глобального свойства. В пределах одного типа объекта XDTO имена глобальных свойств должны быть уникальными.
● Ссылка – ссылка на корневое определение свойства пакета.
● Тип – тип глобального свойства.
● Минимальное количество – минимальное количество значений свойства. Если Минимальное количество = 0, то значение свойства может быть не установлено.
● Максимальное количество – максимальное количество значений свойства. Если Максимальное количество равно -1, то количество значений свойства неограниченно.
● Возможно пустое – показывает, может ли свойство принимать неопределенное значение.
● Фиксированное – указывает, является ли значение свойства фиксированным.
● По умолчанию – значение свойства по умолчанию. Лексическое представление значения свойства должно соответствовать правилам проверки типа
данного свойства.
● Форма – форма представления свойства в XML. Это может быть Текст, Элемент или Атрибут.
● Локальное имя – локальное имя, используемое для представления свойства.

Механизм XDTO является универсальным способом представления данных для взаимодействия с различными внешними источниками данных и программными системами.
Аббревиатура XDTO обозначает XML Data Transfer Objects.
Механизм XDTO позволяет создать модель представления данных (модель типов и значений), которая, с одной стороны, обеспечивает возможность просто и естественно манипулировать данными в среде системы «1С:Предприятие», а с другой стороны, хорошо приспособлена для прозрачного преобразования данных в другие форматы, главным образом XML.


Рис. 1. Общая схема XDTO

Можно выделить несколько задач, для решения которых используется механизм XDTO:

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

Механизм XDTO обладает следующими ключевыми свойствами:

  • обеспечивает работу с XML,
  • привычная модель работы с данными.

В настоящее время обмен данными с различными программными платформами и системами реализуется с использованием XML: XML-документы служат для представления данных, а схема XML используется для описания форматов и структур данных. Механизм XDTO позволяет создавать требуемые для обмена схемы XML и формировать XML-документы, удовлетворяющие этим схемам.
В то же время использование механизма XDTO позволяет выполнять эти действия в привычной, для большинства разработчиков системы «1С:Предприятие», манере.
Разработчик имеет дело с типами и объектами данных, объекты данных содержат свойства, свойствам присваиваются значения и т. д. При манипулировании данными с помощью XDTO разработчик максимально изолирован от подробностей, связанных с тем, как эти данные представлены в XML. Конечно, совсем избавиться от этих подробностей невозможно, но важно, что они проявляются только там, где это действительно нужно.

16.1.2. Фабрика XDTO

16.1.2.1. Общая информация

    • Один пакет XDTO, содержащий описание типов платформы. Этот пакет является одинаковым для всех конфигураций системы «1С:Предприятие».
    • Один пакет XDTO, содержащий описание типов конфигурации, созданных в результате редактирования метаданных (создания и изменения свойств справочников, документов и пр.)
    • Один или несколько пакетов XDTO, описанных непосредственно в дереве объектов конфигурации, в ветке Общие – XDTO-пакеты.

    16.1.2.2. Получение фабрики XDTO из файла-схемы XSD

    16.1.2.3. Получение фабрики XDTO из нескольких источников

    ● Схемы XML, которая расположена в файле с:\temp\sсhema 1.xsd.
    ● Схемы XML, которая расположена в файле с:\temp\sсhema 2.xsd.
    ● Схемы пакета 1 текущей конфигурации.
    ● Схемы пакета 2 текущей конфигурации.

    Читайте также: