Udostępnij za pośrednictwem


Widoczność dostępnych zapasów — harmonogramy zmian i dostępność zapasów

W tym artykule opisano sposób skonfigurowania funkcji planowania zmian dostępnych towarów w celu planowania przyszłych zmian dostępnych towarów i obliczania ilości dostępnych towarów (ATP). ATP to ilość towaru, która jest dostępna i którą można obiecać klientowi w następnym okresie. Użycie kalkulacji może znacznie zwiększyć twoje możliwości realizacji zamówień.

Dla wielu producentów, detalistów czy sprzedawców nie wystarczy wiedzieć, co jest aktualnie w magazynie. Muszą mieć pełny wgląd w przyszłą dostępność. Przyszła dostępność powinna uwzględniać przyszłą podaż, przyszły popyt i ATP.

Obliczone miary ilości ATP

Miara obliczona ATP jest wstępnie zdefiniowaną miarą obliczaną, która jest zwykle używana do znalezienia dostępnej ilości, która jest obecnie dostępna. Wielkość podaży jest sumą ilości dla tych środków fizycznych, które mają modyfikator typu dodanie, a wielkość popytu jest sumą ilości dla tych środków fizycznych, które mają modyfikator typu odjęcie.

Możesz dodać wiele działań obliczeniowych, aby obliczyć wiele ilości ATP. Jednakże całkowita liczba odrębnych środków fizycznych we wszystkich środkach obliczanych w ramach ATP powinna być mniejsza niż dziewięć.

Ważne

Obliczona miara jest złożeniem miar fizycznych. Jego formuła może zawierać tylko miary fizyczne bez duplikatów, a nie miary obliczone.

Na przykład konfigurujesz następującą miarę wyliczaną:

Dostępne zapasy= (PhysicalInvent OnHand Unrestricted + QualityInspection + Inbound + ) – ( + RereservePhysicalSoftReservePhysicalOutbound + ) +

Suma (PhysicalInvent + OnHand + Unrestricted + QualityInspection + Inbound) reprezentuje podaż, a suma (ReservPhysical + SoftReservePhysical + Outbound) reprezentuje popyt. W związku z tym obliczoną miarę można zrozumieć w następujący sposób:

Dostępna = podaż i popyt

Możesz dodać inną wyliczoną miarę, aby obliczyć fizyczną ilość ATP na rękę.

On-hand-physical= ( PhysicalInventOnHand Unrestricted + + QualityInspection + Inbound + ) – (Wychodzące)

Istnieje osiem odrębnych miar fizycznych dla tych dwóch obliczonych miar ATP: PhysicalInvent, OnHand, Unrestricted, QualityInspection, Inbound, ReservPhysical, SoftReservePhysical i Outbound.

Aby uzyskać więcej informacji o miarach wyliczanych, zobacz: Obliczone miary.

Włącz i skonfiguruj harmonogram zmian na bieżąco oraz ATP w wersji interfejsu użytkownika 2

Ta sekcja ma zastosowanie w przypadku korzystania z interfejsu widoczności magazynu w wersji 2.

Aby było można używać ATP, należy skonfigurować co najmniej jedną obliczoną miarę obliczania ilości ATP. Należy również włączyć tę funkcję i skonfigurować ustawienia ATP w programie Microsoft Power Apps.

