android_dpmag_wzb

Skrypt android_dpmag_wzb.js stanowi zaawansowany moduł mobilnego interfejsu systemu Studio WMS.net, dedykowany obsłudze operacji wydania towaru dla dokumentów typu „WZB”. Jego zadaniem jest przeprowadzenie magazyniera przez proces realizacji dokumentu – od wprowadzenia numeru dokumentu, poprzez identyfikację pozycji na podstawie kodu EAN, aż do zatwierdzenia operacji i finalizacji dokumentu. Poniżej przedstawiono szczegółowy opis działania skryptu.

Plik: android_dpmag_wzb.js – Obsługa Dokumentów WZB w Aplikacji Mobilnej dla Magazyniera

Plik android_dpmag_wzb.js obsługuje proces wydania zewnętrznego bezpośredniego (WZB) w aplikacji mobilnej Studio WMS.net. Skrypt umożliwia magazynierowi realizację zleceń wydań, skanowanie kodów EAN, wybór lokalizacji pobrania, określanie ilości oraz zapis operacji w systemie.

Funkcja MojaOnLoad()

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

  1. Ładuje parametry operacji, takie jak typ dokumentu (WZB – wydanie zewnętrzne blokowane).
  2. Tworzy dynamiczny formularz dla użytkownika.
  3. Inicjalizuje listę dostępnych dokumentów WZB.
  4. Dodaje obsługę kodów QR do automatycznego wypełniania pól.

Obsługa dokumentów WZB

Formularz podzielony jest na etapy:

STEP_REFNO – Wprowadzenie numeru zlecenia

  • 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 dostępne ilości produktu.

STEP1 – Wybór lokalizacji pobrania

  • Magazynier wprowadza adres pobrania towaru.
  • System weryfikuje, czy produkt jest dostępny w wybranej lokalizacji.

STEP2 – Wprowadzenie ilości do wydania

  • Użytkownik wpisuje ilość produktu do wydania.
  • System sprawdza, czy ilość nie przekracza dostępnych stanów.

Obsługa walidacji danych

Skrypt monitoruje interakcje użytkownika i reaguje na:

  • Wpisanie numeru zlecenia – ładuje szczegóły dokumentu.
  • Wpisanie kodu EAN – pobiera informacje o produkcie.
  • Wprowadzenie lokalizacji – aktywuje kolejne pola.
  • Wprowadzenie ilości – sprawdza, czy wartość nie przekracza dostępnej ilości.

Funkcja saveDocument()

Obsługuje zapis danych do bazy SQL:

  1. Tworzy zapytanie SQL do rejestracji operacji WZB.
  2. Po poprawnym zapisie usuwa wprowadzone dane i resetuje formularz.

Funkcja saveQuestion()

Odpowiada za zakończenie operacji:

  • Jeśli dokument WZB 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_wzb.js to kluczowe narzędzie dla magazynierów realizujących wydania zewnętrzne blokowane w aplikacji Studio WMS.net. Automatyzuje proces skanowania kodów EAN, wyboru lokalizacji i rejestracji operacji. Dzięki dynamicznej walidacji system zwiększa efektywność operacji magazynowych.

Skrypt android_dpmag_wzb.js

Skrypt android_dpmag_wzb.js stanowi zaawansowany moduł mobilnego interfejsu systemu Studio WMS.net, dedykowany obsłudze operacji wydania towaru dla dokumentów typu „WZB”. Jego zadaniem jest przeprowadzenie magazyniera przez proces realizacji dokumentu – od wprowadzenia numeru dokumentu, poprzez identyfikację pozycji na podstawie kodu EAN, aż do zatwierdzenia operacji i finalizacji dokumentu. Poniżej przedstawiono szczegółowy opis działania skryptu.


1. Inicjalizacja oraz dynamiczne generowanie formularza

