Пример использования входящих и исходящих заказов на отгрузку
Примечание
Вместо Azure Active Directory теперь используется Microsoft Entra ID. Подробнее
В этой статье представлен пример сценария, в котором показано, как создавать заказы на входящую и исходящую отгрузку через обработку сообщений. Используется стандартный образец данных, связанный с примером юридического лица (компании) USMF.
Как протестировать процесс создания
Чтобы опробовать процесс создания для входящих и исходящих заказов на отгрузку с помощью сообщений, установите для параметров Включить создание сообщений об исходящем заказе на отгрузку вручную и Включить создание сообщений о входящем заказе на отгрузку вручную значение Да для соответствующей записи Исходная система. Вы можете затем создавать сообщения о входящих заказах на отгрузку непосредственно на страницах Сообщения об исходящих заказах на отгрузку и Сообщения о входящих заказах на отгрузку.
Другим быстрым способом публикации примерных сообщений является использование запросов протокола Open Data Protocol (OData).
В обоих случаях процессор Microsoft Dynamics 365 Supply Chain Management сообщений обрабатывает сообщения и создает заказы в складской системе.
Совет
Чтобы полностью пропустить процессы создания заказов на отгрузку с помощью сообщений, можно создавать входящие заказы на отгрузку и исходящие заказы на отгрузку непосредственно на страницах заказов, разрешая параметры Включить создание входящих заказов на отгрузку вручную и Включить создание исходящих заказов на отгрузку вручную для исходной системы.
Одна и та же логика структуры сообщений применяется как к сообщениям о входящих, так и об исходящих заказах на отгрузку:
Заголовок заказа
Строка заказа 1
Строка заказа 2
…
Строка заказа n
Выполнено
Совет
Дополнительные примеры HTTP-запросов для создания сообщений и интеграции главных данных запасов и продукта перейдите в репозитарий склада dynamics365scm на GitHub.
Необходимые условия
Прежде чем вы сможете работать с этим примером, используя среду Supply Chain Management, вы должны подготовить свою систему следующим образом:
- Проверьте требования к версии и включите эту функцию, как описано в разделе Включение и настройка режима только управления складом.
- Работайте в системе, в которой установлены стандартные демонстрационные данные, и выберите юридическое лицо USMF.
- Установите хотя бы одну запись на странице Исходные системы. В этом примере сценария предполагается, что вы настроили исходную систему, в которой поле Исходная система установлено на ERP. Дополнительные сведения см. в разделе Настройка исходных систем.
- Настройте необходимые номерные серии, как описано в разделе Настройка номерных серий.
Настройка проверки подлинности для примера
На странице Приложения Microsoft Entra ID назначьте пользователя Администратор клиенту, который используется для аутентификации во время взаимодействия со средой Supply Chain Management из внешнего источника. Альтернативно, назначьте другого пользователя, у которого есть доступ для аутентификации к сообщениям интеграции, например, роль по умолчанию Оператор интеграции складских систем. Если вы используете того же пользователя для импорта основных данных продукта, необходимо добавить дополнительные привилегии, связанные с сущностями основных данных продукта, в роль Оператор интеграции складских систем.
Когда вы публикуете сущности через OData, вы должны убедиться, что либо компания пользователя по умолчанию соответствует компании, в которую будет отправлена сущность, либо что компания (значение dataAreaId
) указывается в сообщениях полезной нагрузки запроса. В любом случае сообщения о заказе на отгрузку могут быть выполнены, только если указана компания (значение dataAreaId
).
Создание сообщений о заказах на отгрузку
Пример простого сообщения о заказе на входящую отгрузку
Для сообщения InboundShipmentOrderMessages
заголовка заказа на входящую отгрузку вы должны предоставить как минимум следующие данные:
MessageId
: M1dataAreaId
: USMF (необязательно, в зависимости от компании пользователя авторизации по умолчанию)SourceSystemId
: ERPOrderNumber
: IO1ReceivingWarehouseId
: 51
Когда вы используете переменные, сообщение InboundShipmentOrderMessages
выглядит так, как показано в следующем примере.
POST {{resource}}/data/InboundShipmentOrderMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"ReceivingWarehouseId": "{{Warehouse}}"
}
Сообщение InboundShipmentOrderLineMessages
выглядит так, как показано в следующем примере.
POST {{resource}}/data/InboundShipmentOrderLineMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"OrderLineNumber": 1,
"ItemNumber": "A0001",
"ExpectedQuantity": 10,
"ExpectedUnitSymbol": "Pcs"
}
Чтобы зафиксировать сообщения, опубликуйте завершенное сообщение для заголовка и строк. Полное сообщение выглядит примерно так, как показано в следующем примере.
POST {{resource}}/data/InboundShipmentOrderMessages(MessageId='{{MessageId}}', dataAreaId='{{dataAreaId}}',SourceSystemId='{{SourceSystem}}', OrderNumber='{{OrderNumber}}')/Microsoft.Dynamics.DataEntities.Complete?cross-company=true
Примечание
Значение dataAreaId
используется как часть ключа для сопоставления с выпущенными сообщениями заголовка и строк. Поэтому должно быть указано значение dataAreaId
. Суффикс ?cross-company=true
необходим только для сообщений, в которых компания отличается от компании пользователя по умолчанию, настроенной на странице Приложения Microsoft Entra ID.
Пример простого сообщения о заказе на исходящую отгрузку
Для сообщения OutboundShipmentOrderMessages
заголовка заказа на исходящую отгрузку вы должны предоставить как минимум следующие данные:
MessageId
: M2dataAreaId
: USMF (необязательно, в зависимости от компании пользователя авторизации по умолчанию)SourceSystemId
: ERPOrderNumber
: OO1ShipFromWarehouseId
: 51ConsigneeName
илиReceiverName
: MicrosoftConsigneeCountryRegionId
илиReceiverCountryRegionId
: США
Когда вы используете переменные, сообщение OutboundShipmentOrderMessages
выглядит так, как показано в следующем примере.
POST {{resource}}/data/OutboundShipmentOrderMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"ShipFromWarehouseId": "{{Warehouse}}",
"ConsigneeName": "{{ConsigneeName}}",
"ConsigneeCountryRegionId": "{{ConsigneeCountryRegionId}}"
}
Сообщение OutboundShipmentOrderLineMessages
выглядит так, как показано в следующем примере.
POST {{resource}}/data/OutboundShipmentOrderLineMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"OrderLineNumber": 1,
"ItemNumber": "A0001",
"OrderedQuantity": 10,
"OrderedUnitSymbol": "Pcs"
}
Чтобы зафиксировать сообщения, опубликуйте завершенное сообщение для заголовка. Полное сообщение выглядит примерно так, как показано в следующем примере.
POST {{resource}}/data/OutboundShipmentOrderMessages(MessageId='{{MessageId}}', dataAreaId='{{dataAreaId}}',SourceSystemId='{{SourceSystem}}', OrderNumber='{{OrderNumber}}')/Microsoft.Dynamics.DataEntities.Complete?cross-company=true
Примечание
Значение dataAreaId
используется как часть ключа для сопоставления с выпущенными сообщениями заголовка и строк. Поэтому должно быть указано значение dataAreaId
. Суффикс ?cross-company=true
необходим только для сообщений, в которых компания отличается от компании пользователя по умолчанию, настроенной на странице Приложения Microsoft Entra ID.
Сообщения обработчика сообщений для заказов на отгрузку
После того как два документа импортированы в очередь сообщений, вы должны использовать обработчик сообщений для их обработки и создания фактических заказов на входящие и исходящие отгрузки.