Esempio di utilizzo degli ordini di spedizione in entrata e in uscita

Nota

Azure Active Directory ora è Microsoft Entra ID. Ulteriori informazioni

Questo articolo fornisce uno scenario di esempio che mostra come creare ordini di spedizione in entrata e in uscita tramite l'elaborazione dei messaggi. Utilizza i dati campione standard associati alla persona giuridica (società) USMF.

Come testare il processo di creazione

Per provare il processo di creazione degli ordini di spedizione in entrata e in uscita tramite messaggi, imposta le opzioni Abilitare la creazione manuale del messaggio dell'ordine di spedizione in uscita e Abilitare la creazione manuale del messaggio dell'ordine di spedizione in entrata su per il record Sistema di origine. È quindi possibile creare messaggi dell'ordine di spedizione direttamente nelle pagine Messaggi dell'ordine di spedizione in uscita e Messaggi dell'ordine di spedizione in entrata .

Un altro modo rapido per pubblicare messaggi di esempio è utilizzare le richieste Open Data Protocol (OData).

In entrambi gli esempi, il processore messaggi in Microsoft Dynamics 365 Supply Chain Management elabora quindi i messaggi e crea gli ordini vengono creati nel sistema di magazzino.

Suggerimento

Per saltare completamente i processi di creazione dell'ordine di spedizione tramite messaggi, è possibile creare gli ordini di spedizione in entrata e gli ordini di spedizione in uscita direttamente nelle pagine dell'ordine consentendo le impostazioni Abilitare la creazione manuale dell'ordine di spedizione in entrata e Abilitare la creazione manuale dell'ordine di spedizione in uscita per un sistema di origine.

La stessa logica della struttura del messaggio si applica sia ai messaggi dell'ordine di spedizione in entrata che a quelli in uscita:

  • Intestazione ordine

    • Riga ordine 1

    • Riga ordine 2

    • Riga ordine n.

  • Completa

Suggerimento

Per ulteriori esempi di richieste HTTP per la creazione di messaggi e l'integrazione di dati master di inventario e prodotto, vai al repository dynamics365scm-warehouse su GitHub.

Prerequisiti

Prima di poter utilizzare questo esempio utilizzando un ambiente di Supply Chain Management, è necessario preparare il sistema nel modo seguente:

Configurare l'autenticazione per l'esempio

Nella pagina Applicazioni Microsoft Entra ID, assegna l'utente Admin al client utilizzato per l'autenticazione durante l'interazione con l'ambiente di Supply Chain Management da un'origine esterna. In alternativa, assegna un altro utente che dispone dell'accesso di autenticazione ai messaggi di integrazione, come il ruolo Operatore di integrazione del sistema di gestione magazzino predefinito. Se utilizzi lo stesso utente come parte dell'importazione dei dati maste del prodotto, è necessario aggiungere più privilegi correlati alle entità dei dati master del prodotto al ruolo Operatore di integrazione del sistema di gestione magazzino.

Quando pubblichi entità tramite OData, devi assicurarti che la società predefinita dell'utente corrisponda alla società in cui verrà pubblicata l'entità o che la società (valore dataAreaId) è specificato nei messaggi di payload della richiesta. In ogni caso, i messaggi dell'ordine di spedizione possono essere completati solo se viene specificata la societò (valore dataAreaId).

Creare messaggi dell'ordine di spedizione

Esempio di un semplice messaggio di ordine di spedizione in entrata

Per il messaggio con intestazione dell'ordine di spedizione in entrata InboundShipmentOrderMessages, è necessario fornire almeno i seguenti dati:

  • MessageId: M1
  • dataAreaId: USMF (Facoltativo, a seconda della società dell'utente con autorizzazione predefinita)
  • SourceSystemId: ERP
  • OrderNumber: IO1
  • ReceivingWarehouseId: 51

Quando utilizzi le variabili , il messaggio InboundShipmentOrderMessages si presenta come nell'esempio seguente.

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

Il messaggio InboundShipmentOrderLineMessages è simile al seguente esempio.

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

Per eseguire il commit dei messaggi, pubblica un messaggio completo per l'intestazione e le righe. Il messaggio completo è simile al seguente esempio.

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

Nota

Il valore dataAreaId viene utilizzato come parte della chiave per la corrispondenza con l'intestazione rilasciata e i messaggi di riga. Pertanto, il valore dataAreaId deve essere specificato. Il suffisso ?cross-company=true è obbligatorio solo per i messaggi in cui l'azienda è diversa dall'azienda predefinita dell'utente configurata nella pagina Applicazioni Microsoft Entra ID.

Esempio di un semplice messaggio di ordine di spedizione in uscita

Per il messaggio con intestazione dell'ordine di spedizione in uscita OutboundShipmentOrderMessages, è necessario fornire almeno i seguenti dati:

  • MessageId: M2
  • dataAreaId: USMF (Facoltativo, a seconda della società dell'utente con autorizzazione predefinita)
  • SourceSystemId: ERP
  • OrderNumber: OO1
  • ShipFromWarehouseId: 51
  • ConsigneeName o ReceiverName: Microsoft
  • ConsigneeCountryRegionId o ReceiverCountryRegionId: USA

Quando utilizzi le variabili , il messaggio OutboundShipmentOrderMessages si presenta come nell'esempio seguente.

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

Il messaggio OutboundShipmentOrderLineMessages è simile al seguente esempio.

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

Per eseguire il commit dei messaggi, pubblica un messaggio completo per l'intestazione. Il messaggio completo è simile al seguente esempio.

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

Nota

Il valore dataAreaId viene utilizzato come parte della chiave per la corrispondenza con l'intestazione rilasciata e i messaggi di riga. Pertanto, il valore dataAreaId deve essere specificato. Il suffisso ?cross-company=true è obbligatorio solo per i messaggi in cui l'azienda è diversa dall'azienda predefinita dell'utente configurata nella pagina Applicazioni Microsoft Entra ID.

Messaggi del processore messaggi per gli ordini di spedizione

Dopo che i due documenti sono stati importati nella coda dei messaggi, è necessario utilizzare il processore di messaggi per elaborarli e creare gli effettivi ordini di spedizione in entrata e in uscita.