Studio WMS.net - instrukcja obsługi

Kolejka importu od agencji - komunikaty o zgłoszeniu i zwolnieniu towaru

Kolejka importu od agencji zbiera komunikaty o zgłoszeniu i zwolnieniu towaru, które zmieniają statusy celne partii. Na ekranie widać, co przyszło, w jakim kanale i z jakim wynikiem, a komunikat z błędem można ponowić po poprawieniu danych. Poprzedni ekran to zwolnienia i blokady, następny - terminy dozoru.

Ekran Kolejka importu od agencji w Studio WMS.net: filtry, przyciski i lista komunikatów ze statusami
Kolejka importu - lista komunikatów od agencji celnych z filtrami statusu, kanału i agencji.

Nad listą są trzy filtry: Status przetwarzania, Kanał i Agencja celna, oraz przyciski Odśwież, Ponów wybrany komunikat, Symuluj komunikat agencji i Wczytaj komunikat z pliku (JSON). Kolumny listy to Odebrano, Kanał, Agencja celna, Komunikat, MRN lub numer, Przetworzono i Status. W ostatniej kolumnie ikona oka otwiera szczegóły komunikatu. Lista zawiera do 300 wierszy.

Na tej stronie

  1. Do czego służy kolejka
  2. Filtry i przyciski
  3. Lista komunikatów
  4. Szczegóły komunikatu
  5. Statusy komunikatów
  6. Przetwarzanie w jednej transakcji
  7. Duplikaty i hash treści
  8. Pola komunikatu JSON
  9. Typowe błędy i ich naprawa
  10. Praca z kolejką na co dzień
  11. Symulacja komunikatu agencji
  12. Ćwiczenie: przeczytaj kolejkę, znajdź błąd i sprawdź jego przyczynę
  13. Najczęstsze pytania
  14. Słownik pojęć

Do czego służy kolejka

Agencja celna prowadzi zgłoszenia celne, a program tylko odbiera ich wynik. Dwa rodzaje komunikatów zmieniają ewidencję: Zgłoszenie (przeniesienie partii ze statusu Pod dozorem na Zgłoszony) i Zwolnienie towaru (przeniesienie na Zwolniony). Każdy komunikat najpierw trafia do kolejki, a dopiero potem jest przetwarzany. Dzięki temu widać, co przyszło i z jakim skutkiem, także gdy przetwarzanie się nie udało.

Przetwarzanie komunikatu od agencji celnejKomunikat trafia do kolejki. Powtórzony komunikat jest rozpoznawany po haszu treści i nie zmienia stanu. Poprawny komunikat jest przetwarzany w jednej transakcji z wynikiem Przetworzony, Częściowy albo Błąd, a błąd cofa wszystkie zmiany.Komunikat agencjikanał API, FTPS albo plikJSONHash SHA-256 treściodcisk tekstu komunikatuTaki hashjuż jest?TAK: duplikatstan bez zmianNIEKontrola komunikatustruktura JSON, typ komunikatu idokumentu, numer, klient po NIP, indeksyz kartoteki klientabłędy 50101-50107Jedna transakcjadokument celny: nowy albo zmiana statusupartie dokumentu: status 2 albo 3, wpishistorii IMPORTdopasowanie po indeksie i kontenerzePrzetworzonyzmieniono status partiiCzęściowypozycja bez partii albo partiazablokowanaBłądcofnięcie wszystkichzmianPonów po uzupełnieniukartoteki
Droga komunikatu od agencji: kontrola hasha, kontrola treści, jedna transakcja i trzy możliwe wyniki.

Filtr Kanał rozróżnia komunikaty wysłane przez API, przez FTPS i wczytane jako plik. W bazie demonstracyjnej punkt przyjmujący komunikaty od agencji nie jest wdrożony, więc komunikaty powstają przez symulację i przez wczytanie pliku JSON w takim samym formacie, jakiego użyłaby agencja. Strona nie obiecuje więc automatycznego odbioru komunikatów u klientów. Szczegóły techniczne opisują strony dla wdrożeniowców, w tym komunikaty agencji.

Program prowadzi ewidencję magazynową i nie jest certyfikowanym modułem celnym. Zmiana statusu partii po przetworzeniu komunikatu oznacza, że ewidencja zapisała to, co przysłała agencja. Nie jest to zgłoszenie do urzędu.

