Udostępnij za pośrednictwem


Przykład użycia przychodzących i wychodzących zamówień wysyłki

Banknot

Azure Active Directory jest teraz Tożsamością Microsoft Entra. Dowiedz się więcej

W tym artykule przedstawiono przykładowy scenariusz tworzenia przychodzących i wychodzących zamówień wysyłki za pośrednictwem przetwarzania komunikatu. Wykorzystuje standardowe przykładowe dane powiązane z USMF przykładową osobą prawną (firmą).

Jak testować przetwarzanie tworzenia

Aby spróbować wykonać proces tworzenia przychodzących i wychodzących zamówień wysyłki za pomocą wiadomości, ustaw opcje Włącz ręczne tworzenie wiadomości wychodzących zamówień wysyłki i Włącz opcję ręcznego tworzenia wiadomości o przychodzących zamówieniach wysyłki na wartość Tak dla odpowiedniego rekordu systemu źródłowego. Następnie można tworzyć wiadomości zamówienia wysyłki bezpośrednio na stronach Wiadomości o zamówieniu wysyłki wychodzącej i Wiadomości o zamówieniu wysyłki przychodzącej.

Innym szybkim sposobem zaksięgowania przykładowych wiadomości jest użycie żądań Open Data Protocol (OData).

W obu przykładach procesor komunikatów przetwarza Microsoft Dynamics 365 Supply Chain Management komunikaty i tworzy zamówienia w systemie magazynowym.

Wskazówka

Aby całkowicie pominąć procesy tworzenia zamówień wysyłki za pośrednictwem wiadomości, można tworzyć przychodzące zamówienia wysyłki i zamówienia wysyłek wychodzących bezpośrednio na stronach zamówień, umożliwiając włączanie ręcznego tworzenia zamówień wysyłki przychodzącej i włączanie ustawień ręcznego tworzenia wychodzących zamówień wysyłkowych dla systemu źródłowego.

Ta sama logika struktury komunikatów dotyczy zarówno przychodzących, jak i wychodzących komunikatów o zamówieniu wysyłki:

  • Nagłówek zamówienia

    • Wiersz zamówienia 1

    • Wiersz zamówienia 2

    • Numer wiersza zamówienia n

  • Zakończ

Wskazówka

Aby uzyskać więcej przykładów żądań HTTP do tworzenia komunikatów i integrowania danych podstawowych zapasów i produktów, przejdź do repozytorium dynamics365scm-warehouse w witrynie GitHub.

Wymagania wstępne

Przed przystąpieniem do pracy z tym przykładem przy użyciu środowiska Supply Chain Management należy przygotować system w następujący sposób:

Konfiguracja uwierzytelniania z przykładu

Na stronie Microsoft Entra Aplikacje identyfikacyjne, przypisz użytkownika Admin do klienta, który jest używany do uwierzytelniania podczas interakcji ze środowiskiem Supply Chain Management ze źródła zewnętrznego. Alternatywnie przypisz innego użytkownika, który ma dostęp do uwierzytelniania do komunikatów integracji, np. domyślnej roli Operator Integracji Systemów Magazynowych. Jeśli w ramach importu danych podstawowych produktu korzystasz z tego samego użytkownika, do roli Operatora integracji systemu magazynowego należy dodać więcej uprawnień związanych z jednostkami danych podstawowych produktu.

Publikując jednostki za pośrednictwem OData, musisz upewnić się, że domyślna firma użytkownika odpowiada firmie, do której dana jednostka zostanie wysłana, albo że firma (dataAreaId wartość) jest określona w komunikatach ładunku żądania. Tak czy inaczej, komunikaty o zamówieniu wysyłki można wypełnić tylko wtedy, gdy określono firmę (dataAreaId wartość).

Utwórz komunikaty dotyczące zamówień wysyłki

Przykład prostego komunikatu przychodzącego o zamówieniu przesyłki

W przypadku InboundShipmentOrderMessages wiadomości nagłówka zamówienia przesyłki przychodzącej należy podać co najmniej następujące dane:

  • MessageId: M1
  • dataAreaId: USMF (Opcjonalnie, w zależności od domyślnej firmy użytkownika autoryzacji)
  • SourceSystemId: ERP
  • OrderNumber: IO1
  • ReceivingWarehouseId: 51

Gdy używasz ze zmiennymi, wiadomość InboundShipmentOrderMessages wygląda jak w poniższym przykładzie.

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

Wiadomość InboundShipmentOrderLineMessages wygląda jak w poniższym przykładzie.

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

Aby zatwierdzić wiadomości, opublikuj kompletną wiadomość dotyczącą nagłówka i linii. Ukończona wiadomość wygląda jak w poniższym przykładzie.

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

Banknot

Wartość dataAreaId jest używana jako część klucza w celu dopasowania do zwolnionych komunikatów nagłówkowych i liniowych. Dlatego też musi być określona dataAreaIdwartość bazowa atrybutu. Sufiks ?cross-company=true jest wymagany tylko w przypadku wiadomości, w których firma różni się od firmy domyślnej użytkownika skonfigurowanej na stronie Microsoft Entra Aplikacje identyfikacyjne .

Przykład prostego komunikatu wychodzącego o zamówieniu przesyłki

W przypadku OutboundShipmentOrderMessages wiadomości nagłówka zamówienia przesyłki wychodzącej należy podać co najmniej następujące dane:

  • MessageId: M2
  • dataAreaId: USMF (Opcjonalnie, w zależności od domyślnej firmy użytkownika autoryzacji)
  • SourceSystemId: ERP
  • OrderNumber: OO1
  • ShipFromWarehouseId: 51
  • ConsigneeName lub ReceiverName: Microsoft
  • ConsigneeCountryRegionId lub ReceiverCountryRegionId: USA

Gdy używasz ze zmiennymi, wiadomość OutboundShipmentOrderMessages wygląda jak w poniższym przykładzie.

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

Wiadomość OutboundShipmentOrderLineMessages wygląda jak w poniższym przykładzie.

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

Aby zatwierdzić wiadomości, opublikuj kompletną wiadomość dotyczącą nagłówka i linii. Ukończona wiadomość wygląda jak w poniższym przykładzie.

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

Banknot

Wartość dataAreaId jest używana jako część klucza w celu dopasowania do zwolnionych komunikatów nagłówkowych i liniowych. Dlatego też musi być określona dataAreaIdwartość bazowa atrybutu. Sufiks ?cross-company=true jest wymagany tylko w przypadku wiadomości, w których firma różni się od firmy domyślnej użytkownika skonfigurowanej na stronie Microsoft Entra Aplikacje identyfikacyjne .

Komunikaty procesora wiadomości dotyczące zamówień wysyłkowych

Po zaimportowaniu dwóch dokumentów do kolejki wiadomości musisz użyć procesora wiadomości w celu ich przetworzenia i utworzenia rzeczywiste zamówienia na przesyłki przychodzące i wychodzące.