Wykonaj poniższe czynności, aby włączyć funkcję Harmonogram zmian dostępnych na rękę w Power Apps i skonfigurować ustawienia ATP.

  1. Zaloguj się do Power Apps i otwórz dodatek Widoczność magazynu.

  2. W okienku nawigacji wybierz opcję Zarządzanie funkcjami.

  3. Na kafelku Dostępne do obiecania wybierz opcję Zarządzaj.

  4. Ustaw opcję Włącz funkcję na Prawda, aby włączyć funkcję ATP.

  5. Ustaw opcję Harmonogram na 180 dni na Prawda, aby obsługiwać dłuższy okres harmonogramu ATP (180 dni).

    Ważne

    Domyślnie funkcja ATP jest ograniczona do siedmiu dni. Funkcje siedmiodniowego ATP i 180-dniowego ATP są od siebie odrębne i niezależne. Zmiany w harmonogramie utworzone lub zmodyfikowane przy użyciu funkcji ATP 7-dniowej nie zaczną obowiązywać po włączeniu funkcji ATP 180-dniowej. Jeśli korzystałeś z funkcji 7-dniowego ATP i chcesz przejść na funkcję 180-dniową, zalecamy usunięcie starych danych i ponowne opublikowanie aktualnego harmonogramu zmian po włączeniu funkcji 180-dniowej.

  6. Ustaw pole Zaplanuj okres na liczbę dni, przez które użytkownicy mogą wyświetlać i przesyłać zaplanowane zmiany dostępnych zapasów. Użytkownicy, którzy zawierają kwerendy dotyczące informacji o zapasach, otrzymają informacje na temat ilości w magazynie, zaplanowanych zmian zapasów oraz ilości ATP dla każdego dnia w tym okresie, począwszy od bieżącej daty. Maksymalna wartość tego pola to 180 dni. Domyślnie jest ustawiony na 30 dni. Dlatego możesz zaplanować zmiany na maksymalnie 30 dni od dzisiaj.

    Ważne

    Okres harmonogramu zawiera bieżącą datę. Dzięki temu użytkownicy mogą planować zmiany w stanie, tak aby zostały wprowadzone w dowolnym czasie od daty bieżącej (dzień, w którym zmiana jest przesłana) do dnia (okres planowania – 1) dnia w przyszłości.

  7. W sekcji Zaplanuj środki skonfiguruj środki harmonogramu. Można używać istniejących miar obliczeniowych jako miar harmonogramu lub tworzyć nowe. Gdy wysyłasz zapytanie do Widoczności zapasów, wartość ATP jest udostępniana dla zdefiniowanych miar obliczonych na podstawie zaplanowanych zmian miar fizycznych komponentów. W sekcji Zaplanuj środki wybierz Nowa konfiguracja harmonogramu zmian pod ręką V2 na pasku narzędzi, aby dodać nowe powiązanie miary obliczeniowej dla ATP. Obliczona miara jest tym, czego chcesz użyć, aby znaleźć aktualnie dostępną ilość. Aby uzyskać więcej informacji o tworzeniu miar obliczanych, zobacz: Obliczone miary.

    Ważne

    Domyślna formuła obliczona ATP ma charakter poglądowy. Możesz modyfikować i dodawać inne źródła danych i miary fizyczne, aby skonfigurować prawidłowe obliczenia ATP dla swojej firmy.

  8. W sekcji Konfiguracja zestawu indeksów ATP skonfiguruj indeks ATP. Indeks ATP przypomina hierarchię indeksów produktów, która pozwala grupować wyniki zapytań według określonych wymiarów. Na przykład, jeśli ustawisz Identyfikator koloru i Identyfikator rozmiaru zgodnie z ustawionym indeksem ATP, wyniki zapytania zostaną pogrupowane według koloru i rozmiaru. Można mieć wiele zestawów indeksów.

    Ważne

    Domyślny Identyfikator koloru i Identyfikator rozmiaru indeks ma charakter poglądowy. Można usuwać wymiary i dodawać inne wymiary.

  9. Wybierz Zapisz.

  10. Po zakończeniu konfigurowania wszystkich wymaganych ustawień wybierz Aktualizuj konfigurację w obszarze Ustawienia administratora w panelu nawigacji.

Aby uzyskać więcej informacji, zobacz temat Uzupełnij i zaktualizuj konfigurację.

Włącz i skonfiguruj harmonogram zmian na bieżąco oraz ATP w wersji interfejsu użytkownika 1

Ta sekcja ma zastosowanie w przypadku korzystania z interfejsu widoczności magazynu w wersji 1.

