17.07.2019 Вадим Хоменко 23869
Работа с 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С:ERP Управление предприятием 2.0

Блок регламентированного кадрового учета и расчета заработной платы в 1С:ERP;...

ООО «Еврорадиаторы»
ООО «Еврорадиаторы»

Отрасль:
1С:ERP 2.4

Внедренное типовое решение:

Специалисты «Кодерлайн» помогли перенести базу из текущей системы «1С:ERP 2.2» ...

Установка программного продукта БИТ.Финанс для 1С:Бухгалтерия 8
ООО «Джи Эй Си Шиппинг энд Лоджистикс»

Отрасль:
Транспорт

Внедренное типовое решение:
БИТ.Финанс

Построение единого информационного пространства финансовой службы;
Учет ...

ЗАО «Ламбумиз»
ЗАО «Ламбумиз»

Отрасль:
Производство картонной упаковки

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

- Маркетинг;
- Продажи;
- Планирование закупок;
- Закупки;
- Регламенти...

Московский филиал ООО «Авиакомпания «Икар»
Московский филиал ООО «Авиакомпания «Икар»

Отрасль:
Авиаперевозки

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

Бухгалтерский учет Производственные операции Регламентированная отчетнос...

Автоматизация производственного планирования нефтесервисной компании на базе 1С:ЕРП 2.0
ЗАО «Инвестгеосервис»

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

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

- Блок планирования проектов (процессы объемно-календарного планирования пр...

ООО "Смена"
ООО "Смена"

Отрасль:
Торговля, склад, логистика, транспорт

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

Банк и касса
Расчеты с контрагентами
Торговые операции
Взаиморасчеты с...

ООО «ТейблТок»
ООО «ТейблТок»

Отрасль:
Общественное питание и рестораны

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

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

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

Отрасль:

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

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

АО «Вертолетная сервисная компания»
АО «Вертолетная сервисная компания»

Отрасль:
МТО эксплуатации вертолетной техники

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

- Консультации по сложным вопросам налогового и бухгалтерского учета;
- Ра...

Автоматизация торговых операций на базе "1С:Управление торговлей" в ОАО "Авиазапчасть"
ОАО «Авиазапчасть»

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

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

- Оптовая торговля;
- Оформление заказов покупателей;
- Планирование прод...

ООО «ЛукБелОйл»
ООО «ЛукБелОйл»

Отрасль:
Нефтегазовая отрасль

Внедренное типовое решение:

- Обследовании бизнес-процессов «Документооборот», «Казначейство и Бюджети...

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

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

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

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