Pobieranie parametrów i ustawienia wstępne

  • Parametry URL:
    Skrypt rozpoczyna działanie od pobrania parametrów z adresu URL:
    • gcPRX oraz gcTYPDOK – identyfikujące typ operacji. W przypadku braku tych parametrów domyślnie ustawiane są wartości „WZB”.
    • gcTryb – określający tryb pracy (np. „list” lub bezpośrednią realizację), co wpływa na sposób prezentacji dokumentów.

Budowa struktury interfejsu

Dynamicznie generowany kod HTML tworzy wieloetapowy formularz podzielony na logiczne sekcje:

  • STEP_REFNO:
    Umożliwia wprowadzenie numeru dokumentu. Użytkownik wpisuje numer dokumentu w polu NRZLECENIA, a system dynamicznie wyświetla listę dokumentów (LISTA_DOKUMENTOW), umożliwiając wybór właściwego zlecenia. Po zatwierdzeniu numeru dokumentu pole REFNO zostaje uzupełnione i zablokowane, co przygotowuje interfejs do kolejnych operacji.
  • STEP0 – Identyfikacja pozycji dokumentu:
    W tej sekcji magazynier wprowadza kod EAN (pole EANASN). Po zatwierdzeniu kodu wykonywane jest zapytanie do bazy danych, które weryfikuje, czy dany kod EAN odpowiada pozycji w dokumencie. W przypadku sukcesu system uzupełnia ukryte pola (m.in. NRIDASN, EANASN_Z_BAZY oraz REFNO_DPZLE) oraz wyświetla dane asortymentowe, takie jak nazwa produktu (NAZWAAS) i indeks (INDEKS).
  • Pozostałe pola informacji:
    Kolejne wiersze formularza prezentują dane dotyczące numeru partii (NRSERII), numeru palety (NRPALETY), rodzaju palety (PALETAKOD) oraz terminu ważności (TERMINWAZNOSCI). Wszystkie te pola są ustawione w trybie tylko do odczytu, gdyż ich wartości są pobierane z bazy lub uzupełniane automatycznie na podstawie wcześniej wprowadzonych danych.
  • Pole dotyczące lokalizacji:
    Dodatkowo, w formularzu znajduje się wiersz z informacją o lokalizacji pobrania – pole ADRES, które wyświetla proponowaną lokalizację, wynikającą z danych pozycji dokumentu. Informacje te są kluczowe przy weryfikacji, czy towar jest wydawany z właściwej lokalizacji.
  • Sekcja wprowadzania ilości:
    W ostatnim etapie formularza (STEP1) magazynier określa ilość towaru do wydania przy użyciu kontrolki numerycznej (ILOSC). Kontrolka ta została skonfigurowana tak, aby przyjmowała wartości nie mniejsze niż 1 oraz ograniczała ilość do maksymalnej wartości pobranej z bazy (ilość dostępna na lokalizacji).
  • Panel nawigacyjny i przycisk kończący:
    Na dole formularza umieszczony jest panel END_BUTTONS, zawierający przyciski umożliwiające nawigację między pozycjami dokumentu (przyciski „Poprzednia pozycja” i „Następna pozycja”) oraz przycisk „Zakończ”, który finalizuje operację.

2. Obsługa zdarzeń oraz walidacja wprowadzanych danych

Obsługa interakcji