Wykonaj poniższe czynności, aby włączyć funkcję Harmonogram zmian dostępnych na rękę w Power Apps i skonfigurować ustawienia ATP.

  1. Zaloguj się do Power Apps i otwórz dodatek Widoczność magazynu.

  2. Otwórz stronę Konfiguracja.

  3. Na karcie Zarządzanie funkcjami włącz funkcję Dostępność zapasów.

  4. Kliknij kartę Ustawienia ATP.

  5. Kwerenda widoczności magazynu zapewni wynik, który zawiera każdą z obliczanych miar ATP, która jest dodawania w tym miejscu. Wybierz przycisk Dodaj, aby dodać nową miarę wyliczaną dla ATP.

  6. Ustaw wartości w następujących polach:

    • Źródło danych— umożliwia wybór źródła danych skojarzonego z miarą obliczeniową.
    • Miara obliczana — umożliwia wybór miary obliczonej skojarzonej z wybranym źródłem danych, której chcesz użyć do znalezienia aktualnie dostępnej ilości zapasów.
    • Okres harmonogramu — wprowadź liczbę dni, przez które użytkownicy mogą wyświetlać i przesyłać zaplanowane zmiany dostępnych zapasów, gdy używana jest wybrana obliczona miara. Użytkownicy, którzy zawierają kwerendy dotyczące informacji o zapasach, otrzymają informacje na temat ilości w magazynie, zaplanowanych zmian zapasów oraz ilości ATP dla każdego dnia w tym okresie, począwszy od bieżącej daty. Wybierz liczbę całkowitą z liczby 1 do 7.

    Ważne

    Okres harmonogramu zawiera bieżącą datę. Dzięki temu użytkownicy mogą planować zmiany w stanie, tak aby zostały wprowadzone w dowolnym czasie od daty bieżącej (dzień, w którym zmiana jest przesłana) do dnia (okres planowania – 1) dnia w przyszłości.

  7. Wybierz opcję Zapisz.

  8. Powtarzaj kroki od 5 do 7, aż dodasz wszystkie miary obliczeniowe wymagane dla ATP.

  9. Po zakończeniu konfigurowania wszystkich wymaganych ustawień wybierz opcję Aktualizuj konfigurację.

Jak działa harmonogram podręcznych zmian i obliczenia ATP

Harmonogram zmian w ilości określa oczekiwane daty i ilości zaplanowanych zmian w dostępnej ilości. Możesz przesłać harmonogram zmian na bieżąco do funkcji Widoczność zasobów reklamowych, pod warunkiem, że daty mieszczą się w okresie zdefiniowanym w ustawieniu Zaplanuj okres (zobacz artykuł Włącz i skonfiguruj funkcje). Użytkownicy, którzy zawierają kwerendy dotyczące informacji o zapasach, otrzymają informacje na temat ilości w magazynie, zaplanowanych zmian zapasów oraz ilości ATP dla każdego dnia w tym okresie.

Zaplanowane zmiany są początkowo niezatwierdzone, dlatego nie mają wpływu na rzeczywiste dostępne ilości w systemie. Aby zatwierdzić zmiany, należy przesłać zdarzenie zmiany dostępnych zapasów, które aktualizuje faktycznie dostępną ilość. Następnie należy przywrócić zaplanowaną zmianę, przesyłając harmonogram zmian zapasów dla pasującej ilości ujemnej.

Można na przykład umieścić zamówienie na 10 osób, które ma być przyjeżdżać jutro. W związku z tym przesyłasz dostępny harmonogram zmian, który ma przychodzącą ilość 10 i jest datowany na jutro. Gdy zamówienie przybędzie następnego dnia, należy dodać zlecenie do fizycznie dostępnych zapasów. Następnie należy zatwierdzić zmianę w systemie, aby zaktualizować rzeczywistą ilość w zapasach. Aby zatwierdzić zmianę, należy przesłać zdarzenie zmiany ilości przychodzącej 10. Następnie cofasz zaplanowaną zmianę, przesyłając harmonogram dostępnych zmian, który ma przychodzącą ilość -10.

