android_dpmag_pzb

Skrypt android_dpmag_pzb.js stanowi zaawansowany moduł mobilnego interfejsu w systemie Studio WMS.net, dedykowany operacjom przyjęcia towaru (PZB). Jego zadaniem jest umożliwienie magazynierowi kompleksowej obsługi dokumentu przyjęcia, począwszy od wprowadzenia numeru dokumentu, poprzez identyfikację asortymentu za pomocą kodu EAN

Plik: android_dpmag_pzb.js – Obsługa Dokumentów PZB w Aplikacji Mobilnej dla Magazyniera

Plik android_dpmag_pzb.js obsługuje proces przyjęcia zewnętrznego dla dokumentów PZB w aplikacji mobilnej Studio WMS.net. Skrypt umożliwia magazynierowi skanowanie kodów EAN, przypisywanie numerów palet, rejestrowanie lokalizacji składowania oraz walidację danych przed zapisaniem operacji w systemie.

Funkcja MojaOnLoad()

Główna funkcja odpowiedzialna za inicjalizację interfejsu użytkownika:

  1. Pobiera parametry operacji, takie jak typ dokumentu (PZB – przyjęcie zewnętrzne z blokadą).
  2. Tworzy dynamiczny formularz dla użytkownika.
  3. Inicjalizuje pola do skanowania kodów EAN i wprowadzania ilości.
  4. Dodaje obsługę kodów QR do automatycznego wypełniania pól.

Obsługa dokumentów PZB

Formularz podzielony jest na etapy:

STEP_REFNO – Wprowadzenie numeru dokumentu

  • Użytkownik wpisuje numer referencyjny lub wybiera dokument z listy.

STEP0 – Skanowanie kodu EAN

  • Użytkownik skanuje kod EAN artykułu.
  • System pobiera indeks, nazwę oraz ewentualny numer partii produktu.

STEP1 – Wprowadzenie numeru partii

  • Jeśli produkt posiada numer partii, użytkownik musi go wprowadzić.

STEP2 – Wprowadzenie terminu ważności

  • System pozwala na wybór terminu ważności produktu.

STEP3 – Wybór rodzaju palety

  • Magazynier określa typ palety (np. EPAL).

STEP4 – Wprowadzenie numeru palety

  • System umożliwia rejestrację numeru palety.
  • Jeśli użytkownik wpisze „0”, system automatycznie wygeneruje numer palety.

STEP5 – Wprowadzenie ilości

  • System weryfikuje poprawność ilości i czy mieści się w dopuszczalnym zakresie.

STEP6 – Wprowadzenie lokalizacji docelowej

  • Użytkownik określa miejsce składowania towaru.
  • System sprawdza, czy lokalizacja jest aktywna i dostępna.

Obsługa walidacji danych

Skrypt monitoruje interakcje użytkownika i reaguje na:

  • Wpisanie kodu EAN – pobiera informacje o produkcie.
  • Wprowadzenie numeru partii – aktywuje kolejne pola.
  • Wybór terminu ważności – przechodzi do etapu wyboru palety.
  • Wpisanie numeru palety – system sprawdza jego poprawność.
  • Wprowadzenie ilości – sprawdza, czy wartość jest większa od 0.
  • Wybór lokalizacji – weryfikuje dostępność składowania.

Funkcja saveDocument()

Obsługuje zapis danych do bazy SQL:

  1. Tworzy zapytanie SQL do rejestracji operacji.
  2. Jeśli termin ważności jest wymagany, dodaje go do rekordu.
  3. Po poprawnym zapisie usuwa wprowadzone dane i resetuje formularz.

Funkcja closeWindow()

Odpowiada za zakończenie operacji:

  • Jeśli dokument PZB został zapisany, prosi użytkownika o potwierdzenie jego zamknięcia.
  • W przeciwnym razie zamyka okno i odświeża aplikację.

Obsługa kodów QR

Skrypt wspiera:

  • Skanowanie kodów QR do automatycznego wypełniania pól.
  • Obsługę skanera kodów kreskowych do wprowadzania EAN i lokalizacji.

Podsumowanie

Plik android_dpmag_pzb.js to kluczowe narzędzie dla magazynierów realizujących przyjęcia zewnętrzne z blokadą w aplikacji Studio WMS.net. Automatyzuje proces skanowania kodów EAN, przypisywania numerów palet i rejestrowania lokalizacji. Dzięki dynamicznej walidacji system zwiększa efektywność operacji magazynowych i eliminuje ryzyko błędów.

Skrypt android_dpmag_pzb.js