Skrypt intensywnie wykorzystuje zdarzenia (takie jak keyup i focus), aby zapewnić dynamiczną i intuicyjną interakcję:

  • Numer dokumentu (REFNO):
    Użytkownik wprowadza numer dokumentu. Po naciśnięciu Enter system wywołuje funkcję setDoc(), która pobiera szczegółowe dane dotyczące dokumentu (poprzez getDocumentPositions()) i przełącza interfejs do trybu realizacji. W trybie „list” dynamicznie wyświetlana jest lista dokumentów, co umożliwia szybki wybór.
  • Kod EAN (EANASN):
    Po wpisaniu kodu EAN i zatwierdzeniu danych wywoływana jest procedura weryfikacji (poprzez zapytanie identyfikowane przez określony identyfikator SQL). Jeśli system znajdzie odpowiadający rekord, uzupełniane są pola asortymentu (NAZWAAS, INDEKS) oraz ukryte pola, a następnie użytkownik przechodzi do kolejnych etapów.
  • Wprowadzanie ilości (ILOSC):
    W polu ilości magazynier określa liczbę towaru do wydania. Skrypt weryfikuje, czy wprowadzona ilość nie przekracza wartości pobranej z dokumentu (iloscZBazy). W przypadku przekroczenia limitu system wyświetla komunikat informacyjny i prosi o korektę.
  • Walidacja lokalizacji:
    Podczas wprowadzania adresu (ADRES) system wykonuje zapytanie do bazy (na podstawie określonego identyfikatora), aby potwierdzić, że lokalizacja istnieje oraz spełnia wymagania (jest aktywna, nie jest zablokowana). W razie błędów użytkownik otrzymuje odpowiedni komunikat i pole zostaje zresetowane.
  • Nawigacja między pozycjami:
    Dzięki funkcji getNextPosition() magazynier może przełączać się między kolejnymi pozycjami dokumentu. Zmiana pozycji powoduje odświeżenie wyświetlanych danych przy użyciu funkcji setPositionValues().

Automatyczne przewijanie

Funkcja scrollToEndOfPage() dba o to, aby interfejs automatycznie przewijał się do dolnej części formularza, co ułatwia pracę na urządzeniach mobilnych i zapewnia, że użytkownik zawsze widzi aktualnie aktywną kontrolkę.


3. Przetwarzanie danych i zapis dokumentu

Pobieranie pozycji dokumentu

  • Funkcja getDocumentPositions():
    Pobiera szczegółowe dane dotyczące pozycji dokumentu WZB z bazy, na podstawie numeru REFNO oraz parametrów (gcPRX i gcTYPDOK). Wynik zapytania jest wykorzystywany do uzupełnienia pól asortymentowych (np. NAZWAAS, INDEKS, NRSERII, NRPALETY, PALETAKOD, TERMINWAZNOSCI) oraz do określenia ilości towaru dostępnej na danej pozycji.

Zapis operacji

  • Funkcja saveDocument():
    Po poprawnej walidacji wszystkich wymaganych pól (sprawdzenie odbywa się przy użyciu JqxTestWypelnienia) system buduje ciąg parametrów, który obejmuje m.in.:
    • Wprowadzoną ilość towaru (przeliczaną, w razie potrzeby, na wartość ujemną – typowo w operacjach wydania),
    • Numer referencyjny pozycji (REFNO_POZ),
    • Numer dokumentu (REFNO).
      Przed przesłaniem danych do bazy ciąg parametrów jest sanitowany (zamiana pojedynczych cudzysłowów) w celu uniknięcia błędów. Następnie wykonywane jest zapytanie do bazy (przy użyciu funkcji ssDataSQL) – w przypadku pomyślnego zapisu (gdy wartość REFNODOKUMENTU jest większa od zera) system przechodzi do odświeżenia danych dokumentu. Jeśli w dokumencie znajdują się kolejne pozycje, interfejs zostaje zresetowany, umożliwiając dalszą pracę; w przeciwnym razie następuje finalizacja dokumentu.

Finalizacja dokumentu

  • Funkcja setDocumentNumber():
    Po zakończeniu wprowadzania danych system generuje unikalny numer dokumentu, korzystając z mechanizmu liczników (wywoływana funkcja PobierzLicznikMiesiac) oraz przesyła finalne dane do bazy (poprzez ssExSQL). Po zatwierdzeniu dokumentu użytkownik otrzymuje komunikat potwierdzający, a system oferuje możliwość rozpoczęcia nowej operacji lub zamknięcia interfejsu.

4. Funkcje pomocnicze