Kwerenda widoczności zapasów w odniesieniu do ilości dostępnych zapasów i ATP zwraca następujące informacje dla każdego dnia w okresie harmonogramu:

  • Data – data, do której odnosi się wynik. Strefą czasową jest uniwersalny czas koordynowany (UTC).
  • Ilość dostępnych zapasów— rzeczywista ilość dostępnych zapasów dla określonej daty. Obliczenia są dokonywane zgodnie z obliczoną miarą ATP skonfigurowaną dla widoczności zapasów.
  • Zaplanowana dostawa — Suma wszystkich zaplanowanych ilości przychodzących, które nie stały się fizycznie dostępne do natychmiastowego zużycia lub wysyłki w określonym dniu.
  • Zaplanowane zapotrzebowanie — suma wszystkich zaplanowanych ilości wychodzących, które nie zostały zużyte lub wysłane do określonej daty.
  • Ilość ATP— minimalna przewidywana ilość dostępnych zapasów, która jest dostępna od określonej daty do końca okresu harmonogramu. Ta ilość obejmuje wszystkie zaplanowane korekty ilości. Jest to maksymalna ilość, jaka może zostać obiecana w bieżącym dniu jako ilość dostawy lub zużycia tego dnia.

Na przykład, jeśli bieżąca data to 1 lutego 2022 r., a okres harmonogramu to 7, użytkownicy mogą przesłać zaplanowane zmiany w stanie, które mają wystąpić od 1 do 7 lutego 2022. W takim przypadku ilość ATP na przykład dla 3 lutego jest obliczana na podstawie dostępnej ilości dla tego dnia oraz zaplanowanych ilości od 3 lutego do 7 lutego.

Przykład

Poniższy przykład pokazuje, jak seria zaplanowanych zmian ilości wpływa na ilości dostępne i ATP raportowane w raporcie Widoczność zapasów. Pokazano w nim także sposób zatwierdzania zaplanowanej zmiany, wpływ zatwierdzonej zmiany harmonogramu na wyniki oraz na to, co może wystąpić, jeśli nie zostanie ona zaplanowana.

