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 :
- Vérifiez les exigences de version et activez la fonctionnalité comme décrit dans Activer et configurer le mode de Gestion des entrepôts uniquement.
- Travaillez dans un système où les données de démonstration standard sont installées, et sélectionnez l’entité juridique USMF.
- Configurez au moins un enregistrement sur la page Systèmes sources. Cet exemple de scénario suppose que vous avez configuré un système source dans lequel le champ Système source est défini sur ERP. Pour plus d’informations, voir Configuration de vos systèmes sources.
- Configurez les souches de numéros requises comme décrit dans Configurer les souches de numéros.
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
ouReceiverName
: Microsoft -
ConsigneeCountryRegionId
ouReceiverCountryRegionId
: 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.