Partager via


Exemple d’utilisation des ordres d’expédition entrants et sortants

Note

Azure Active Directory est maintenant Microsoft Entra ID. En savoir plus

Cet article fournit un exemple de scénario qui montre comment créer des ordres d’expédition entrants et sortants via le traitement des messages. Il utilise les exemples de données standard associés à l’entité juridique fictive USMF (société).

Procédure de test du processus de création

Pour tester le processus de création d’ordres d’expédition entrants et sortants via des messages, définissez les options Activer la création manuelle de messages d’ordre d’expédition sortant et Activer la création de message d’ordre d’expédition entrant manuel sur Oui pour l’enregistrement Système source approprié. Vous pouvez ensuite créer des messages de commande d’expédition directement sur les pages Messages de commande d’expédition sortante et Messages de commande d’expédition entrante .

Un autre moyen rapide de publier des exemples de messages consiste à utiliser des requêtes Open Data Protocol (OData).

Dans les deux exemples, le processeur de messages de Microsoft Dynamics 365 Supply Chain Management traite alors le message et les ordres sont créés dans le système d’entrepôt.

Conseil

Pour ignorer complètement les processus de création d’ordres d’expédition via des messages, vous pouvez créer les ordres d’expédition entrants et les ordres d’expédition sortants directement sur les pages de commande en autorisant l’option Activer la création manuelle des ordres d’expédition entrants et Activer les paramètres de création manuelle des ordres d’expédition sortants pour un système source.

La même logique de structure de message s’applique aux messages d’ordre d’expédition entrante et sortante :

  • En-tête de commande

    • Ligne d’ordre 1

    • Ligne d’ordre 2

    • Ligne d’ordre n

  • Complète

Conseil

Pour plus d’exemples de requêtes HTTP permettant de créer des messages et d’intégrer les données principales d’inventaire et de produit, accédez au référentiel Dynamics365scm-warehouse sur GitHub.

Logiciels requis

Avant de pouvoir travailler sur cet exemple en utilisant un environnement Supply Chain Management, vous devez préparer votre système de la manière suivante :

Configurer l’authentification pour l’exemple

Sur la page Applications Microsoft Entra ID, attribuez l’utilisateur Admin au client utilisé pour l’authentification lors de l’interaction avec l’environnement Supply Chain Management à partir d’une source externe. Vous pouvez également attribuer un autre utilisateur disposant d’un accès d’authentification aux messages d’intégration, tel que le rôle par défaut Opérateur d’intégration de systèmes d’entrepôt. Si vous utilisez le même utilisateur dans le cadre de l’importation des données de référence du produit, davantage de privilèges liés aux entités de données de référence du produit doivent être ajoutés au rôle Opérateur d’intégration de systèmes d’entrepôt.

Lorsque vous publiez des entités via OData, vous devez vous assurer, soit que la société par défaut de l’utilisateur correspond à la société dans laquelle l’entité sera publiée, soit que la société (valeur dataAreaId) est spécifiée dans les messages de charge utile de la requête. Dans tous les cas, les messages d’ordre d’expédition ne peuvent être complétés que si la société (valeur dataAreaId) est spécifiée.

Créer des messages d’ordre d’expédition

Exemple d’un message d’ordre d’expédition entrante simple

Pour le message d’en-tête d’ordre d’expédition entrante InboundShipmentOrderMessages, vous devez fournir au minimum les données suivantes :

  • MessageId : M1
  • dataAreaId : USMF (Facultatif, en fonction de l’entreprise utilisatrice de l’autorisation par défaut)
  • SourceSystemId : ERP
  • OrderNumber : IO1
  • ReceivingWarehouseId : 51

Quand vous utilisez avec des variables, le message InboundShipmentOrderMessages ressemble à l’exemple suivant.

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

Le message InboundShipmentOrderLineMessages ressemble à l’exemple suivant.

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

Pour valider les messages, publiez un message complet pour l’en-tête et les lignes. Le message complet ressemble à l’exemple suivant.

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

Remarque

La valeur dataAreaId est utilisée dans le cadre de la clé pour correspondre aux messages d’en-tête et de ligne publiés. La valeur dataAreaId doit donc être précisée. Le suffixe ?cross-company=true est requis uniquement pour les messages dans lesquels la société diffère de la société par défaut de l’utilisateur configuré sur la page Applications Microsoft Entra ID.

Exemple d’un message d’ordre d’expédition sortante simple

Pour le message d’en-tête d’ordre d’expédition sortante OutboundShipmentOrderMessages, vous devez fournir au minimum les données suivantes :

  • MessageId : M2
  • dataAreaId : USMF (Facultatif, en fonction de l’entreprise utilisatrice de l’autorisation par défaut)
  • SourceSystemId : ERP
  • OrderNumber : OO1
  • ShipFromWarehouseId : 51
  • ConsigneeName ou ReceiverName : Microsoft
  • ConsigneeCountryRegionId ou ReceiverCountryRegionId : USA

Quand vous utilisez avec des variables, le message OutboundShipmentOrderMessages ressemble à l’exemple suivant.

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

Le message OutboundShipmentOrderLineMessages ressemble à l’exemple suivant.

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

Pour valider les messages, publiez un message complet pour l’en-tête. Le message complet ressemble à l’exemple suivant.

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

Remarque

La valeur dataAreaId est utilisée dans le cadre de la clé pour correspondre aux messages d’en-tête et de ligne publiés. La valeur dataAreaId doit donc être précisée. Le suffixe ?cross-company=true est requis uniquement pour les messages dans lesquels la société diffère de la société par défaut de l’utilisateur configuré sur la page Applications Microsoft Entra ID.

Messages du processeur de messages pour les ordres d’expédition

Une fois les deux documents importés dans la file d’attente des messages, vous devez utiliser le processeur de messages pour les traiter et créer les ordres d’expédition entrante et sortante proprement dits.