W wynikach w tym przykładzie jest pokazywana prognozowana wartość w ramach projektu. Ta wartość uwzględnia wszystkie zaplanowane aktualizacje dla celów ilustracji, ale nie jest w rzeczywistości raportowa podczas wykonywania kwerendy Widoczność zapasów.

  1. Następujące ustawienia są konfigurowane dla systemu na stronie ustawień ATP aplikacji Widoczność magazynu w Power Apps:

    • Planowanie miar — w tym miejscu jest dodawana miara obliczeniowa o nazwie Dostępne zapasy . Jest obliczana jako ilość Dostępne zapasy = podażpopyt.
    • Maksymalny okres harmonogramu (dni) – wartość jest ustawiona na 7.
    • Konfiguracja zestawu indeksów ATP – w tym miejscu dodawane są ColorId i SizeId .
  2. Należy uwzględnić też następujące warunki:

    • Obecna data to 1 lutego 2022 r.
    • Obecna ilość w kasie to 20.
  3. Dla daty bieżącej (1 lutego 2022) do widoczności zapasów przesyłasz zaplanowaną ilość zapotrzebowania 3. W związku z tym przewidywana dostępna ilość wynosi 17. Poniższa tabela przedstawia wynik.

    Data Dostępne zapasy Planowana dostawa Zaplanowany popyt Prognozowane są informacje o zdjętowanych ramach Dostępność zapasów
    2022-02-01 20 3 17 17
    2022-02-02 20 17 17
    2022-02-03 20 17 17
    2022-02-04 20 17 17
    2022-02-05 20 17 17
    2022-02-06 20 17 17
    2022-02-07 20 17 17
  4. W dniu bieżącym (1 lutego 2022) przesyłasz zaplanowaną ilość dostaw 10 na 3 lutego 2022. Poniższa tabela przedstawia wynik.

    Data Dostępne zapasy Planowana dostawa Zaplanowany popyt Prognozowane są informacje o zdjętowanych ramach Dostępność zapasów
    2022-02-01 20 3 17 17
    2022-02-02 20 17 17
    2022-02-03 20 10 27 27
    2022-02-04 20 27 27
    2022-02-05 20 27 27
    2022-02-06 20 27 27
    2022-02-07 20 27 27
  5. W dniu bieżącym (1 lutego 2022) można przesłać następujące zaplanowane zmiany ilości:

    • Ilość zapotrzebowania 15 na 4 lutego 2022
    • Ilość dostaw 1 na dzień 5 lutego 2022 r.
    • Ilość dostaw 3 na dzień 6 lutego 2022 r.

    Poniższa tabela przedstawia wynik.

    Data Dostępne zapasy Planowana dostawa Zaplanowany popyt Prognozowane są informacje o zdjętowanych ramach Dostępność zapasów
    2022-02-01 20 3 17 12
    2022-02-02 20 17 12
    2022-02-03 20 10 27 12
    2022-02-04 20 15 12 12
    2022-02-05 20 1 13 13
    2022-02-06 20 3 16 16
    2022-02-07 20 16 16
  6. W dniu bieżącym (1 lutego 2022 r.) wysyłasz zaplanowaną ilość zapotrzebowania wynoszącą 3. W związku z tym należy zatwierdzić tę zmianę, aby była ona odzwierciedlona w rzeczywistej ilości w zapasach. Aby zatwierdzić zmianę, należy przesłać zdarzenie zmiany ilości wychodzącej 3. Następnie cofasz zaplanowaną zmianę, przesyłając harmonogram dostępnych zmian, który ma wychodzącą ilość -3. Poniższa tabela przedstawia wynik.

    Data Dostępne zapasy Planowana dostawa Zaplanowany popyt Prognozowane są informacje o zdjętowanych ramach Dostępność zapasów
    2022-02-01 17 0 17 12
    2022-02-02 17 17 12
    2022-02-03 17 10 27 12
    2022-02-04 17 15 12 12
    2022-02-05 17 1 13 13
    2022-02-06 17 3 16 16
    2022-02-07 17 16 16
  7. Następnego dnia (2 lutego 2022) okres harmonogramu zmienia się w przód o jeden dzień. Poniższa tabela przedstawia wynik.

    Data Dostępne zapasy Planowana dostawa Zaplanowany popyt Prognozowane są informacje o zdjętowanych ramach Dostępność zapasów
    2022-02-02 17 17 12
    2022-02-03 17 10 27 12
    2022-02-04 17 15 12 12
    2022-02-05 17 1 13 13
    2022-02-06 17 3 16 16
    2022-02-07 17 16 16
    2022-02-08 17 16 16
  8. Jednak dwa dni później (4 lutego 2022) ilość dostawy 10 zaplanowana na 3 lutego wciąż nie nadeszła. Poniższa tabela przedstawia wynik.

    Data Dostępne zapasy Planowana dostawa Zaplanowany popyt Prognozowane są informacje o zdjętowanych ramach Dostępność zapasów
    2022-02-04 17 15 2 2
    2022-02-05 17 1 3 3
    2022-02-06 17 3 6 6
    2022-02-07 17 6 6
    2022-02-08 17 6 6
    2022-02-09 17 6 6
    2022-02-10 17 6 6

    Jak widać planowane (ale nie zatwierdzone) zmiany w stanie zapasów nie wpływają na rzeczywistą ilość w zapasach.

Przesyłanie harmonogramów zmian, zdarzeń zmian i kwerend ATP za pomocą interfejsu API

Poniższych adresów URL interfejsu programowania aplikacji (API) można używać do przesyłania harmonogramów zmian w stanie, zmieniania zdarzeń i kwerend.