Filtry i przyciski

ElementWartości albo działanie
Status przetwarzaniaWszystkie, Oczekuje, Przetworzony, Częściowy, Błąd.
KanałWszystkie, API, FTPS, Plik.
Agencja celnaWybór agencji celnej.
OdświeżWczytuje listę ponownie.
Ponów wybrany komunikatPrzetwarza zapisaną treść jeszcze raz; nie działa dla komunikatu Przetworzony.
Symuluj komunikat agencjiOtwiera okno symulacji (S11).
Wczytaj komunikat z pliku (JSON)Otwiera wybór pliku .json albo .txt, do 200 kB, w kodowaniu UTF-8.

Z kokpitu prowadzą na ten ekran dwa kafelki: Komunikaty z błędem importu otwierają go z filtrem Błąd, a Komunikaty oczekujące - z filtrem Oczekuje. Kafelki opisuje strona Kokpit dozoru celnego.

Lista komunikatów

KolumnaZawartość
OdebranoData i godzina przyjęcia komunikatu do kolejki.
KanałAPI, FTPS albo Plik.
Agencja celnaAgencja, od której pochodzi komunikat.
KomunikatRodzaj: Zgłoszenie albo Zwolnienie towaru.
MRN lub numerNumer dokumentu celnego z treści komunikatu.
PrzetworzonoData i godzina przetworzenia.
StatusOczekuje, Przetworzony, Częściowy albo Błąd.

Lista pokazuje do 300 wierszy. Do konkretnego komunikatu dojdziesz szybciej filtrem statusu niż przewijaniem całej kolejki.

Szczegóły komunikatu

Ikona oka otwiera kartę "Komunikat" z numerem dokumentu. Na karcie są agencja, kanał, rodzaj komunikatu, czas odebrania i status. Gdy komunikat zakończył się błędem, pojawia się pole "Błąd przetwarzania" z treścią błędu. Gdy status to Częściowy, to samo miejsce zajmuje pole "Uwagi przetwarzania", które wskazuje pominięte pozycje. Pod nim stoi podpowiedź, że po poprawieniu danych komunikat można ponowić.

Karta szczegółów komunikatu z błędem w Studio WMS.net: pole Błąd przetwarzania, treść JSON i hash SHA-256
Szczegóły komunikatu z błędem - treść błędu, sformatowany JSON tylko do odczytu i skrót hasha.

Karta pokazuje dane nagłówkowe komunikatu, pole Błąd przetwarzania i podpowiedź o ponowieniu. Niżej widać treść komunikatu jako sformatowany JSON, którego nie można edytować. Na dole stoi hash treści SHA-256 w formie skrótu. Hash służy do rozpoznawania duplikatów i pozwala porównać dwa pliki, które wyglądają tak samo.

Treść komunikatu jest zapisana w kolejce dokładnie w takiej postaci, w jakiej przyszła. Nie edytujesz jej na karcie, a przycisk Ponów przetwarza ją jeszcze raz bez zmian. Poprawić można więc dane w programie, od których zależał błąd, np. kartotekę klienta, ale nie sam komunikat. Jeżeli błąd leży w treści, agencja musi przysłać poprawiony komunikat, a w demo wczytuje się poprawiony plik.

Statusy komunikatów

StatusZnaczenieCo robić
OczekujeKomunikat jest w kolejce i nie został jeszcze przetworzony.Otwórz szczegóły; komunikat można przetworzyć przyciskiem Ponów wybrany komunikat.
PrzetworzonyKomunikat zmienił statusy partii i zapisał wpis w historii ze źródłem IMPORT.Nic; przycisk Ponów nie działa dla tego statusu.
CzęściowyPrzetwarzanie zakończyło się, ale część pozycji nie zmieniła statusu.Przeczytaj pole Uwagi przetwarzania i zdecyduj, czy brakujące pozycje trzeba poprawić.
BłądPrzetwarzanie się nie udało i wszystkie zmiany zostały cofnięte.Przeczytaj pole Błąd przetwarzania, popraw dane i użyj Ponów wybrany komunikat.

Status Częściowy powstaje w dwóch sytuacjach. Pierwsza: pozycja z komunikatu nie ma partii do dopasowania na dokumencie. Druga: partia, której pozycja dotyczy, jest zablokowana i zostaje bez zmian, bo komunikat agencji nie zdejmuje blokady. Pozostałe pozycje komunikatu zostają przetworzone.

