Ejemplo de uso de pedidos de envío entrantes y salientes

Nota

Azure Active Directory ahora es Microsoft Entra ID. Más información

Este artículo proporciona un escenario de ejemplo que muestra cómo crear pedidos de envío entrantes y salientes a través del procesamiento de mensajes. Utiliza los datos de muestra estándar asociados con la entidad jurídica (empresa) de ejemplo USMF.

Cómo probar el proceso de creación

Para probar el proceso de creación de pedidos de envío entrantes y salientes a través de mensajes, configure Habilitar creación manual de mensajes de pedidos de envío salientes y Habilitar creación de mensajes de pedido de envío entrante manual en para el registro de un sistema fuente. Luego, puede crear mensajes de orden de envío directamente en las páginas Mensajes de orden de envío saliente y Mensajes de orden de envío entrante .

Otra forma rápida de publicar mensajes de ejemplo es utilizar solicitudes de Protocolo de datos abierto (OData).

En ambos casos de ejemplo, el procesador de mensajes en Microsoft Dynamics 365 Supply Chain Management luego procesa los mensajes y crea los pedidos en el sistema de almacén.

Sugerencia

Para omitir completamente los procesos de creación de órdenes de envío a través de mensajes, puede crear las órdenes de envío entrantes y las órdenes de envío salientes directamente en las páginas de pedidos al permitir Habilitar la creación manual de órdenes de envío entrantes y Habilitar la creación manual de órdenes de envío saliente para un sistema de origen.

La misma lógica de estructura de mensajes se aplica a los mensajes de orden de envío entrantes y salientes:

  • Encabezado de pedido

    • Línea de pedido 1

    • Línea de pedido 2

    • Línea de pedido n

  • Completada

Sugerencia

Para obtener más ejemplos de solicitudes HTTP para crear mensajes e integrar datos maestros de inventario y productos, vaya al repositorio dynamics365scm-warehouse en GitHub .

Requisitos previos

Antes de poder trabajar en este ejemplo utilizando un entorno de Supply Chain Management, debe preparar su sistema de la siguiente manera:

Configurar la autenticación para el ejemplo

En la página Microsoft Entra Id. de aplicaciones, asigne el usuario Administrador al cliente que se utiliza para la autenticación durante la interacción con el entorno de Supply Chain Management desde una fuente externa. Como alternativa, asigne otro usuario que tenga acceso de autenticación a los mensajes de integración, como el rol predeterminado Operador de integración del sistema de almacén. Si utiliza el mismo usuario como parte de la importación de datos maestros del producto, se deben agregar más privilegios relacionados con entidades de datos maestros del producto al rol Operador de integración del sistema de almacén.

Cuando publica entidades a través de OData, debe asegurarse de que la empresa predeterminada del usuario coincida con la empresa en la que se publicará la entidad, o que la empresa (valor dataAreaId) se especifica en los mensajes de carga útil de la solicitud. De cualquier manera, los mensajes de orden de envío solo se pueden completar si se especifica la empresa (valor dataAreaId).

Crear mensajes de pedido de envío

Ejemplo de un mensaje de orden de envío entrante sencillo

Para el mensaje de encabezado de orden de envío entrante InboundShipmentOrderMessages, debe proporcionar los siguientes datos como mínimo:

  • MessageId: M1
  • dataAreaId: USMF (Opcional, dependiendo de la empresa usuaria de autorización predeterminada)
  • SourceSystemId: ERP
  • OrderNumber: IO1
  • ReceivingWarehouseId: 51

Cuando usa variables, el mensaje InboundShipmentOrderMessages se parece al siguiente ejemplo.

POST {{resource}}/data/InboundShipmentOrderMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"ReceivingWarehouseId": "{{Warehouse}}"
}

El mensaje InboundShipmentOrderLineMessages se parece al siguiente ejemplo.

POST {{resource}}/data/InboundShipmentOrderLineMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"OrderLineNumber": 1,
"ItemNumber": "A0001",
"ExpectedQuantity": 10,
"ExpectedUnitSymbol": "Pcs"
}

Para confirmar los mensajes, publique un mensaje completo para el encabezado y las líneas. El mensaje completo se parece al siguiente ejemplo.

POST {{resource}}/data/InboundShipmentOrderMessages(MessageId='{{MessageId}}', dataAreaId='{{dataAreaId}}',SourceSystemId='{{SourceSystem}}', OrderNumber='{{OrderNumber}}')/Microsoft.Dynamics.DataEntities.Complete?cross-company=true

Billete

El valor dataAreaId se utiliza como parte de la clave para compararlo con el encabezado publicado y los mensajes de línea. Por lo tanto se debe especificar el valor del atributo dataAreaId. El sufijo ?cross-company=true solo es necesario para mensajes en los que la empresa difiere de la empresa predeterminada del usuario que está configurada en la página de Solicitudes de Microsoft Entra ID.

Ejemplo de un mensaje de orden de envío saliente sencillo

Para el mensaje de encabezado de orden de envío saliente OutboundShipmentOrderMessages, debe proporcionar los siguientes datos como mínimo:

  • MessageId: M2
  • dataAreaId: USMF (Opcional, dependiendo de la empresa usuaria de autorización predeterminada)
  • SourceSystemId: ERP
  • OrderNumber: OO1
  • ShipFromWarehouseId: 51
  • ConsigneeName o ReceiverName: Microsoft
  • ConsigneeCountryRegionId o ReceiverCountryRegionId: Estados Unidos

Cuando usa variables, el mensaje OutboundShipmentOrderMessages se parece al siguiente ejemplo.

POST {{resource}}/data/OutboundShipmentOrderMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"ShipFromWarehouseId": "{{Warehouse}}",
"ConsigneeName": "{{ConsigneeName}}",
"ConsigneeCountryRegionId": "{{ConsigneeCountryRegionId}}"
}

El mensaje OutboundShipmentOrderLineMessages se parece al siguiente ejemplo.

POST {{resource}}/data/OutboundShipmentOrderLineMessages
{
"MessageId": "{{MessageId}}",
"dataAreaId": "{{dataAreaId}}",
"SourceSystemId": "{{SourceSystem}}",
"OrderNumber": "{{OrderNumber}}",
"OrderLineNumber": 1,
"ItemNumber": "A0001",
"OrderedQuantity": 10,
"OrderedUnitSymbol": "Pcs"
}

Para confirmar los mensajes, publique un mensaje completo para el encabezado. El mensaje completo se parece al siguiente ejemplo.

POST {{resource}}/data/OutboundShipmentOrderMessages(MessageId='{{MessageId}}', dataAreaId='{{dataAreaId}}',SourceSystemId='{{SourceSystem}}', OrderNumber='{{OrderNumber}}')/Microsoft.Dynamics.DataEntities.Complete?cross-company=true

Billete

El valor dataAreaId se utiliza como parte de la clave para compararlo con el encabezado publicado y los mensajes de línea. Por lo tanto se debe especificar el valor del atributo dataAreaId. El sufijo ?cross-company=true solo es necesario para mensajes en los que la empresa difiere de la empresa predeterminada del usuario que está configurada en la página de Solicitudes de Microsoft Entra ID.

Mensajes del procesador de mensajes para pedidos de envío

Después de importar los dos documentos a la cola de mensajes, debe utilizar el procesador de mensajes para procesarlos y crear las órdenes de envío entrantes y salientes reales.