Ścieżka Metoda Opis
/api/environment/{environmentId}/onhand/changeschedule POST Utwórz jedną zaplanowaną zmianę od ręki.
/api/environment/{environmentId}/onhand/changeschedule/bulk POST Utwórz wiele zaplanowanych zmian od ręki.
/api/environment/{environmentId}/onhand POST Tworzenie jednego zdarzenia zmiany dostępnych zapasów.
/api/environment/{environmentId}/onhand/bulk POST Tworzenie wielu zdarzeń zmiany.
/api/environment/{environmentId}/onhand/indexquery POST Zapytanie przy użyciu metody POST.
/api/environment/{environmentId}/onhand GET Zapytanie przy użyciu metody GET.
/api/environment/{environmentId}/onhand/exactquery POST Dokładne zapytanie przy użyciu metody POST.

Więcej informacji zawiera temat Publiczne interfejsy API widoczności zasobów reklamowych.

Utwórz jeden harmonogram zmian zapasów dostępnych od ręki

Harmonogram zmian dostępnych zapasów POST jest tworzony przez przesłanie żądania na odpowiedni adres URL usługi widoczności magazynu. Możesz również przesłać żądania zbiorcze.

Harmonogram zmian zapasów dostępnych od ręki może być utworzony tylko wtedy, gdy planowana data jest pomiędzy datą bieżącą a końcem bieżącego okresu harmonogramu. Format daty powinien być następujący: rok-miesiąc-dzień (np. 2022-02-01). Format czasu musi być dokładny tylko do jednego dnia.

Ten interfejs API tworzy pojedynczy harmonogram zmian w miejscu pracy.

Path:
    /api/environment/{environmentId}/onhand/changeschedule
Method:
    Post
Headers:
    Api-Version="1.0"
    Authorization="Bearer $access_token"
ContentType:
    application/json
Body:
    {
        id: string,
        organizationId: string,
        productId: string,
        dimensionDataSource: string, # optional
        dimensions: {
            [key:string]: string,
        },
        quantitiesByDate: {
            [datetime:datetime]: {
                [dataSourceName:string]: {
                    [key:string]: number,
                },
            },
        },
    }

W poniższym przykładzie pokazano zawartość przykładowej treści bez dimensionDataSource.

{
    "id": "id-bike-0001",
    "organizationId": "usmf",
    "productId": "Bike",
    "dimensions": {
        "SiteId": "1",
        "LocationId": "11",
        "ColorId": "Red",
        "SizeId": "Small"
    },
    "quantitiesByDate": {
        "2022-02-01": {
            "pos": {
                "inbound": 10
            }
        }
    }
}

Tworzenie wielu harmonogramów zmian w stanie gotowości do pracy

Ten interfejs API może tworzyć wiele rekordów jednocześnie. Jedyną różnicą między tym interfejsem API a interfejsem API jednego zdarzenia są wartości Path i Body. W tym interfejsie API Body dostarcza tablicę rekordów. Maksymalna dozwolona liczba rekordów wynosi 512. Dlatego interfejs API zbiorczego harmonogramu zmian może obsługiwać jednocześnie do 512 zaplanowanych zmian.

Path:
    /api/environment/{environmentId}/onhand/changeschedule/bulk
Method:
    Post
Headers:
    Api-Version="1.0"
    Authorization="Bearer $access_token"
ContentType:
    application/json
Body:
    [
        {
            id: string,
            organizationId: string,
            productId: string,
            dimensionDataSource: string,
            dimensions: {
                [key:string]: string,
            },
            quantityDataSource: string, # optional
            quantitiesByDate: {
                [datetime:datetime]: {
                    [dataSourceName:string]: {
                        [key:string]: number,
                    },
                },
            },
        },
        ...
    ]

W poniższym przykładzie pokazano zawartość przykładowej treści.

[
    {
        "id": "id-bike-0001",
        "organizationId": "usmf",
        "productId": "Bike",
        "dimensions": {
            "SiteId": "1",
            "LocationId": "11",
            "ColorId": "Red",
            "SizeId": "Small"
        },
        "quantitiesByDate": {
            "2022-02-01": {
                "pos": {
                    "inbound": 10
                }
            }
        }
    },
    {
        "id": "id-car-0002",
        "organizationId": "usmf",
        "productId": "Car",
        "dimensions": {
            "SiteId": "1",
            "LocationId": "11",
            "ColorId": "Red",
            "SizeId": "Small"
        },
        "quantitiesByDate": {
            "2022-02-05": {
                "pos": {
                    "outbound": 10
                }
            }
        }
    }
]

