Управление производством. MEScontrol, DPA

 
Алёна Микшина
Сообщения: 2
Зарегистрирован: 24 окт 2016, 11:17
Компания: X-tensive

Синхронизация справочников

24 апр 2018, 11:18

Частым сценарием является синхронизация справочников между несколькими системами.
С точки зрения технической реализации, есть несколько популярных способов. Например, через вызов WEB-сервисов. Другой популярный способ - использовать очередь MSMQ, это надежный вариант, гарантирующий доставку сообщений.

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

DPA поддерживает синхронизацию справочников "Изделия" и "Управляющие программы".
В настройках DPA можно активировать синхронизацию и выбрать общий каталог для обмена файлами. По умолчанию - "C:\ProgramData\X-tensive\DPA\Tasks".


1.png
1.png (33.74 КБ) 56 просмотров


Мы используем следующее соглашение о подкаталогах:

In - сюда должны поступать XML-файлы с запросами.
Done - сюда DPA перенесет те XML-файлы, которые были успешно обработаны.
Error - сюда попадут XML-файлы, при обработке которых возникла ошибка. Описание ошибки добавляется в конец XML-файла в формате "<error>Текст ошибки</error>".

Out - каталог для исходящих запросов. Пока не используется.

2.png
2.png (29.47 КБ) 56 просмотров
 


Поддерживается 4 типа запросов: Create
, CreateOrUpdate, Update, Remove.

Структура запросов определяется вот этой XSD-схемой: ftp://ftp.x-tensive.com/Public/Downloads/DPA.Schemas/Xtensive.DPA.Tasks.xsd.

Пример XML-запроса:

<?xml version="1.0" encoding="utf-8"?>
<Xtensive.DPA.Task xmlns="http://x-tensive.com/dpa/task">
       <createOrUpdateProductWithVersion>
              <product code="115" name="Крышка115" category="Крышка">
                     <type name="Деталь"/>
                     <department path="X-tensive\Кирова-9\ЭП"/>
              </product>
              <version number="3" status="Active">
                     <workCenters>
                           <workCenter equipmentName="HH171 iTNC530" controlProgramName="УП_Крышка115"/>
                     </workCenters>
              </version>
       </createOrUpdateProductWithVersion>
</Xtensive.DPA.Task>

Полный перечень поддерживаемых запросов:
1.    CreateProductWithoutVersion;
2.    CreateProductWithVersion;
3.    CreateOrUpdateProductWithoutVersion;
4.    CreateOrUpdateProductWithVersion;
5.    UpdateProduct;
6.    RemoveProduct;
7.    CreateProductVersion;
8.    CreateOrUpdateProductVersion;
9.    UpdateProductVersion;
10.  RemoveProductVersion;
11.  CreateControlProgramWithoutVersion;
12.  CreateControlProgramWithVersion;
13.  CreateOrUpdateControlProgramWithoutVersion;
14.  CreateOrUpdateControlProgramWithVersion;
15.  UpdateControlProgram;
16.  RemoveControlProgram;
17.  CreateControlProgramVersion;
18.  CreateOrUpdateControlProgramVersion;
19.  UpdateControlProgramVersion;
20.  RemoveControlProgramVersion.