Skrypt zawiera szereg funkcji wspomagających, które zwiększają ergonomię i precyzję pracy magazyniera:

  • clearPage(type):
    Umożliwia selektywne resetowanie wybranych sekcji formularza (np. czyszczenie pól EAN, ilości czy adresu) lub całego interfejsu, co pozwala na szybkie usunięcie błędnych danych i ponowne rozpoczęcie operacji.
  • clearWidgetsValues():
    Resetuje wartości wszystkich głównych pól formularza, takich jak REFNO, EAN, dane asortymentowe oraz ilość, zapewniając czysty stan interfejsu dla nowej operacji.
  • ustawNumerPalety():
    Automatycznie generuje nowy, unikalny numer palety, wykorzystując mechanizm ciągłej numeracji, co zapewnia spójność numeracji w systemie.
  • setDocList() oraz setTopDoc():
    W trybie listowym funkcje te umożliwiają prezentację listy dokumentów dostępnych do realizacji oraz wybór konkretnego dokumentu przez użytkownika. W trybie bezpośredniej realizacji, setTopDoc() automatycznie ładuje pierwszy dostępny dokument.
  • Nawigacja między pozycjami:
    Funkcja getNextPosition(type) umożliwia przełączanie się między kolejnymi pozycjami dokumentu, co pozwala na weryfikację i korektę danych w obrębie jednego dokumentu.
  • scrollToEndOfPage():
    Automatycznie przewija formularz do dolnej części, gwarantując, że użytkownik zawsze widzi aktywną kontrolkę, co jest szczególnie istotne w interfejsie mobilnym.

Podsumowanie

Skrypt android_dpmag_wzb.js w systemie Studio WMS.net to nowoczesne narzędzie mobilne, dedykowane obsłudze operacji wydania towaru dla dokumentów typu „WZB”. Dzięki wieloetapowemu, dynamicznie generowanemu formularzowi oraz rozbudowanym mechanizmom walidacji, integracji z bazą danych i nawigacji między pozycjami, system umożliwia:

  • Precyzyjne wprowadzanie danych dotyczących numeru dokumentu, identyfikacji pozycji przy użyciu kodu EAN oraz automatyczne uzupełnianie danych asortymentowych (nazwa, indeks, numer partii).
  • Weryfikację dostępności towaru poprzez porównanie ilości dostępnej w bazie z wprowadzoną ilością do wydania.
  • Automatyczne przełączanie między etapami operacji oraz łatwą nawigację między pozycjami dokumentu, co znacząco usprawnia pracę magazyniera.
  • Finalizację operacji poprzez generowanie unikalnego numeru dokumentu i zatwierdzanie przyjęcia, z możliwością rozpoczęcia nowej operacji lub zamknięcia interfejsu.

Dzięki zastosowanym rozwiązaniom, system Studio WMS.net podnosi efektywność operacyjną magazynu, minimalizując ryzyko błędów i zapewniając wysoką jakość zarządzania danymi logistycznymi w środowisku mobilnym.

Czytaj więcej:

  • 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

  • tablet_dpmag_pz

    Plik tablet_dpmag_pz.js obsługuje proces tworzenia i edycji dokumentu przyjęcia do magazynu (PZ) w systemie Studio WMS.net. Skrypt umożliwia dynamiczne dodawanie pozycji, walidację danych oraz zapis dokumentu w bazie SQL. Dzięki temu użytkownik może efektywnie zarządzać procesem przyjęcia towarów w magazynie.

    Transakcje WMS

  • tablet_dpmag_rw

    Plik tablet_dpmag_rw.js obsługuje proces tworzenia dokumentu rozchodu wewnętrznego (RW) w systemie Studio WMS.net. Skrypt umożliwia użytkownikowi dodawanie, edytowanie oraz zatwierdzanie dokumentu RW, a także obsługuje walidację danych oraz dynamiczne interakcje z bazą SQL.

    Transakcje WMS

  • tablet_dpmag_wz

    Plik tablet_dpmag_wz.js obsługuje tworzenie i edycję dokumentu wydania z magazynu (WZ) w Studio WMS.net. Skrypt umożliwia dynamiczne dodawanie pozycji, walidację danych oraz zapis dokumentu w bazie SQL. Dzięki temu użytkownik może efektywnie zarządzać procesem wydania towarów i kontrolować przepływ magazynowy.

    Transakcje WMS