Содержание:
1. Сложности структурирования системы данных передаваемой информации
2. Что такое формат Enterprise Data?
3. Реализация обмена через Enterprise Data в системе 1С
1. Сложности структурирования системы данных передаваемой информации
Речь идет об обмене структурированными данными: НСИ и документами. В конфигурации системы 1С эта информация представлена такими объектами как справочники, регистры сведений, документы, бизнес-процессы, задачи и т.п. Все эти объекты имеют четкую структуру в виде набора реквизитов, измерений, ресурсов заданных типов (будем далее называть их просто реквизитами), а передача данных об объекте 1С подразумевает передачу информации о значениях его реквизитов. Таким образом, передаваемая информация должна быть структурирована, а источник и приемник должны однозначно понимать, какая часть информации соответствует тому или иному реквизиту.
Не было бы никаких сложностей со структурированием, если бы источник и приемник имели одинаковую структуру передаваемых объектов или, по крайней мере, различную, но известную друг для друга структуру объектов и эта структура была бы неизменной. На практике ни первое, ни второе условие часто не соблюдаются: то расчет заработной платы перевели в другую информационную систему и, таким образом, изменился источник передаваемых проводок; то накатили обновление, в котором изменился состав и/или тип реквизитов 1С передаваемых объектов; то вовсе источник или приемник не раскрываются, например, из соображений безопасности.
Можно, разумеется, при любых изменениях передаваемых данных в источнике или приемники уточнять формат (структуру) обмена и перенастраивать процедуры обмена, как это происходит, например, при использовании КД 2.0; но такой подход порождает свои сложности.
2. Что такое формат Enterprise Data?
Разработчики стандарта Enterprise Data предложили «развязать» источник и приемник, введя промежуточный «универсальный формат» (EnterpriseData) передачи данных. Обмен ведется не напрямую источник - приемник, а в два этапа:
1. Источник - EnterpriseData
2. EnterpriseData - Приемник
В общем случае структура объектов в EnterpriseData не зависит от структуры объектов в источнике/приемнике. Например, каков бы ни был состав реквизит справочника «Контрагенты» в источнике и приемнике, в EnterpriseData для такого объекта устанавливают структуру «Counterparty» с полями «Code» и «Name» определенных типов; а для документа «Платежка» - структуру «Payment» с полями «Number», «Date», «CounterpartyName».
Теперь как бы не менялась структура данных в базах-корреспондентах, источник обязан выдать данные в фиксированном формате EnterpriseData, а приемник обязан принять данные из этого фиксированного формата – обмен не нарушится.
3. Реализация обмена через Enterprise Data в системе 1С
В конфигурациях систем 1С инструментом для отражения структуры объектов EnterpriseData служат XDTO-пакеты. Фабрика XDTO позволяет сериализовать/десериализовать сообщения в XDTO-структуры, которые уже сопоставляются с реквизитами объектов 1С.
Сообщения обычно передают в формате xml или json.
Каналы передачи могут быть самыми разнообразными: и файловый обмен и через веб-сервисы, и через любые другие, под которые будет создан интерфейс. EnterpriseData никаких ограничений на каналы передачи данных не накладывает и сам от них не зависит.
В заключении хочется отметить, что EnterpriseData сейчас широко используется в интеграционных механизмах 1С, в т.ч. в «Универсальном обмене» на основе КД 3.0.
Специалист компании OOO "Кодерлайн"
Игорь Борисенко