Tworzenie zdarzeń zmiany dostępnych zapasów

Zdarzenia zmian dostępnych zapasów POST są tworzone przez przesłanie żądania na odpowiedni adres URL usługi widoczności magazynu (zobacz początek sekcji Przesyłanie harmonogramów zmian, zdarzeń zmian i zapytań ATP za pośrednictwem interfejsu API ).

Banknot

Zdarzenia zmiany dostępnych zapasów nie są unikatowe dla funkcji ATP, ale są częścią standardowego interfejsu API widoczności zapasów. Ten przykład został uwzględniony, ponieważ zdarzenia są istotne podczas pracy z ATP. Zdarzenia zmian na rękę przypominają rezerwacje zmian na rękę, ale komunikaty o zdarzeniach muszą być wysyłane do innego adresu URL interfejsu API, a zdarzenia używają quantities zamiast quantityByDate w treści wiadomości. Aby uzyskać więcej informacji o zdarzeniach zmian dostępnych zapasów i innych funkcjach interfejsu API widoczności zapasów, zobacz interfejsy API dotyczące widoczności zapasów.

Poniższy przykład przedstawia treść żądania, która zawiera pojedyncze zdarzenie zmiany dostępnej.

{
    "id": "id-bike-0001",
    "organizationId": "usmf",
    "productId": "Bike",
    "dimensions": {
        "SiteId": "1",
        "LocationId": "11",
        "SizeId": "Big",
        "ColorId": "Red"
    },
    "quantities": {
        "pos": {
            "inbound": 10.0
        }
    }
}

Wykonywanie kwerendy dotyczącej zaplanowanych zmian i wyników ATP

Możesz wysyłać zapytania do zaplanowanych bieżących zmian i wyników ATP, przesyłając żądanie POST lub GET do odpowiedniego adresu URL interfejsu API (patrz Przesyłanie harmonogramów zmian, zdarzeń zmian i zapytań ATP za pośrednictwem interfejsu API sekcji).

W żądaniu ustaw QueryATP na prawda, jeśli chcesz odpytywać zaplanowane bieżące zmiany i wyniki ATP. Domyślnie zapytanie zwraca wszystkie dane związane z ATP z dzisiaj. Możesz określić ATPFromDate i ATPToDate, by zawęzić wyniki. (Daty „do” i „od” jedynie filtrują wynik. Nie wpływają one na sposób obliczania ATP).

  • Jeśli przesyłasz żądanie za pomocą metody GET, ustaw ten parametr w adresie URL.
  • Jeśli przesyłasz żądanie za pomocą metody POST, ustaw ten parametr w treści żądania.

Banknot

Niezależnie od tego, czy parametr returnNegative jest ustawiony na prawda lub fałsz w treści żądania, wynik będzie zawierał wartości ujemne w przypadku zapytania dotyczącego zaplanowanych dostępnych zmian i wyników ATP. Te ujemne wartości zostaną uwzględnione, ponieważ jeśli zaplanowano tylko zamówienia popytowe lub ilości dostaw są mniejsze niż ilości popytu, ilości planowanych zmian w zapasach będą ujemne. Jeśli wartości ujemne nie zostały uwzględnione, wyniki byłyby mylące. Aby uzyskać więcej informacji dotyczących tej opcji i sposobu działania tej opcji w przypadku innych typów kwerend, zobacz interfejsy API publiczne widoczności zapasów.

Zapytanie przy użyciu metody POST

Path:
    /api/environment/{environmentId}/onhand/indexquery
Method:
    Post
Headers:
    Api-Version="1.0"
    Authorization="Bearer $access_token"
ContentType:
    application/json
Body:
    {
        dimensionDataSource: string, # Optional
        filters: {
            organizationId: string[],
            productId: string[],
            siteId: string[],
            locationId: string[],
            [dimensionKey:string]: string[],
        },
        groupByValues: string[],
        returnNegative: boolean,
    }