Skrypt android_dpmag_pzb.js stanowi zaawansowany moduł mobilnego interfejsu w systemie Studio WMS.net, dedykowany operacjom przyjęcia towaru (PZB). Jego zadaniem jest umożliwienie magazynierowi kompleksowej obsługi dokumentu przyjęcia, począwszy od wprowadzenia numeru dokumentu, poprzez identyfikację asortymentu za pomocą kodu EAN, aż po rejestrację szczegółowych danych dotyczących partii, terminu ważności, parametrów paletowych oraz lokalizacji docelowej. Poniżej przedstawiono szczegółowy opis działania skryptu.


1. Inicjalizacja i budowa formularza

Pobieranie parametrów i ustawienia wstępne

Na początku funkcji MojaOnLoad() skrypt odczytuje parametry przekazywane w adresie URL, takie jak:

  • Prefiks dokumentu oraz typ dokumentu – jeśli nie zostaną podane, domyślnie przypisywane są wartości odpowiadające operacji przyjęcia (PZB).
  • Tryb pracy – parametr gcTryb, decydujący o sposobie prezentacji danych (np. tryb „listowy”, w którym użytkownik wybiera dokument z listy, lub tryb bezpośredniej realizacji).

Dynamiczne generowanie interfejsu

Skrypt tworzy wieloetapowy formularz, dzielony na kilka sekcji (STEP-y), które pojawiają się lub są ukrywane w zależności od wprowadzanych danych i wyników walidacji. Kluczowe sekcje formularza to:

  • STEP_REFNO:
    Umożliwia wprowadzenie numeru dokumentu przyjęcia. Użytkownik wpisuje numer dokumentu, a system wyświetla dynamiczną listę dostępnych dokumentów. Po zatwierdzeniu numeru, dokument jest weryfikowany – jeśli istnieje i jest gotowy do realizacji, dane są ładowane, a pole zostaje zablokowane przed dalszą edycją.
  • STEP0 – Identyfikacja produktu:
    Po zatwierdzeniu numeru dokumentu użytkownik przechodzi do wprowadzenia kodu EAN produktu. Na podstawie wpisanego kodu wykonywane jest zapytanie do bazy danych, które w przypadku pozytywnej weryfikacji uzupełnia pola zawierające dane asortymentu, takie jak nazwa (NAZWAAS) oraz indeks (INDEKS). Dodatkowo, ukryte pola przechowują identyfikatory produktu, niezbędne przy dalszym przetwarzaniu.
  • STEP1 – Numer partii:
    Sekcja umożliwia wprowadzenie numeru partii (NRSERII). Wprowadzenie tej informacji pozwala na rozróżnienie poszczególnych pozycji w dokumencie oraz przygotowuje system do dalszej rejestracji szczegółów.
  • STEP2 – Termin ważności:
    Użytkownik określa termin ważności towaru za pomocą kontrolki kalendarza. Data ważności jest kluczowym elementem przy rejestracji przyjęcia, szczególnie gdy produkt podlega ograniczeniom czasowym.
  • STEP3 – Rodzaj palety:
    W tej sekcji użytkownik wprowadza rodzaj palety (PALETAKOD), co pozwala na przypisanie towaru do właściwego typu opakowania. Po zatwierdzeniu kodu palety system weryfikuje jego poprawność, wykonując zapytanie do bazy.
  • STEP4 – Numer palety:
    Kolejnym etapem jest wprowadzenie numeru palety (NRPALETY). Skrypt umożliwia zarówno ręczne wprowadzenie numeru, jak i automatyczne generowanie unikalnego numeru przy użyciu mechanizmu ciągłej numeracji (funkcja ustawNumerPalety). Dodatkowo, wykonywana jest weryfikacja numeru palety – system sprawdza, czy paleta o podanym numerze istnieje w bazie, a w przypadku pozytywnej weryfikacji automatycznie uzupełnia pole z kodem palety i dezaktywuje jego edycję.
  • STEP5 – Ilość towaru:
    Umożliwia określenie ilości towaru, która ma zostać przyjęta. Kontrolka numeryczna (WebNumber) zapewnia precyzyjne określenie wartości oraz ustala maksymalną dopuszczalną ilość na podstawie danych pobranych z dokumentu.
  • STEP6 – Lokalizacja docelowa:
    Ostatnia sekcja formularza pozwala na wprowadzenie lokalizacji, do której towar ma zostać przyjęty. Użytkownik wpisuje adres, a system w tle wykonuje zapytanie do bazy, weryfikując istnienie oraz aktywność podanej lokalizacji. W przypadku niezgodności (np. lokalizacja wyłączona lub zablokowana) system informuje o błędzie i prosi o ponowne wprowadzenie danych.

Dodatkowo, interfejs zawiera sekcję LISTA_DOKUMENTOW, która w trybie listowym umożliwia wybór dokumentu z listy, oraz przyciski nawigacyjne (np. umożliwiające przełączanie się między pozycjami dokumentu) oraz przycisk „Zakończ” służący do finalizacji operacji.


