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:
- Sprawdź wymagania dotyczące wersji i włącz funkcję zgodnie z opisem w Włącz i skonfiguruj tryb samego zarządzania magazynem.
- Pracuj w systemie, w którym są zainstalowane standardowe dane demonstracyjne i wybierz firmę USMF.
- Skonfiguruj co najmniej jeden rekord w stronie Systemy źródłowe. W tym przykładowym scenariuszu założono, że skonfigurowałeś system źródłowy, w którym pole System źródłowy jest ustawione na ERP. Aby uzyskać więcej informacji, zobacz Konfigurowanie systemów źródłowych.
- Skonfiguruj wymagane sekwencje numerów zgodnie z opisem w Skonfiguruj sekwencje numerów.
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
: M1dataAreaId
: USMF (Opcjonalnie, w zależności od domyślnej firmy użytkownika autoryzacji)SourceSystemId
: ERPOrderNumber
: IO1ReceivingWarehouseId
: 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 dataAreaId
wartość 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
: M2dataAreaId
: USMF (Opcjonalnie, w zależności od domyślnej firmy użytkownika autoryzacji)SourceSystemId
: ERPOrderNumber
: OO1ShipFromWarehouseId
: 51ConsigneeName
lubReceiverName
: MicrosoftConsigneeCountryRegionId
lubReceiverCountryRegionId
: 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 dataAreaId
wartość 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.