W poniższym przykładzie pokazano, jak utworzyć treść żądania zapytania indeksu, która może zostać przesłana do widoczności zapasów za pomocą metody POST.

{
    // OnHand Index Query fields
    "filters": {
        "organizationId": ["usmf"],
        "productId": ["Bike"],
        "SiteId": ["1"],
        "LocationId": ["11"]
    },
    "groupByValues": ["ColorId", "SizeId"],
    "returnNegative": true,

    // ATP related fields
    "QueryATP":true,
    "ATPFromDate": "2022-02-01",
    "ATPToDate": "2022-02-10",
}

Zapytanie przy użyciu metody GET

Path:
    /api/environment/{environmentId}/onhand
Method:
    Get
Headers:
    Api-Version="1.0"
    Authorization="Bearer $access_token"
ContentType:
    application/json
Query(Url Parameters):
    groupBy
    returnNegative
    [Filters]

W poniższym przykładzie pokazano, jak utworzyć adres URL żądania zapytania indeksu jako żądanie GET.

https://inventoryservice.{RegionShortName}-il301.gateway.prod.island.powerapps.com/api/environment/{EnvironmentId}/onhand?organizationId=usmf&productId=Bike&SiteId=1&LocationId=11&groupBy=ColorId,SizeId&returnNegative=true&QueryATP=true&ATPToDate=2022-02-01&ATPToDate=2022-02-10

Wynik tego GET żądania jest dokładnie taki sam jak wynik POST żądania w poprzednim przykładzie.

Dokładne zapytanie przy użyciu metody POST

Aby skonfigurować dokładne zapytanie, dodaj do treści zapytania pola związane z ATP. Więcej informacji znajdziesz w artykule Dokładne zapytanie przy użyciu metody post.

{
    // Exact query fields
    // ...

    // ATP related fields
    "QueryATP":true,
    "ATPFromDate": "2022-02-01",
    "ATPToDate": "2022-02-10",
}

Przykład wyniku zapytania

Którakolwiek z poprzednich przykładów zapytań może powodować następującą odpowiedź. W tym przykładzie system jest skonfigurowany przy użyciu następujących ustawień:

  • Miara obliczona ATP:iv.onhand = pos.inbound – pos.outbound
  • Okres harmonogramu:7

Oto przykład treści odpowiedzi.

[
    {
        "quantitiesByDate": {
            "2022-02-02T00:00:00": {
                "pos": {
                    "outbound": 5,
                    "inbound": 0,
                },
                "iv": {
                    "onhand": -5,
                },
            },
            "2022-02-06T00:00:00": {
                "pos": {
                    "inbound": 7,
                    "outbound": 0,
                },
                "iv": {
                    "onhand": 7,
                },
            }
        },
        "atpQuantities": {
            "2022-02-01T00:00:00Z": {
                "iv": {
                    "onhand": 5.0
                }
            },
            "2022-02-02T00:00:00Z": {
                "iv": {
                    "onhand": 5.0
                }
            },
            "2022-02-03T00:00:00Z": {
                "iv": {
                    "onhand": 5.0
                }
            },
            "2022-02-04T00:00:00Z": {
                "iv": {
                    "onhand": 5.0
                }
            },
            "2022-02-05T00:00:00Z": {
                "iv": {
                    "onhand": 5.0
                }
            },
            "2022-02-06T00:00:00Z": {
                "iv": {
                    "onhand": 12.0
                }
            },
            "2022-02-07T00:00:00Z": {
                "iv": {
                    "onhand": 12.0
                }
            }
        },
        "productId": "Bike ",
        "dimensions": {
            "ColorId": "Red",
            "SizeId": "Big",
            "siteid": "1",
            "locationid": "11"
        },
        "quantities": {
            "pos": {
                "inbound": 10.0,
                "outbound": 0,
            },
            "iv": {
                "onhand": 10.0,
            }
        }
    }
]