Przetwarzanie w jednej transakcji

Błąd cofa całość. Komunikat jest przetwarzany w jednej transakcji. Jeśli którakolwiek pozycja albo kontrola zakończy się błędem, statusy partii nie zmieniają się w ogóle, a komunikat dostaje status Błąd.

Dzięki temu komunikat nie zostawia ewidencji w połowie zmienionej. Po naprawie przyczyny wystarczy go ponowić, a nie ma potrzeby cofać pojedynczych partii. Wyjątkiem od reguły jest status Częściowy, który nie jest błędem: pozycje, dla których partie się znalazły, zmieniają status, a pozostałe są wymienione w uwagach.

Komunikat Zgłoszenie dla dokumentu, którego rejestr nie zna, tworzy ten dokument ze statusem Zgłoszony i uwagą "Utworzony z importu komunikatu agencji.". Komunikat Zwolnienie towaru dla nieznanego dokumentu kończy się błędem, bo zwolnienia nie ma do czego przypisać.

Przy dopasowaniu pozycji program szuka klienta po NIP albo po identyfikatorze, indeksu w kartotece tego klienta i, jeśli komunikat go podaje, numeru kontenera. Zwolnienie towaru przenosi partie dokumentu ze statusu Pod dozorem albo Zgłoszony na Zwolniony.

Jeśli partie są w tym samym czasie zatwierdzane w dokumencie wydania, import czeka na zakończenie tej operacji. Po upływie czasu oczekiwania ekran zgłasza komunikat "Partie są właśnie zatwierdzane w wydaniu (blokada wiersza) - ponów komunikat za chwilę.". Wystarczy poczekać chwilę i użyć Ponów.

Duplikaty i hash treści

Przy odbiorze program liczy skrót SHA-256 z treści komunikatu. Gdy kolejka ma już komunikat o takim samym haszu, nowy jest duplikatem i nie zmienia stanu. Dotyczy to także pliku wczytanego drugi raz. Dwa komunikaty różniące się choćby jednym znakiem mają różne hashe, więc poprawiony plik nie zostanie potraktowany jak duplikat.

Plik do wczytania musi mieć rozszerzenie .json albo .txt, nie może przekraczać 200 kB i powinien być zapisany w kodowaniu UTF-8.

Pola komunikatu JSON

Komunikat jest obiektem JSON. Poniższa tabela opisuje pola; ten sam format przyjmują symulacja i wczytanie pliku.

PoleWartości i znaczenie
typKomunikatuZGLOSZENIE albo ZWOLNIENIE. Inna wartość kończy się błędem.
typDokumentuT1, DSK albo MRN.
mrnNumer dokumentu celnego. Brak numeru kończy się błędem.
klientNipNIP klienta, do którego należy towar. W bazie demonstracyjnej wolno użyć identyfikatora klienta zamiast NIP.
agencjaNipOpcjonalny NIP agencji, do wskazania agencji.
kodProceduryKod procedury celnej, np. 71.
dataZwolnieniaData w formacie ISO 8601. Wymagana dla komunikatu ZWOLNIENIE.
pozycjeLista pozycji; każda ma pola opisane niżej.
pozycje: lpNumer pozycji w zgłoszeniu.
pozycje: indeksIndeks z kartoteki klienta.
pozycje: ilosc, jmIlość i jednostka miary.
pozycje: masaBruttoKgMasa brutto w kilogramach.
pozycje: nrKonteneraOpcjonalny numer kontenera; pomaga dopasować partię.

Typowe błędy i ich naprawa

