755411644773519

Синхронизация данных 1С 8.3 ERP с помо-щью xsd схем

Задача по внедрению 1С:ERP

В компании «Системы» используется собственная разработка «ОУТМЦ» под управлением СУБД MS SQL, в которой долгое время происходило ведение оперативного учета по большому количеству номенклатурных позиций на нескольких складах. При внедрении 1С:ERP Заказчик, в силу специфики производства, пожелал сохранить действующую СУБД MS SQL и наладить оперативный обмен данными между двумя системами.

Дополнительная информация

Обмен данными xml

Для решения задачи была выбрана технология обмена данными xml.

Первоначально, по каждому из документов системы 1С:ERP и «ОУТМЦ», участвующих в обмене с Заказчиком, был согласован список полей , обязательных для заполнения, для правильной работы в двух системах.

Список полей для обмена данными xml
Список полей для обмена данными xml

Далее, по каждому документу была создана xsd схема в 1С ERP, позволяющая четко определить структуру xml-файла как по перечню реквизитов, что очень важно, так и по их типам.

Структура xml-файла
Структура xml-файла

Используя механизм XDTO-объектов, по данным схемах осуществляется выгрузка и загрузка данных в 1С 8 ERP.

Для выгрузки к каждому объекту подключен обработчик события «ПриЗаписи», в котором по соответствующей схеме создается XDTO-объект, заполняется требуемыми данными, при необходимости, не только из текущего объекта, но и из необходимых справочников и регистров, т.к. типовой объект системы 1С:ERP может не содержать всех данных, требуемых на стороне приемника.

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

Для синхронизации данных в 1С 8.3 ERP создан дополнительный регистр сведений, в котором каждому объекту обмена поставлен в соответствие «КодОбмена». Регистр для чтения доступен на стороне СУБД «ОУТМЦ». В качестве значения «КодОбмена» принят Уникальный ИДентификатор каждого объекта. При создании нового объекта, в том числе и по инициативе входящего сообщения с пустым значением «КодОбмена», регистр дополняется, и информация становится доступной для чтения «ОУТМЦ». Следующее сообщение об изменении созданного нового объекта придет с правильным значением «КодОбмена», взятым из регистра.

Тестирование обмена показало надежность способа и исключает ошибочность указания имен полей и типов данных в них т.к. правила заполнения сообщений формата xml жестко прописаны в xsd-схемах для файлов, единых для всех участников обмена.