ERP-интеграция
ERP интеграция – это запись с настройками одного обмена данными между SimpleMES и внешней системой. Например, одна запись загружает заказы клиента из 1С, другая выгружает выполненные заказы обратно в 1С. Сейчас в SimpleMES настроены три интеграции:
- загрузка заказов из 1С;
- выгрузка заказов в 1С;
- файловый обмен – загрузка данных из XML-файлов во внешней файловой директории.
Обычно с интеграциями работают так: запускают и останавливают готовые записи и следят за результатом в журнале интеграции. Если данные не появились в SimpleMES, начните поиск причины с журнала.
Сведения
Наименование: ERP интеграция
Системное имя: mes_integration
Класс: конфигурационные данные
Колонки таблицы
| Название | Тип колонки | Название колонки |
|---|---|---|
| Подключение ID | String | connection_id |
| Подключение | Translated text | connection |
| Активно | True/False | active |
| Информация | Translated text | information |
| Адрес сервиса | String | address_service |
| Порт | String | port |
| Пользователь | String | user |
| Пароль | String | password |
| Интервал запуска | Duration | run_period |
| Таблица заказа 1С | Reference | table_order_1c |
| Адрес веб-сервиса | String | address_web_service |
| Запись журнала SimpleMes | Reference | log_simplemes |
| Таблица позиций заказа 1С | Reference | table_order_position_1c |
| Тип | Choice | type |
| Документ | Choice | document |
| Скрипт | Reference | sch_script |
| Количество попыток | Integer | number_of_attempts |
| Таблица журнала SimpleMes | Reference | table_log_simplemes |
| Тип обмена | Choice | direction |
| Внешний скрипт | Reference | include_script |
| Матрица соответствий | Reference | mapping_matrix |
| Матрица соответствий для табличной части | Reference | mapping_matrix_table_section |
| Табличная часть 1С | Choice | table_section_1c |
| Таблица MES | Reference | table_mes |
| Политика защиты | Choice | policy |
| Приложение | Reference | application_id |
| Путь к источнику | String | source_path |
| Путь к архиву | String | archive_path |
| Транзитная таблица | Reference | transition_table |
| Путь ошибок | String | failed_path |
| ID | Big Integer | sys_id |
| Когда создано | Date/Time | sys_created_at |
| Кем создано | Reference | sys_created_by |
| Когда изменено | Date/Time | sys_updated_at |
| Кем изменено | Reference | sys_updated_by |
Запуск и остановка интеграции
Интеграции запускаются и останавливаются в списке записей, а не на форме: на форме этих кнопок нет.
- Откройте список ERP интеграция в разделе меню Интеграции.
- Отметьте нужные записи.
- Нажмите кнопку над списком:
- Запустить – включает интеграцию. Загрузка из 1С и файловый обмен начинают выполняться по расписанию с интервалом из поля Интервал запуска. Выгрузка в 1С сразу передает выполненные заказы, которые еще не были выгружены;
- Запустить разово – выполняет обмен один раз сразу после нажатия;
- Остановить – выключает интеграцию и ее запуск по расписанию.