Błąd przetwarzaniaPrzyczynaNaprawa
Zła struktura JSONTreść nie jest poprawnym obiektem JSON.Agencja przysyła poprawny komunikat; w demo wczytaj poprawiony plik.
Nieprawidłowy typKomunikatu albo typDokumentuWartość spoza ZGLOSZENIE, ZWOLNIENIE albo T1, DSK, MRN.Poprawiony komunikat; Ponów nie pomoże, bo treść jest ta sama.
Brak mrnKomunikat nie ma numeru dokumentu.Poprawiony komunikat.
Zwolnienie bez dataZwolnieniaKomunikat ZWOLNIENIE nie ma daty zwolnienia.Poprawiony komunikat.
Nieznany klientŻaden klient nie ma podanego NIP albo identyfikatora.Sprawdź NIP klienta w kartotece, uzupełnij go i użyj Ponów.
"Pozycja N: indeks X nie istnieje w kartotece klienta ... Transakcja została cofnięta"Indeks z komunikatu nie należy do kartoteki tego klienta.Dodaj indeks do kartoteki klienta albo popraw komunikat; po dodaniu użyj Ponów.
Nieznany dokument przy zwolnieniuRejestr nie zawiera dokumentu, a ZWOLNIENIE go nie tworzy.Dodaj dokument w rejestrze albo przetwórz najpierw komunikat Zgłoszenie, potem ponów zwolnienie.
"Partie są właśnie zatwierdzane w wydaniu (blokada wiersza) - ponów komunikat za chwilę."Te same partie są w tej chwili zatwierdzane w WZC.Poczekaj chwilę i użyj Ponów.

Praca z kolejką na co dzień

Rano zacznij od kokpitu. Kafelek Komunikaty z błędem importu mówi, czy któryś komunikat wymaga reakcji, a kafelek Komunikaty oczekujące - czy coś czeka na przetworzenie. Kliknięcie kafelka otwiera kolejkę z gotowym filtrem, więc nie trzeba go ustawiać ręcznie.

Komunikat z błędem czytaj w kolejności: pole Błąd przetwarzania, potem dane, od których błąd zależy. Błąd o indeksie albo kliencie naprawia się w kartotekach programu, a błąd o strukturze komunikatu wymaga nowego komunikatu od agencji. Dopiero po naprawie ma sens przycisk Ponów wybrany komunikat. Ponowienie bez zmiany danych da ten sam błąd i nic w ewidencji nie zepsuje, ponieważ nieudane przetwarzanie nie zmienia statusów partii.

Po komunikacie ze statusem Przetworzony sprawdź skutek na właściwym ekranie. Partie dokumentu mają nowy status w zwolnieniach i blokadach, a status dokumentu w rejestrze wynika ze statusów jego partii. Partie ze statusem Zwolniony pozwalają zatwierdzić WZC, o ile termin dozoru nie minął. Komunikat Częściowy zawsze przeczytaj do końca, bo mogą w nim stać partie zablokowane, które zwolnienie od agencji pominęło.

Symulacja komunikatu agencji

Przycisk Symuluj komunikat agencji otwiera okno z dwoma polami: Dokument celny i Rodzaj komunikatu. Rodzaj Zgłoszenie (MRN) przenosi partie dokumentu ze statusu Pod dozorem na Zgłoszony, a rodzaj Zwolnienie towaru - na Zwolniony. System buduje komunikat JSON z danych dokumentu i przetwarza go tak, jak komunikat odebrany od agencji, więc wynik jest widoczny w kolejce razem z hashem i statusem.

Okno Symulacja komunikatu agencji w Studio WMS.net z polami Dokument celny i Rodzaj komunikatu
Okno symulacji - wybór dokumentu celnego i rodzaju komunikatu, który system przetworzy jak odebrany od agencji.

Okno ma dwa pola obowiązkowe: Dokument celny i Rodzaj komunikatu. Po zatwierdzeniu system buduje komunikat JSON z danych dokumentu i przetwarza go w kolejce. Symulacja zmienia statusy partii dokumentu, więc w ćwiczeniu okno tylko otwieramy i zamykamy bez zatwierdzania.

Symulacja zmienia dane demonstracyjne: partie dokumentu naprawdę zmienią status, a wpis w historii zostanie zapisany. Statusu nie da się cofnąć przyciskiem, a status Zwolniony i Unijny nie mają zmian wstecz, dlatego na zajęciach używaj symulacji tylko na dokumencie przewidzianym do pokazu i tylko wtedy, gdy prowadzący tak zdecyduje. Przyciski Symuluj zgłoszenie agencji i Symuluj zwolnienie towaru ma też rejestr dokumentów celnych przy dokumencie.

Ćwiczenie w demo - lekcja lub zajęcia

Ćwiczenie: przeczytaj kolejkę, znajdź błąd i sprawdź jego przyczynę

