W skrócie

W opisywanym wdrożeniu zadanie integracji z platformą sprzedażową rusza z formularza pakowania, po zapisie danych. Formularz wywołuje usługę serwera asynchronicznie i nie czeka na wynik.

W opisywanym wdrożeniu integracja z platformą sprzedażową nie czeka na harmonogram. Formularz pakowania wywołuje zadanie usługi po zapisie danych i nie czeka na wynik. Zamknięcie kompletacji wysyła statusy osobnym zapytaniem.

Nazwy w kodzie wskazują BaseLinker. Opisujemy sposób uruchamiania zadania, a nie to, co zadanie wymienia z platformą. Ogólny obraz integracji z platformami sprzedażowymi daje artykuł o integracji WMS z platformami sprzedażowymi, a produkt opisuje strona Studio WMS.net.

Zdarzenie zamiast harmonogramu

Zadanie integracyjne jest zadaniem wewnętrznej usługi serwera. Formularz uruchamia je w chwili, gdy dane są już zapisane, więc start wynika ze zdarzenia w formularzu. W innym wdrożeniu zlecenia z systemu ERP pobierają zadania cykliczne, o czym piszemy w artykule o integracji ERP z WMS.

Podobną kolejność, czyli zapis przed wywołaniem usługi, ma zamówienie kuriera. Opisuje je artykuł o zamówieniu kuriera z dokumentu wydania. Formularz przesyłki paletowej z tego samego wdrożenia opisuje artykuł o przesyłce paletowej z liniami towarowymi.

Skutek dla operatora widać na ekranie. Po zapisie formularz pokazuje komunikat i wraca do pracy, więc operator nie czeka na platformę sprzedażową. Ewentualny błąd wywołania zadania pokazuje osobny komunikat, opisany w sekcji o błędach.

Pakowanie i zamknięcie kompletacji

Dane o realizacji trafiają do platformy z dwóch formularzy, ale tylko jeden z nich uruchamia zadanie. Pakowanie zlecenia wywołuje zadanie usługi, a zamknięcie kompletacji wysyła statusy kompletacji osobnym zapytaniem. Przebieg pakowania opisuje artykuł o pakowaniu z wózka, a kompletacji artykuł o kompletacji do wózka na kolektorze.

MiejsceCo zapisuje się wcześniejCo robi zadanie lub wysyłka
Pakowanie zleceniaDla zlecenia paczkomatowego gabaryt zapisany przy dokumencieUruchomienie zadania usługi po spakowaniu zlecenia
Zamknięcie kompletacjiZatwierdzenie i zamknięcie dokumentu kompletacjiWysyłka statusów kompletacji osobnym zapytaniem, przed odświeżeniem ekranu, bez uruchamiania zadania

Uruchomienie zadania a wysyłka statusów

Oba mechanizmy kończą się tym, że formularz wraca do pracy, ale w formularzach to dwa różne wywołania. Zestawienie pokazuje, czym się różnią z punktu widzenia operatora i działu IT.

CechaPakowanie zleceniaZamknięcie kompletacji
Co wykonuje formularzWywołanie zadania usługi serweraZapytanie wysyłające statusy kompletacji
Co poprzedza wywołanieGabaryt zapisany przy dokumencie, gdy zlecenie jest paczkomatowePytanie "Czy chcesz zatwierdzić dokument?" i zamknięcie dokumentu kompletacji
Wybór zadaniaJedno z dwóch zadań, po kodzie zapisanym w zleceniuBrak wywołania zadania, więc brak wyboru
Co widzi operatorKomunikat "Dane zostały zapisane", po chwili powrót do skanuOdświeżenie ekranu po wysłaniu statusów
Błąd wywołaniaKomunikat "Bład przetwarzania! Komunikat:" z odpowiedzią serweraNie opisujemy
  • Zadanie uruchamiane - metoda usługi z trzema parametrami, wywoływana asynchronicznie dla jednego z dwóch kont platformy.
  • Wysyłka statusów - osobne zapytanie po zamknięciu dokumentu kompletacji, wykonywane przed odświeżeniem ekranu.

Pytanie o zatwierdzenie dokumentu kompletacji pojawia się także samo, gdy w kompletacji nie ma już pozycji do wykonania. To rozróżnienie ma znaczenie przy odbiorze projektu: próba uruchomienia zadania dotyczy pakowania, a próba statusów zamknięcia kompletacji, więc jedna próba nie sprawdza obu mechanizmów.

Wywołanie asynchroniczne i zadania nieaktywne

Wywołanie to metoda wewnętrznej usługi serwera z trzema parametrami. Pierwszy to identyfikator zadania, drugi włącza uruchomienie asynchroniczne, a trzeci zezwala na uruchomienie zadania oznaczonego jako nieaktywne.

