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:
- Ładuje parametry operacji, takie jak typ dokumentu (WZB – wydanie zewnętrzne blokowane).
- Tworzy dynamiczny formularz dla użytkownika.
- Inicjalizuje listę dostępnych dokumentów WZB.
- 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:
- Tworzy zapytanie SQL do rejestracji operacji WZB.
- 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
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.
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.
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.
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.