Ćwiczenie trwa ok. 15 minut. Zaloguj się w demo jako Magazyn w przeglądarce. Kroki to odczyt. Okno symulacji otwierasz i zamykasz bez zatwierdzania, bo symulacja zmieniłaby statusy partii.

  1. Wybierz w menu DOZÓR CELNY pozycję Kolejka importu od agencji. Odczytaj, ile komunikatów jest na liście i w jakich kanałach.
  2. Ustaw filtr Status przetwarzania na Błąd i kliknij Odśwież. Otwórz ikoną oka szczegóły komunikatu i zapisz treść pola Błąd przetwarzania.
  3. Na tej samej karcie odczytaj hash treści i sprawdź, że pole z JSON jest tylko do odczytu. Spróbuj kliknąć w nie i wpisać znak: tekst się nie zmieni.
  4. Zmień filtr na Częściowy, otwórz szczegóły i przeczytaj pole Uwagi przetwarzania. Wskaż, której pozycji dotyczy uwaga.
  5. Zmień filtr na Przetworzony, otwórz szczegóły dowolnego komunikatu i odczytaj MRN lub numer oraz czas przetworzenia. Nie klikaj Ponów wybrany komunikat: przycisk nie działa dla komunikatu Przetworzony.
  6. Kliknij Symuluj komunikat agencji, odczytaj nazwy pól i listę rodzajów komunikatu, a następnie zamknij okno bez zatwierdzania.

Pytanie kontrolne. Komunikat ma status Błąd z uwagą o indeksie spoza kartoteki klienta. Co sprawdzisz i poprawisz w programie, czym zakończysz naprawę i dlaczego statusy partii nie zmieniły się w trakcie nieudanego przetwarzania?

Podstawa programowa. Ćwiczenie realizuje efekt "stosuje systemy informatyczne w procesie magazynowania" z kwalifikacji SPL.01 Obsługa magazynów (jednostka SPL.01.5). Pozostałe ćwiczenia zebraliśmy na stronie demo WMS na zajęciach z gospodarki magazynowej.

Najczęstsze pytania

Jaki plik można wczytać do kolejki?

Plik .json albo .txt do 200 kB w kodowaniu UTF-8. Treść musi mieć format komunikatu opisany w tabeli pól JSON.

Co się stanie, gdy wczytam ten sam plik drugi raz?

Program rozpozna duplikat po haszu treści SHA-256, a stan partii i dokumentów pozostanie bez zmian.

Czy błąd w komunikacie zostawia część partii ze zmienionym statusem?

Nie. Komunikat jest przetwarzany w jednej transakcji, a błąd cofa całość. Zmieniają się tylko partie przy statusie Przetworzony albo Częściowy.

Dlaczego komunikat ze zwolnieniem ma status Częściowy?

Pozycja nie miała partii do dopasowania na dokumencie albo partia jest zablokowana i zostaje bez zmian. Szczegóły są w polu Uwagi przetwarzania.

Czy przycisk Ponów działa dla komunikatu Przetworzony?

Nie. Przycisk Ponów wybrany komunikat przetwarza zapisaną treść jeszcze raz i nie działa tylko dla statusu Przetworzony. Przy statusie Błąd użyj go po poprawieniu danych w programie.

Ile komunikatów pokazuje lista?

Do 300 wierszy. Ogranicz ją filtrem statusu, kanału albo agencji, jeśli szukasz konkretnego komunikatu.

Słownik pojęć

Komunikat agencji
Wiadomość JSON od agencji celnej o zgłoszeniu albo zwolnieniu towaru. Po przetworzeniu zmienia statusy partii dokumentu.
Hash treści
Skrót SHA-256 liczony z treści komunikatu. Dwa komunikaty o tym samym haszu to duplikat.
Duplikat
Komunikat o takim samym haszu jak jeden z wcześniejszych. Nie zmienia stanu partii.
Kanał
Sposób dostarczenia komunikatu do kolejki: API, FTPS albo Plik.
Status Częściowy
Wynik, w którym część pozycji zmieniła status, a część została pominięta, np. z powodu blokady partii.
MRN
Numer zgłoszenia celnego, 18 znaków, cyfry i wielkie litery. W kolejce widnieje w kolumnie MRN lub numer.
Zwolnienie towaru
Rodzaj komunikatu, który przenosi partie dokumentu na status Zwolniony i dopuszcza WZC.