Formularz nie czeka na wynik zadania. Po przyjęciu wywołania pokazuje "Dane zostały zapisane" i wraca do pracy.

Zadanie integracyjne rusza po zapisie danych w formularzu pakowania. Formularz nie czeka na jego wynik.

Dwa konta platformy

Wdrożenie ma dwa konta platformy sprzedażowej: konto pierwsze i konto drugie. Każde z nich ma osobne zadanie, więc wywołanie musi wskazać jedno. Pakowanie wybiera zadanie po kodzie zapisanym w dokumencie zlecenia.

Schemat: pakowanie uruchamia zadanie usługi dla jednego z dwóch kont platformy, kompletacja wysyła statusy
Schemat pokazuje wywołanie usługi z pakowania i wybór jednego z dwóch zadań platformy. Zamknięcie kompletacji stoi osobno, bo wysyła statusy własnym zapytaniem.

Kolejność zdarzeń w pakowaniu

Pakowanie z wózka trwa od skanu wózka do komunikatu po zadaniu. Tabela pokazuje kolejność zdarzeń i to, co widzi operator na każdym kroku.

KrokCo się dziejeCo widzi operator
Skan wózkaSystem szuka otwartej kompletacji dla wózka i loginu operatoraPrzy braku: "Brak kompletacji dla danego wózka bądź wózek nie istnieje"
Skan artykułuSystem wskazuje zlecenie na wózku, które zawiera ten kod EANDane zlecenia i tabela pozycji; gdy kod istnieje, a nie wskazuje jednego zlecenia: "Brak kodu ean w ramach zlecenia"
Skan EAN pozycjiKontrola kodu i zapis spakowanej pozycji"Kod EAN nie istnieje" albo "Kod EAN nie występuje w kompletacji"
GabarytTylko dla zlecenia paczkomatowego; wartość trafia do dokumentuPole tekstowe; inna wartość niż GAB_A, GAB_B lub GAB_C jest odrzucana
ZadanieWywołanie usługi dla konta wybranego po kodzie zleceniaBez oczekiwania na wynik
KomunikatFormularz kończy obsługę zlecenia"Dane zostały zapisane", po 1 sekundzie powrót do skanu artykułu

Gabaryt pojawia się po spakowaniu zlecenia, a nie w trakcie skanowania pozycji. Pole przyjmuje wpis albo skan i zatwierdza się klawiszem Enter. Po powrocie do skanu artykułu pole wózka pozostaje zablokowane, więc kolejne zlecenie z tego samego wózka zaczyna się od skanu artykułu.

Gdy kończy się kompletacja wózka, formularz po komunikacie pokazuje ekran końcowy z napisem "Proces Pick&Pack został zakończony".

Zapis przed uruchomieniem

Zadanie rusza dopiero po zapisie danych. W pakowaniu paczkomatowym gabaryt trafia do dokumentu przed wywołaniem zadania, co omawia artykuł o pakowaniu z wózka.

Zamknięcie kompletacji wysyła statusy kompletacji osobnym zapytaniem, przed odświeżeniem ekranu.

Przykład z jednego wózka

Przykład z fikcyjnymi danymi. Operator skanuje wózek 0001 i artykuł z kodem EAN 5900000000017, a system wskazuje zlecenie ZWZ-26-0042. Po spakowaniu ostatniej pozycji zlecenie nie ma oznaczenia paczkomatu, więc formularz wywołuje zadanie usługi i pokazuje "Dane zostały zapisane". Po sekundzie wraca do skanu artykułu z zablokowanym polem wózka.

Drugi przykład, także fikcyjny: zlecenie ZWZ-26-0043 jest oznaczone jako paczkomat. Po spakowaniu formularz prosi o gabaryt, a operator wpisuje GAB_B. Formularz zapisuje wartość przy dokumencie i dopiero wtedy wywołuje zadanie. Wpisanie GAB_D kończy się komunikatem "Podaj określoną wartość - GAB_A, GAB_B lub GAB_C!".

Co widzi operator przy błędzie

Błąd wywołania zadania pokazuje komunikat "Bład przetwarzania! Komunikat:" z treścią odpowiedzi serwera. Pisownię komunikatu podajemy tak, jak ją pokazuje program. Sposób zgłaszania błędów w formularzach opisuje artykuł o komunikatach błędów w WMS. Cztery komunikaty pojawiają się na drodze do zadania:

  • Brak kompletacji wózka - "Brak kompletacji dla danego wózka bądź wózek nie istnieje".
  • Brak zlecenia dla kodu - "Brak kodu ean w ramach zlecenia".
  • Kod spoza kompletacji - "Kod EAN nie występuje w kompletacji".
  • Błędny gabaryt - "Podaj określoną wartość - GAB_A, GAB_B lub GAB_C!".

Pytania do zadania na etapie analizy integracji

Zadanie uruchamiane z formularza trzeba uzgodnić z działem IT przed startem prac. Przed wdrożeniem trzeba odpowiedzieć na cztery pytania. To pytania, a nie fakty o opisywanym wdrożeniu.

  • Kto uruchamia zadanie - formularz po zapisie danych czy harmonogram usługi i w którym formularzu.
  • Co ma się dziać przy błędzie - jaki komunikat zobaczy operator i czy dane są już zapisane.
  • Ile jest kont - ile kont platformy sprzedażowej obsługuje magazyn i po czym zlecenie wskazuje konto.
  • Co przekazuje zadanie - jakie dane o realizacji platforma ma dostać i w którym momencie.

Odpowiedzi zapisuje się w analizie przedwdrożeniowej, której zakres opisuje artykuł o analizie przedwdrożeniowej WMS. Pola i komunikaty formularzy ustala się w specyfikacji formularzy w arkuszu. Podobne pytania dotyczą przewoźników, o których piszemy w artykule o integracji WMS z kurierami.

Czego ta strona nie opisuje

Ta strona opisuje sposób uruchamiania zadania, a nie jego treść. Kod formularza nie pokazuje, co zadanie przekazuje platformie sprzedażowej, więc tego nie opisujemy. Pomijamy też identyfikatory zadań i kody kont. Nie podajemy liczby zleceń ani wyników pracy integracji.

Opis dotyczy formularzy jednego magazynu klienta, a nie standardowej funkcji Studio WMS.net. Inny magazyn może uruchamiać zadania inaczej, na przykład harmonogramem.

Pytania i odpowiedzi o zadaniu integracyjnym z formularza

Kiedy WMS uruchamia zadanie integracji z platformą?

W opisywanym wdrożeniu zadanie uruchamia formularz pakowania, po zapisie danych. Zamknięcie kompletacji nie uruchamia zadania, tylko wysyła statusy kompletacji osobnym zapytaniem, przed odświeżeniem ekranu.

Czy formularz czeka na zakończenie zadania?

Nie. Wywołanie jest asynchroniczne, a po jego przyjęciu formularz pokazuje "Dane zostały zapisane" i wraca do pracy. Po 1 sekundzie formularz pakowania wraca do skanu artykułu.

Skąd system wie, które konto platformy wybrać?

Dwa konta mają dwa osobne zadania. Pakowanie wybiera jedno z nich po kodzie zapisanym w dokumencie zlecenia.

Co zapisuje się przed uruchomieniem zadania w pakowaniu?

W pakowaniu zlecenia paczkomatowego gabaryt zapisuje się przy dokumencie, a dopiero potem rusza zadanie. Gabaryt przyjmuje wartości od GAB_A do GAB_C.

Czym jest zadanie nieaktywne w wywołaniu?

To zadanie usługi oznaczone jako nieaktywne. Trzeci parametr wywołania zezwala na jego uruchomienie mimo tego oznaczenia.

Słownik pojęć o zadaniu integracyjnym w WMS

Terminy używane przez dział IT i kierownika projektu, gdy formularz WMS uruchamia zadanie integracji z platformą sprzedażową.

Zadanie integracyjne
Zadanie wewnętrznej usługi serwera, które przekazuje dane o realizacji do platformy sprzedażowej. W opisywanym wdrożeniu formularz pakowania uruchamia je po zapisie danych.
Wywołanie asynchroniczne
Uruchomienie zadania bez czekania na jego wynik. Formularz po przyjęciu wywołania pokazuje komunikat i wraca do pracy.
Konto platformy sprzedażowej
Osobne konto w platformie, z którym wymienia dane WMS. W opisywanym wdrożeniu dwa konta mają dwa osobne zadania.
Zadanie usługi
Zadanie zapisane w usłudze serwera i wskazywane identyfikatorem. Może być oznaczone jako nieaktywne.
Status kompletacji
Informacja o stanie kompletacji, którą WMS wysyła do platformy sprzedażowej. W opisywanym wdrożeniu zamknięcie dokumentu kompletacji wysyła statusy osobnym zapytaniem.
Gabaryt paczkomatu
Oznaczenie rozmiaru paczki wysyłanej do paczkomatu. W opisywanym wdrożeniu przyjmuje wartości od GAB_A do GAB_C i zapisuje się przy dokumencie przed zadaniem.
Pakowanie z wózka
Pakowanie zleceń z wózka kompletacyjnego. Operator skanuje wózek, a system wskazuje zlecenie po kodzie EAN pierwszego artykułu.

Opisz nam platformę, z którą pracuje Twoja firma

Podaj, z jakiej platformy sprzedażowej korzysta Twoja firma i kiedy WMS ma przekazywać jej dane o realizacji, a przygotujemy propozycję zakresu.