17.07.2019 Вадим Хоменко 26075
Работа с XDTO-пакетами

Содержание

1. Что такое XDTO-пакет 1С?

2. Использование формата схемы xsd

3. Фабрика XDTO  


1. Что такое XDTO-пакет 1С?


В этой статье я хочу поговорить о таком объекте конфигурации 1С как XDTO-пакет. Статья демонстрирует пример работы с XDTO и предназначена для разработчиков.


Коротко о том, что такое XDTO. С английского XMLDataTransferObjects, дословно – объекты переноса данных xml. По сути, предназначение XDTO-пакета 1С в том, чтобы описать структуру текста в xml и дать возможность работать с ним, как с объектом.

Меньше слов, больше дела :) Есть конкретная задача.  


2. Использование формата схемы xsd


В производственном цехе поставили новое оборудование, которое контролирует процесс производства. На оборудовании установлено программное обеспечение (ПО). Имея данные о товарах, ПО записывает значения взвешивания при производстве, и может отдавать информацию о затратах материалов и количестве производимой продукции. Оборудование умеет «отдавать» и принимать файлы. Как же теперь связать стороннее ПО с 1С? Можно посмотреть структуру файла xml, читать его последовательно, преобразовывая строки в нужные типы данных (число, дата, булево). Но с XDTO все намного проще! Разработчик ПО для оборудования описал структуру файлов в формате схемы xsd и передал ее нам. Чем это нам поможет? 


Xsd-схема (ее часть) выглядит так:




Ее мы с легкостью загружаем в конфигурацию (в ветке XDTO-пакеты выбираем «Импорт XML-схемы»):



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


Вот как это выглядит в конфигурации:




Итак, у нас есть загруженный XDTO-пакет (формат файлов стороннего ПО). Далее формируем выгрузку товаров из 1С.


Пускай это будет обработка. В ней одна кнопка формирования файла xml.
Основная процедура будет такой:



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


3. Фабрика XDTO


Рассмотрим формирования тестового файла Contractor.xml
При помощи общего объекта Фабрика XDTO создаем типы, которые описывают объекты Contractors и contractor (см. скрины выше). С помощью той же фабрики XDTO создаем массив с типом Contractors, в который будем складывать объекты с типом contractor.



Когда мы создали объект XDTO, при помощи фабрики мы уже работаем с ним именно как объектом, а не как с xml-текстом. То есть обращаемся к его реквизитам через точку и назначаем их через знак «=», как будто работаем с обычным справочником.


В примере мы заполняем объект выдуманными данными, а на деле заполнение будет проходить с выборки справочника 1С. Когда мы закончили наполнение, осталось лишь записать файл и вернуть результат выполнения функции.



Вот так просто мы заполнили и сохранили файл, полностью соответствующий формату стороннего ПО.


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




Подводя итог. XDTO-пакет (xsd-схема) помогает разработчикам двух разных программных продуктов (в нашем случае 1С и ПО оборудования в цехе) согласовать структуру файлов обмена 1С и типы значений в них. К тому же работать с объектом XDTO куда проще, чем с текстом. Вот так просто пользоваться XDTO-пакетами 1С!


Специалист компании ООО «Кодерлайн» 

Вадим Хоменко.

Наши проекты

ФГУП «Почта России»
ФГУП «Почта России»

Отрасль:
Почта, доставка

Внедренное типовое решение:
1С:Управление торговлей

- Оформление заказов поставщикам
- Оформление заказов покупателей
- Упр...

ООО «ДАФ Тракс Рус» (DAF Trucks Rus)
ООО «ДАФ Тракс Рус» (DAF Trucks Rus)

Отрасль:
Машиностроение

Внедренное типовое решение:
«1С:Управление корпоративными финансами»

- Осуществлена разработка матрицы прав и ролей для финансового подразделени...

Фармацевтическое предприятие «Оболенское»
АО «Фармацевтическое предприятие «Оболенское»

Отрасль:
Фармацевтическая промышленность

Внедренное типовое решение:
1С:Управление производственным предприятием

- Адаптации блоков/подсистем планирования продаж, закупок и казначейства. ...

ООО "Эскорт-Центр"
ООО "Эскорт-Центр"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Сквозной учет затрат по объектам
- Бухгалтерский учет
- Расчет зарплаты...

ЗАО «Инвестгеосервис»
ЗАО «Инвестгеосервис»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Объемно-календарное планирование производства Автоматизация бизнес-проце...

Апгрейд 1С:Бухгалтерия 8 ПРОФ (USB) до версии 1С:Бухгалтерия 8 КОРП (USB)
ООО «Ява Строй»

Отрасль:
Строительство

Внедренное типовое решение:
1С:Бухгалтерия 8 КОРП (USB)

- Создание чистых конфигураций. Внесение изменений в БД ЗУП и новая расчетна...

МГК "Световые Технологии"
МГК "Световые Технологии"

Отрасль:

Внедренное типовое решение:
1С:Предприятие 8. ERP Управление предприятием 2

Специалисты "Кодерлайн" произвели доработки в системе 1С:ЕРП 2.4 с учетом треб...

ООО «Аэроэкспресс»
ООО «Аэроэкспресс»

Отрасль:

Внедренное типовое решение:
1С:ERP. Управление холдингом

· Планирование закупок · Управление закупочными процедурами, включая 223 ФЗ ...

Филиал ГлавУпДК при МИД России фирма «Инпредкадры»
Филиал ГлавУпДК при МИД России фирма «Инпредкадры»

Отрасль:
Государственное управление

Внедренное типовое решение:
1С:Бухгалтерия

- Расчеты с контрагентами;
- Управленческий учет;
- Формирование отраслев...

ООО «ПЛЮСПЭЙ»
ООО «ПЛЮСПЭЙ»

Отрасль:
Организацией расчетов посредством электронных средств платежа

Внедренное типовое решение:
1С:Комплексная автоматизация

- Разработка подсистемы оперативного учета транзакций...

Доработка конфигурации Заказчика «1С:Управление строительной организацией»
ЗАО «Стройтрансгаз»

Отрасль:
Проектирование

Внедренное типовое решение:
1С:Управление строительной организацией

Взаиморасчеты с поставщиками;
- Оформление заказов поставщикам;
- Склад ...

Внедрение «1С:Бухгалтерия 8 ПРОФ» в компании «Мостехника»
ООО «Мостехника»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

Документооборот (ECM):
- Учет рабочего времени;
Управление персоналом и ка...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение