Ejemplo de uso de pedidos de envío entrantes y salientes
Nota
Azure Active Directory ahora es Microsoft Entra ID. Aprende más
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 Sí para el registro de un sistema fuente. A continuación, puede crear mensajes de pedido de envío directamente en las páginas Mensajes de pedido de envío saliente y Mensajes de pedido 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 procesa Microsoft Dynamics 365 Supply Chain Management 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 de inventario y productos maestros, 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:
- Verifique los requisitos de la versión y habilite la función como se describe en Habilitar y configurar el modo solo de administración de almacén.
- Trabaje en un sistema que tenga los datos de demostración estándar instalados y seleccione la entidad jurídica USMF.
- Configure al menos un registro en la página Sistemas de origen. Este escenario de ejemplo supone que ha configurado un sistema de origen donde el campo Sistema de origen está configurado en ERP. Para obtener más información, consulte Configurar sus sistemas de origen.
- Configure las secuencias numéricas requeridas como se describe en Configurar secuencias numéricas.
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
: M1dataAreaId
: USMF (opcional, según la empresa del usuario de autorización predeterminada)SourceSystemId
: ERPOrderNumber
: IO1ReceivingWarehouseId
: 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
: M2dataAreaId
: USMF (opcional, según la empresa del usuario de autorización predeterminada)SourceSystemId
: ERPOrderNumber
: OO1ShipFromWarehouseId
: 51ConsigneeName
oReceiverName
: MicrosoftConsigneeCountryRegionId
oReceiverCountryRegionId
: EE. UU.
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.