Интерфейс транспортно-складского оборудования (MHAX)
Интерфейс транспортно-складского оборудования (MHAX) можно использовать для подключения внешних систем физической обработки материалов (MH) к складу, управляемому с помощью процессов управления складом (WMS) в Microsoft Dynamics 365 Supply Chain Management. Интерфейс между системами WMS и MH состоит из двух очередей: одна для исходящих событий (WMS в MH) и одна для входящих событий (MH в WMS). Система WMS создает исходящие события на основе строк работы, которые создаются во время различных процессов создания и выполнения работ. Затем система MH регулярно опрашивает систему WMS для создания новых событий и обработки ответов. После того, как система MH завершила обработку событий в соответствии с инструкциями по работе, она отправляет входящие события, такие как завершение строки работы и недоукомплектованность.
Важно
Включение этой функции позволяет использоваться данные совместно с выбранными службами сторонних разработчиков. Вы определяете, какие данные используются совместно с третьей стороной (при наличии). Ответственность за пользование услугами независимых производителей лежит на вас и регламентируется условиями, согласованными между вами и третьей стороной. Мы заботимся о конфиденциальности ваших данных. Чтобы получить дополнительные сведения, ознакомьтесь с нашим заявлением о конфиденциальности.
На следующем рисунке показаны различные элементы и порядок их обработки в при использовании интеграции MHAX.
Здесь объясняется взаимодействие, показанное на предыдущем рисунке:
- Во время создания работы или выполнения работы создаются исходящие очереди в исходящей очереди.
- Оборудование MH подключается к службе оборудования MH, опрашивает на наличие новых событий, относящихся к нему, и обрабатывает эти события.
- Когда оборудование MH готово для обратного отчета, оно снова подключается к службе и отправляет входящие события. Эти события немедленно обрабатываются обработчиком очереди.
- На основе данных о входящих событиях обработчик очереди может выполнить существующую работу, изменить ее или создать новую работу.
Включение функции MHAX
Прежде чем можно будет использовать функцию MHAX, необходимо включить ее функцию и конфигурационный ключ.
- Если используется Supply Chain Management версии 10.0.28 или ранее, выполните следующие шаги:
- Перейдите в раздел Администрирование системы > Рабочие области > Управление функциями.
- В рабочей области Управление функциями включите функцию с именем Интерфейс транспортно-складского оборудования. (В Supply Chain Management 10.0.29 эта функция обязательна и не может быть отключена.)
- Переведите систему в режим обслуживания, как описано в разделе Режим обслуживания.
- Перейдите в раздел Администрирование системы > Настройка > Конфигурация лицензии.
- Разверните Торговля > Управление складом и транспортировкой, а затем установите флажок Интерфейс транспортно-складского оборудования.
- Выключите режим обслуживания, как описано в разделе Режим обслуживания.
Установка параметров MHAX
Необходимо настроить несколько общих параметров на Параметры интерфейса транспортно-складского оборудования, чтобы настроить эту функцию.
Перейдите Интерфейс транспортно-складского оборудования > Настройка > Параметры интерфейса транспортно-складского оборудования.
На вкладке Общие установите следующие поля:
- Сопоставления пользователя — сопоставление пользователей системы со связанными с ними работниками склада. Пользователи системы используются для вызова службы входящей очереди. Выбранным работникам буду назначаться операции работы (комплектации и размещения), обрабатываемые через входящую очередь. Операции работы будут выполняться на складе по умолчанию каждого работника.
- Включить код входящего сообщения — если этот параметр имеет значение Да: если получен дубликат кода входящего сообщения, сообщение будет отклонено, и появится сообщение об ошибке с информацией, что сообщение уже существует. Если этот параметр установлен как Нет, повторяющиеся коды входящих сообщений будут разрешены.
- Включить создание входящих сообщений вручную — если для этого параметра установлено значение Да, можно смоделировать входящие сообщения путем создания записи непосредственно со страницы Входящая очередь.
На вкладке Номерные серии выберите номерные серии на уровне системы, которые должны использоваться для создания уникальных кодов для элементов входящей очереди, элементов исходящей очереди и пар строк работы.
Исходящие события
В определенные моменты во время создания работы или выполнения работы система определяет, должны ли создаваться исходящие события для отправки в систему MH. Если подписка настроена на конкретный момент во время обработки склада, система создает событие в соответствии с настройкой подписки.
Структура исходящих событий
Каждое исходящее событие уникально определяется кодом исходящей очереди. Тип исходящей проводки определяет тип события. Склад и код подписки, создавшей событие, также регистрируются в событии.
Для переноса данных в систему MH исходящее событие содержит 10 полей для данных (с data01 по data10). Эти поля данных имеют сопоставление "один к одному" (1:1) для существующих полей базы данных. В частности, они извлекаются из полей в таблицах строк работы и заголовков работы. Поля можно свободно выбирать. Они настраиваются при создании подписки.
Кроме 10 полей данных с сопоставлением 1:1 с существующими полями базы данных, событие может содержать дополнительное поле данных, которое называется полезными данными. Содержимое этого поля генерируется пользовательским кодом X++, который называется генератором полезных данных. Любой используемый генератор полезных данных настраивается в подписке.
Чтобы гарантировать, что система MH получает каждый код исходящей очереди только один раз, поле состояния используется для указания, было ли событие готово к отправке во внешнюю систему обработки материалов (статус Готово) или уже было отправлено (статус Отправлено).
Подписки исходящей очереди
Прежде чем создавать какие-либо события, необходимо настроить подписку так, чтобы сообщить функции MHAX о том, нужно ли создавать события и как их создавать. Созданные события помечаются идентификатором подписки. Таким образом, несколько систем MH могут подключаться к одной и той же системе WMS, но хранить свои события отдельно. Когда служба MHAX опрашивается о новых событиях, подписка является одним из доступных параметров для получения событий.
Чтобы создать подписку, перейдите в раздел Интерфейс транспортно-складского оборудования > Настройка > Подписки. Для каждой подписки доступны следующие параметры:
- Код подписки — уникальное имя, идентифицирующее подписку.
- Описание — текстовое описание свободного формата для подписки.
- Склад — отдельные склады, по которым должны фильтроваться события.
- Тип исходящей проводки — тип событий, которые должна содержать подписка.
- Генератор полезных данных — необязательное расширение кода, которое может вводить дополнительную информацию в поле полезные данные исходящего события.
С каждой подпиской можно связать запрос. Этот запрос фильтрует строки работы и заголовки работы, чтобы ограничить работу, которая будет использовать подписку для создания событий. Чтобы добавить запрос в подписку, установите флажок Выполнить запрос для соответствующей подписки на странице Подписки, а затем выберите Изменить запрос на панели операций. Появится стандартный редактор запросов Supply Chain Management.
Кроме того, подписка содержит карту подписки, которая сопоставляет поля в заголовке работы или строке работы с некоторыми или всеми 10 полями свободных данных исходящего события, если это необходимо. Для возврата информации о службе MHAX обычно включается код записи строки работы или код пары строки работы. (Код пары строки работы — это новое свойство, позволяющее системе использовать одну команду возврата для обработки строк комплектации и размещения.) Остальные поля зависят от конкретного использования. Примеры приведены ниже в этой статье.
Для настройки карты подписки выберите подходящую подписку на странице Подписки, а затем выберите Карта подписки на панели операций. В появившемся диалоговом окне Карта подписки можно назначить таблицу и поле для каждого доступного поля данных в том виде, в котором оно требуется.
Типы исходящих событий
В этом разделе описываются различные доступные типы событий. (Типы событий также называются типами проводок.) Здесь также объясняется, когда каждый тип события создается в системе WMS.
События создания работы (WorkCreation)
События по созданию работ создаются после того, как приложение создает работу. Это поведение распространяется на большинство типов процессов создания работ, что особенно важно для создания работ комплектации и пополнения запасов. В целом, если работа создается в открытом состоянии, что указывает на готовность работы к запуску работником, будет создано событие создания работы. Кроме того, будут созданы события по созданию работ для базовых работ перемещения (не работа перемещения по шаблону), даже если эта работа не была создана как открытая работа.
Заметным исключением из этого поведения является работа подсчета циклов, которая в настоящее время не поддерживается. Инвентаризация запасов в системе MH выходит за пределы области действия MHAX, и результаты инвентаризации должны быть импортированы в журнал инвентаризации запасов.
После создания работы служба MHAX обрабатывает создаваемые строки работы и назначает код пары строки работы для всех создаваемых строк работы для каждого заголовка работы. Цель состоит в том, чтобы сгруппировать все строки работы комплектации с последующим размещением по номеру пары строки работы. (Группы соответствуют парам комплектации/размещения в шаблонах работы.) Таким образом, один код может использоваться для отчета о завершении работы для всех связанных строк комплектации и размещения. Процесс группирования начинается с первой строки, а затем продолжается с одним и тем же кодом до тех пор, пока не встретится следующая пара строк работы размещения/комплектации. Код выполнения назначается строке размещения этой пары. Новый код затем используется для строки комплектации в паре. Этот процесс продолжается до тех пор, пока не будут обработаны все строки, принадлежащие заголовку работы.
В качестве специальной функции создания событий работы, если параметр Заблокированная волна имеет значение Да в заголовке работы, у создаваемых событий будет статус Заблокировано, а не как обычное состояние Готово, используемое для их отправки в систему MH. Флаг Заблокированная волна в заголовке работы указывает на то, что заголовок работы еще не готов к выполнению работниками, возможно, из-за незаконченной работы по пополнению. Когда флаг Заблокированная волна снят, события, которые уже были созданы, разблокируются и доступны для системы MH для извлечения из очереди.
События инициации работы (WorkInitiation)
События инициации работы запускаются, когда статус работы изменяется с Открыто на В работе во время обновления работы.
События завершения работ (WorkCompletion)
События завершения работы запускаются, когда статус работы изменяется с В работе на Закрыто во время обновления работы.
События отмены работы (WorkCancel)
События отмены работы запускаются, когда статус работы изменяется с любого статуса кроме Отменено на Отменено во время обновления работы. Кроме того, все остальные события, которые связаны с заголовком работы, удаляются из очереди для всех подписок. Таким образом, внешние системы не могут обрабатывать ненужные события.
События завершения комплектации/размещения (PickCompletion/PutCompletion)
События комплектации/размещения запускаются, когда статус строки комплектации/размещения изменяется с В работе на Закрыто во время обновления строки работы.
Мониторинг исходящей очереди
Чтобы просмотреть исходящую очередь, перейдите в Интерфейс транспортно-складского оборудования > Общее > Исходящая очередь. На странице Исходящая очередь перечисляются все элементы исходящих очередей и их статус. Выберите элемент очереди для просмотра подробных сведений о нем. Эти сведения включают тип проводки номенклатуры, используемую подписку и значения для каждого поля данных (с data01 по data10) и полезные данные.
Очистка исходящей очереди
В конечном счете, исходящая очередь начинает заполняться номенклатурами очереди, которые уже были отправлены. Чтобы удалить эти номенклатуры, перейдите к разделу Интерфейс транспортно-складского оборудования > Периодические задачи > Очистка > Очистка исходящей очереди.
Входящие события
В этом разделе описываются различные типы входящих событий, которые система MH может отправить обратно в систему WMS. Кроме того, данные должны быть представлены системой MH и тем, что именно каждое входящее событие выполняет в системе WMS.
Структура входящих событий
При отправке входящего события внешняя система должна указать тип входящей проводки вместе с до 10 параметров (с data01 по data10). Необязательная проверка может гарантировать, что служба MHAX не получит одно и то же входящее событие более одного раза. Чтобы включить эту проверку, у каждого входящего события должен быть уникальный код сообщения. Если получен повторяющийся код сообщения и если параметр Включить код входящего сообщения задан как Да на странице Параметры интерфейса транспортно-складского оборудования, сообщение будет отклонено. В сообщении об ошибке будет указано, что сообщение уже существует.
В дополнение к входящим полям данных система назначает для события уникальный код входящей очереди.
Типы входящих событий
В этом разделе описываются поддерживаемые типы входящих событий (типы проводок) и данные, которые должны предоставляться для обработки событий.
События подтверждения работы (WorkConfirm)
События подтверждения работы требуют, чтобы в входящих полях данных были включены следующие сведения:
data01 — код пары строки работы.
data02 — код записи строки работы (значение
RecId
).Примечание
Должно присутствовать поле data01 либо поле data02.
data03 — код грузоместа, из которого будет осуществляться комплектация.
data04 — код целевого грузоместа в заголовке работы.
Если указан код пары строки работы, все строки работы комплектации, размещения или пользовательской настройки, помеченные как код пары строки работы и имеющие статус Открыто или В работе, запускаются последовательно. Если указан код записи строки работы (значение RecId
), то в качестве рабочей строки должна использоваться строка работы комплектации, размещения или пользовательская настройка со статусом Открыто или В работе.
Для строк комплектации из местоположений, управляемых грузоместом, требуется, чтобы в data03 было указано грузоместо, из которого выполняется комплектация, независимо от того, помечены ли строки кодом записи строки работы или кодом пары строки работы. В поле data04 должно быть указано целевое грузоместо в заголовке работы для данной комплектации.
Строки размещения не допускают наличие другой информации. Они выполняются только на основе местоположения текущей строки работы и целевого грузоместа работы. Если размещение должно быть выполнено в другое местоположение, измените местоположение строки работы, как описано в разделе События переопределения далее в этой статье.
Настраиваемые строки работы не требуют или не поддерживают дополнительную информацию во входящем событии.
События недоукомплектования (ShortPick)
События недоукомплектования требуют, чтобы в входящих полях данных были включены следующие сведения:
-
data02 — код записи работы (значение
RecId
). - data03 — код грузоместа, из которого будет осуществляться комплектация.
- data04 — количество для комплектации.
- data05 — код исключения недостаточной комплектации, связанный с записью Исключение работы, где значение Тип исключения — Недоукомплектованность.
- data06 — код целевого грузоместа в заголовке работы. Этот код можно оставить пустым, если для него настроено автоматическое создание.
Примечание
Поле data01 не используется для событий недоукомплектования.
Это событие напоминает событие подтверждения работы, но оно применяется только для строк комплектации.
События переопределения (Override)
События переопределения требуют, чтобы во входящих полях данных были включены следующие сведения:
-
data01 — код записи работы (значение
RecId
). - data02 — код нового местоположения.
У строи работы должен быть статус Открыто или В работе, и должно существовать новое местоположение.
События получения грузоместа (LPReceipt)
События получения грузоместа требуют, чтобы во входящих полях данных были включены следующие сведения:
- data01 — код входящего грузоместа для получения.
Система выполняет операцию получения грузоместа на основе грузоместа, передаваемого в качестве значения поля data01.
Мониторинг входящей очереди
Чтобы просмотреть входящую очередь, перейдите в Интерфейс транспортно-складского оборудования > Общее > Входящая очередь. На странице Входящая очередь перечисляются все элементы входящих очередей и их статус. Выберите элемент очереди для просмотра подробных сведений о нем. Эти сведения включают тип проводки номенклатуры, код сообщения и значения для каждого поля данных (с data01 по data10).
Если при обработке входящих событий произошла ошибка или возник другой тип элемента журнала, можно просмотреть журнал, выбрав Журнал ошибок на панели операций.
Обработка входящих событий
Входящие события сначала записываются в базу данных, а затем сразу (синхронно) выполняются. Если во время обработки возникает ошибка, событие все равно записывается в очередь, но его состояние становится С ошибкой. Служба MHAX возвращает в систему MH сообщение об ошибке и сохраняет журнал ошибок в записи входящих событий для последующего исследования.
События со статусом С ошибкой могут быть повторно обработаны позднее, если состояние ошибки устранено. Чтобы их обработать, выполните один из следующих шагов:
- Перейдите к Интерфейс транспортно-складского оборудования > Общее > Входящая очередь. Выберите соответствующую входящую очередь, а затем выберите Повторная обработка на панели операций.
- Перейдите к Интерфейс транспортно-складского оборудования > Общее > Повторно обработать входящую очередь с ошибками. Появляется диалоговое окно стандартного пакетного задания. Можно настроить фильтр записей, а также запланировать или выполнить пакетное задание для повторной обработки очереди.
Все операции работы (комплектации и размещения) выполняются с помощью работника, выбранного в поле Код пользователя на странице Параметры интерфейса транспортно-складского оборудования.
Очистка входящей очереди
В конечном счете, входящая очередь начинает заполняться номенклатурами очереди, которые уже были обработаны. Чтобы удалить эти номенклатуры, перейдите к разделу Интерфейс транспортно-складского оборудования > Периодические задачи > Очистка > Очистка входящей очереди.
Быстрый обзор по использованию диспетчера очередей
Чтобы получить краткий обзор всех действий, связанных со входящими и исходящими очередями, перейдите Интерфейс транспортно-складского оборудования > Рабочие области > Диспетчер очередей. Страница Диспетчер очередей содержит набор вкладок и плиток, которые можно использовать для контроля и просмотра очередей. Кроме того, на ней приводятся полезные ссылки на большинство других- страниц, упоминаемых в этой статье.
Подключение к службе MHAX
MHAX реализована в качестве настраиваемой службы. Таким образом, эта система доступна через вызовы SOAP и REST. Здесь приведены адреса конечных точек SOAP и REST:
-
SOAP:
https://base_environment_URL/soap/services/WMHEServices
-
REST:
https://base_environment_URL/api/services/WMHEServices/WMHEService
Получение сообщений из исходящей очереди
Чтобы получить сообщения из исходящей очереди, воспользуйтесь одним из следующих способов:
- Используйте
readOutboundSubscriptionQueue
для получения событий на основе кода подписки. - Используйте
readOutboundWarehouseQueue
для извлечения событий на основе типа события и кода склада для нескольких подписок.