Поле Подключение в списке подсвечивается по состоянию интеграции и результату последнего обмена:
- зеленым – интеграция запущена, последний обмен прошел успешно;
- желтым – интеграция остановлена или последний обмен завершился предупреждением;
- красным – интеграция запущена, последний обмен завершился ошибкой.
Подробности последнего обмена – в журнале интеграции.
Чтобы изменить интервал у запущенной интеграции, исправьте Интервал запуска на форме и сохраните запись. Новый интервал применится сразу, перезапускать интеграцию не нужно
Для выгрузки в 1С и разового запуска должно быть заполнено поле Внешний скрипт. Если оно пустое, обмен не выполняется
Настройка интеграции
Набор полей на форме зависит от значения поля Тип: у 1C и SAP – поля подключения к ERP-системе, у File – пути к папкам файловой директории. Что заполнять для каждой интеграции, описано в ее разделе ниже.
Чтобы добавить интеграцию, нажмите Создать в списке, выберите Тип и Тип обмена, заполните поля и сохраните запись. Затем запустите ее.
Обмен с 1С
С 1С работают две записи интеграции с одинаковой формой: одна загружает заказы клиента в SimpleMES, другая выгружает выполненные заказы обратно. Они отличаются полем Тип обмена и несколькими полями, которые нужны только одному направлению.
Поля
| Поле | Обязательно | Описание |
|---|---|---|
| Тип | Нет | 1C |
| Активно | Нет | Признак того, что интеграция запущена. Устанавливается кнопками Запустить и Остановить |
| Тип обмена | Нет | Направление обмена: • Загрузка • Выгрузка |
| Документ | Нет | Документ 1С, которым обмениваются системы, – Заказ Клиента |
| Информация | Нет | Дополнительная информация |
| Подключение ID | Да | Уникальный идентификатор подключения |
| Подключение | Да | Название подключения |
| Пользователь | Да | Логин пользователя 1С |
| Пароль | Нет | Пароль пользователя 1С |
| Адрес сервиса | Да | Адрес сервера 1С |
| Адрес веб-сервиса | Нет | Путь к веб-сервису базы 1С. Добавляется к адресу сервиса |
| Порт | Нет | Порт подключения к ERP-системе |
| Таблица заказа 1С | Нет | Таблица SimpleMES, в которую загружаются заказы из 1С. Только для загрузки |
| Таблица позиций заказа 1С | Нет | Таблица SimpleMES с позициями заказов из 1С |
| Таблица журнала SimpleMes | Нет | Таблица, в которую записываются результаты обмена, – журнал интеграции |
| Интервал запуска | Нет | Как часто выполняется загрузка. Также задает период: загружаются документы, измененные за последний интервал. Только для загрузки |
| Количество попыток | Нет | Сколько раз повторяется запрос к 1С, если он завершился ошибкой |
| Скрипт | Нет | Запланированное задание, которое запускает загрузку по расписанию. Только для загрузки |
| Внешний скрипт | Нет | Скрипт, который выполняет обмен: mes_runIntegrationErp для загрузки, mes_runIntegrationMesErp для выгрузки |
| Матрица соответствий | Нет | Матрица соответствий, по которой поля заказа SimpleMES сопоставляются с полями документа 1С. Только для выгрузки |
| Матрица соответствий для табличной части | Нет | Матрица соответствий, по которой позиции заказа сопоставляются с табличной частью Товары документа 1С. Только для выгрузки |
Загрузка заказов из 1С
Интеграция загружает из 1С проведенные заказы клиента вместе с позициями. По расписанию загружаются документы, измененные в 1С за последний интервал запуска. Если заказ уже загружен, он обновляется, а не создается заново.
Выгрузка заказов в 1С
Интеграция передает в 1С данные выполненных заказов. Выгрузка запускается автоматически, когда заказ переходит в статус Выполнен, а не по расписанию. Кнопка Запустить сразу выгружает все выполненные заказы, которые еще не были выгружены.
Выгружаются только заказы, пришедшие из 1С: у них заполнен GUID 1С. После выгрузки заказ отмечается как выгруженный и повторно не передается.
Если интеграция выгрузки остановлена, заказ при переходе в статус Выполнен в 1С не передается, а в журнале появляется ошибка. Чтобы выгрузить такие заказы, запустите интеграцию
Файловый обмен
Файловый обмен загружает в SimpleMES данные из XML-файлов. Файлы лежат во внешней файловой директории на сервере файлообменника. SimpleMES по расписанию или по кнопке запрашивает у сервера новые файлы и загружает их.
Если в записи заполнены Транзитная таблица и Матрица соответствий, данные из файла проходят два шага:
- Записываются в транзитную таблицу: одна строка файла – одна запись.
- Переносятся из транзитной таблицы в целевую таблицу SimpleMES по матрице соответствий.
Если эти поля не заполнены, файлы только загружаются в SimpleMES и прикрепляются к вложениям файлообменника.
Например, для загрузки номенклатуры транзитная таблица – mes_article_xml_transition, а матрица соответствий переносит данные из нее в номенклатуру.
Каждая строка файла создает новую запись в целевой таблице. Существующие записи по данным из файла не обновляются
Для файлового обмена в поле Тип обмена нужно значение Выгрузка, хотя данные загружаются в SimpleMES. Если выбрать Загрузка или оставить поле пустым, интеграция не будет выполняться по расписанию
Поля
| Поле | Обязательно | Описание |
|---|---|---|
| Тип | Нет | File |
| Активно | Нет | Признак того, что интеграция запущена. Устанавливается кнопками Запустить и Остановить |
| Тип обмена | Нет | Выгрузка. Другие значения для файлового обмена не поддерживаются |
| Информация | Нет | Дополнительная информация |
| Подключение ID | Да | Уникальный идентификатор подключения |
| Подключение | Да | Название подключения |
| Адрес сервиса | Да | Адрес сервера файлообменника |
| Порт | Нет | Порт сервера файлообменника. Добавляется к адресу сервиса |
| Путь к источнику | Да | Папка во внешней директории, из которой берутся файлы для загрузки |
| Путь к архиву | Да | Папка во внешней директории, в которую переносятся успешно загруженные файлы |
| Путь ошибок | Да | Папка во внешней директории, в которую переносятся файлы, которые не удалось загрузить |
| Таблица журнала SimpleMes | Нет | Таблица, в которую записываются результаты обмена, – журнал интеграции |
| Транзитная таблица | Нет | Таблица, в которую сначала записываются данные из файла. Названия ее колонок должны совпадать с названиями тегов в XML-файле |
| Интервал запуска | Нет | Как часто SimpleMES запрашивает у сервера новые файлы |
| Скрипт | Нет | Запланированное задание, которое запускает обмен по расписанию, – File integration script |
| Внешний скрипт | Нет | Скрипт, который выполняет обмен, – mes_runFileIntegration |
| Матрица соответствий | Нет | Матрица соответствий, по которой данные переносятся из транзитной таблицы в целевую. В матрице Таблица 1 – транзитная таблица, Таблица 2 – целевая таблица |
Как проверить загрузку файлов
Результат по каждому файлу виден в трех местах:
- в журнал интеграции добавляется запись с уровнем Информация, если файл загружен успешно, или Ошибка с текстом ошибки;
- создается вложение файлообменника: к нему прикреплен сам файл и указана запись журнала;
- на сервере файл переносится из папки Путь к источнику в папку Путь к архиву. Если файл загрузить не удалось – в папку Путь ошибок.
Если ошибок нет, но загружать нечего, например в папке нет файлов, в журнале появляется запись с уровнем Предупреждение. Что означает каждый уровень, описано на странице Журнал интеграции.
Связи сущности
- Розовые блоки – сущности, на которые ссылается ERP интеграция.
- Подпись на стрелке – поле, в котором хранится ссылка.