2. Obsługa zdarzeń i walidacja

Skrypt wykorzystuje zaawansowany mechanizm obsługi zdarzeń, co zapewnia dynamiczną interakcję z użytkownikiem:

  • Obsługa pola REFNO:
    Wprowadzenie numeru dokumentu powoduje dynamiczne wyświetlenie listy dokumentów (funkcja setDocList) lub, w trybie bezpośredniej realizacji, pobranie szczegółów dokumentu (funkcja setTopDoc). Po wyborze dokumentu, numer REFNO jest blokowany, a dalsze kroki operacji są inicjowane.
  • Walidacja kodu EAN:
    Po wprowadzeniu kodu EAN (EANASN) wykonywane jest zapytanie do bazy danych w celu weryfikacji istnienia produktu na dokumencie. W przypadku poprawnego odczytu uzupełniane są pola z danymi asortymentu oraz identyfikatory, a użytkownik przechodzi do kolejnych etapów (np. wprowadzenia numeru partii).
  • Przechodzenie między etapami:
    Każde pole formularza reaguje na zdarzenia keyup (zwłaszcza przy naciśnięciu klawisza Enter) oraz focus. Po zatwierdzeniu danych, kolejne sekcje formularza stają się widoczne, a interfejs automatycznie przewija się do aktywnego pola (funkcja scrollToEndOfPage), co zwiększa ergonomię pracy w środowisku mobilnym.
  • Weryfikacja numeru palety i lokalizacji:
    Funkcja checkPaletNumer() sprawdza numer palety wprowadzany przez użytkownika poprzez zapytanie do bazy danych. Jeśli paleta istnieje, system uzupełnia pole z kodem palety oraz pobiera dane dotyczące lokalizacji, co pozwala na dalszą weryfikację przyjęcia towaru.
    Podczas wprowadzania lokalizacji docelowej system weryfikuje jej poprawność (czy lokalizacja istnieje, czy jest aktywna, czy nie jest zablokowana) – w przypadku błędów użytkownik otrzymuje odpowiedni komunikat.
  • Integracja z modułem skanowania kodów QR:
    Aby przyspieszyć wprowadzanie danych, skrypt integruje się z modułem skanowania kodów QR. Funkcje triggerInputEvent() oraz configureQr() umożliwiają automatyczne przekazywanie danych z zeskanowanego kodu do odpowiednich pól formularza.

3. Przetwarzanie danych i zapis dokumentu

Pobieranie pozycji dokumentu

Funkcja getDocumentPositions() pobiera szczegółowe dane dotyczące pozycji dokumentu przyjęcia (PZB) na podstawie numeru REFNO oraz parametrów dokumentu. Wynik zapytania jest wykorzystywany do uzupełniania danych asortymentowych (np. indeks, nazwa produktu) oraz do nawigacji między pozycjami dokumentu (możliwość przeglądania kolejnych pozycji).

Zapis operacji przyjęcia

Funkcja saveDocument() odpowiada za finalizację wprowadzonych danych. W pierwszej kolejności wykonywana jest walidacja wprowadzonych pól (przy użyciu funkcji JqxTestWypelnienia) oraz weryfikacja zgodności lokalizacji – system porównuje wartość NRIDWMS pobraną z bazy z wartością wprowadzoną przez użytkownika.
Na podstawie danych takich jak identyfikatory asortymentu, numer partii, ilość, dane paletowe, termin ważności oraz lokalizacja, budowany jest ciąg parametrów, który jest sanitowany (zamiana pojedynczych cudzysłowów) i przesyłany do bazy przy użyciu odpowiedniego zapytania SQL. W zależności od tego, czy termin ważności został określony, wykonywane jest odpowiednie zapytanie.
W przypadku pomyślnego zapisu dokumentu system odświeża dane pozycji (funkcja getDocumentPositions) oraz, jeśli dokument zawiera kolejne pozycje, resetuje formularz, umożliwiając dalszą pracę. Jeśli nie – następuje finalizacja dokumentu poprzez wywołanie funkcji setDocumentNumber().

Finalizacja dokumentu

Funkcja setDocumentNumber() generuje unikalny numer dokumentu, wykorzystując mechanizm liczników (funkcja PobierzLicznikMiesiac) oraz przesyła finalne dane do bazy. Po zatwierdzeniu dokumentu użytkownik otrzymuje komunikat potwierdzający, a interfejs oferuje możliwość rozpoczęcia nowej operacji (poprzez funkcję clearAllPage()) lub zamknięcia okna.


4. Funkcje pomocnicze

Skrypt zawiera szereg funkcji wspomagających proces obsługi dokumentu:

  • clearPage(type): Resetuje poszczególne sekcje formularza oraz wywołuje automatyczne przewijanie, zapewniając, że użytkownik zawsze widzi aktywne pole. Funkcja ta obsługuje różne tryby czyszczenia (np. dla całego formularza, tylko dla pola EAN, numeru partii itp.).
  • ustawNumerPalety(): Automatycznie generuje unikalny numer palety przy użyciu mechanizmu ciągłej numeracji.
  • checkPaletNumer(inputValue): Weryfikuje numer palety wprowadzany przez użytkownika – pobiera dane lokalizacji, ilości dostępnego towaru oraz ewentualny kod palety, który w razie potrzeby zostaje automatycznie uzupełniony i zablokowany przed edycją.
  • scrollToEndOfPage(): Automatycznie przewija widok formularza do jego końca, co zwiększa ergonomię korzystania z interfejsu na urządzeniach mobilnych.
  • setDocList() oraz setTopDoc(): W trybie listowym umożliwiają prezentację listy dokumentów przyjęć dostępnych do realizacji oraz wybór konkretnego dokumentu przez użytkownika.

Podsumowanie

Skrypt android_dpmag_pzb.js to kompleksowe narzędzie mobilne w systemie Studio WMS.net, dedykowane obsłudze przyjęcia towaru na podstawie dokumentu PZB. Dzięki dynamicznie generowanemu, wieloetapowemu formularzowi oraz rozbudowanym mechanizmom walidacji, integracji z bazą danych i modułowi skanowania kodów QR, system umożliwia:

  • Szybkie i precyzyjne wprowadzanie danych dotyczących numeru dokumentu, kodu EAN, danych asortymentowych, numeru partii, terminu ważności, danych paletowych oraz lokalizacji docelowej,
  • Automatyczne przełączanie między kolejnymi etapami formularza, co usprawnia pracę magazyniera i minimalizuje ryzyko błędów,
  • Weryfikację poprawności wprowadzanych informacji poprzez zapytania do bazy, gwarantującą, że towar jest przyjmowany do właściwej lokalizacji,
  • Finalizację dokumentu poprzez generowanie unikalnych numerów operacyjnych oraz możliwość zatwierdzenia dokumentu końcowego.

Dzięki zastosowanym rozwiązaniom, system Studio WMS.net podnosi efektywność operacyjną w magazynie, usprawniając proces przyjęcia towaru i zapewniając wysoką jakość zarządzania danymi logistycznymi.

Czytaj więcej:

  • android_dpmag_mm_aso

    Skrypt android_dpmag_mm_aso.js stanowi kluczowy element mobilnego interfejsu użytkownika w systemie Studio WMS.net, dedykowanym obsłudze dokumentów MM (magazynowych). Jego głównym zadaniem jest zarządzanie procesem przyjęcia lub wydania towaru w ramach operacji magazynowych, przy czym uwzględnia zarówno tryb przyjęcia, jak i wydania. Poniżej przedstawiono szczegółowy opis funkcjonalności oraz mechanizmów, jakie zostały zaimplementowane w tym module.

    Transakcje WMS

  • android_dpmag_mm_pal

    Skrypt android_dpmag_mm_pal.js jest zaawansowanym modułem mobilnego interfejsu systemu Studio WMS.net, przeznaczonym do obsługi dokumentów magazynowych MM w operacjach związanych z przyjęciem i wydaniem towaru.

    Transakcje WMS

  • android_dpmag_pz

    Skrypt android_dpmag_pz stanowi kluczowy moduł mobilnego interfejsu w systemie Studio WMS.net, dedykowany obsłudze dokumentów przyjęcia towaru (PZ). Jego zadaniem jest umożliwienie magazynierowi kompleksowej realizacji operacji przyjmowania zleceń, począwszy od wyboru numeru zlecenia, poprzez identyfikację asortymentu i określenie parametrów paletowych, aż po wyznaczenie lokalizacji docelowej.

    Transakcje WMS

  • android_dpmag_zl_as

    Skrypt android_dpmag_wzb.js to zaawansowany moduł mobilnego interfejsu w systemie Studio WMS.net, dedykowany obsłudze operacji wydania towaru w ramach dokumentów typu „WZB”. Jego głównym celem jest przeprowadzenie magazyniera przez proces realizacji dokumentu – od wprowadzenia numeru dokumentu, poprzez identyfikację pozycji przy użyciu kodu EAN, aż do zatwierdzenia operacji wraz z rejestracją szczegółowych danych dotyczących partii, palet

    Transakcje WMS

  • android_dpmag_zl_pal

    android_dpmag_wzb.js umożliwia szybkie i przejrzyste wydanie towaru. System łączy w sobie dynamiczne wprowadzanie danych, aktywną walidację oraz intuicyjną nawigację. Dzięki temu magazynier pracuje sprawnie, a operacje wydania realizuje z minimalnym ryzykiem pomyłek.

    Transakcje WMS