android_dpmag_wz

Skrypt android_dpmag_wz.js stanowi integralny element mobilnego interfejsu systemu Studio WMS.net, dedykowanego obsłudze operacji wydania towaru (WZ). Jego głównym zadaniem jest umożliwienie magazynierowi realizacji procesów związanych z wydawaniem towaru z magazynu, począwszy od wyboru dokumentu, poprzez identyfikację pozycji przy użyciu kodu EAN

Obsługa Dokumentów WZ w Aplikacji Mobilnej dla Magazyniera

Plik android_dpmag_wz.js obsługuje proces wydania zewnętrznego (WZ) 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 (WZ – wydanie zewnętrzne).
  2. Tworzy dynamiczny formularz dla użytkownika.
  3. Inicjalizuje listę dostępnych dokumentów WZ.
  4. Dodaje obsługę kodów QR do automatycznego wypełniania pól.

Obsługa dokumentów WZ

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 WZ.
  2. Po poprawnym zapisie usuwa wprowadzone dane i resetuje formularz.

Funkcja saveQuestion()

Odpowiada za zakończenie operacji:

  • Jeśli dokument WZ 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_wz.js to kluczowe narzędzie dla magazynierów realizujących wydania zewnętrzne 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_wz.js stanowi integralny element mobilnego interfejsu systemu Studio WMS.net, dedykowanego obsłudze operacji wydania towaru (WZ). Jego głównym zadaniem jest umożliwienie magazynierowi realizacji procesów związanych z wydawaniem towaru z magazynu, począwszy od wyboru dokumentu, poprzez identyfikację pozycji przy użyciu kodu EAN, aż do rejestracji szczegółowych danych dotyczących partii, palet oraz lokalizacji. Poniżej przedstawiono szczegółowy opis działania skryptu.


1. Inicjalizacja i dynamiczne generowanie formularza

Pobieranie parametrów i ustawienia wstępne

Na początku funkcji MojaOnLoad() skrypt pobiera z adresu URL kluczowe parametry, takie jak:

  • Prefiks dokumentu (gcPRX) oraz typ dokumentu (gcTYPDOK).
    Jeśli te parametry nie są określone, przypisywane są domyślne wartości „WZ”, co jednoznacznie wskazuje, że operacja dotyczy wydania towaru.
  • Tryb pracy (gcTryb), który decyduje o sposobie prezentacji dokumentów – w trybie „list” wyświetlana jest lista dokumentów do realizacji, natomiast w trybie realizacji pojedynczego dokumentu interfejs automatycznie przechodzi do wczytywania szczegółów.

Budowa formularza

Skrypt dynamicznie generuje strukturę formularza, dzieloną na kilka logicznych sekcji:

  • STEP_REFNO:
    Umożliwia wprowadzenie numeru dokumentu. W tym etapie użytkownik wpisuje numer dokumentu (pole NRZLECENIA), a system wyświetla dynamiczną listę dostępnych dokumentów (LISTA_DOKUMENTOW). Po zatwierdzeniu numeru dokumentu, pole REFNO zostaje automatycznie uzupełnione i zablokowane, co umożliwia przejście do kolejnych kroków.
  • STEP0 – Identyfikacja pozycji dokumentu:
    W tej sekcji magazynier wprowadza kod EAN (pole EANASN). Po zatwierdzeniu kodu EAN wykonywane jest zapytanie do bazy danych, które weryfikuje istnienie produktu w obrębie danego dokumentu. W przypadku pozytywnej weryfikacji system automatycznie uzupełnia ukryte pola, takie jak NRIDASN, EANASN_Z_BAZY oraz REFNO_DPZLE, a także prezentuje dane asortymentu, w tym nazwę (NAZWAAS) i indeks (INDEKS). Dodatkowo, wyświetlane są informacje dotyczące pozostałej ilości towaru do wydania oraz proponowana lokalizacja (ADRESPOBRANIA).
  • STEP1 – Lokalizacja pobrania:
    Po identyfikacji pozycji dokumentu użytkownik przechodzi do etapu wprowadzenia lokalizacji pobrania. W tym kroku wyświetlane jest pole ADRES, w którym magazynier wpisuje lokalizację, z której towar ma zostać wydany. System dokonuje weryfikacji podanego adresu – jeśli adres jest podany jako liczba (np. identyfikator lokalizacji), następuje jego konwersja na czytelny format. W wyniku poprawnej weryfikacji wyświetlane są dodatkowe informacje, takie jak numer pozycji, a także przypisywana jest wartość pola POZOSTALO_DO_WYDANIA.
  • STEP2 – Dane partii, palety oraz termin ważności:
    W tej sekcji wyświetlane są dane związane z partią towaru – numer partii (NRSERII), a także dane dotyczące palety. Ponadto, użytkownik ma możliwość określenia terminu ważności (TERMINWAZNOSCI) przy użyciu kontrolki kalendarza. Wszystkie te pola są w trybie tylko do odczytu, ponieważ dane te są pobierane z dokumentu lub uzupełniane automatycznie na podstawie wcześniejszych operacji.
  • Sekcja nawigacyjna – przyciski sterujące:
    W dolnej części formularza umieszczony jest panel z przyciskami umożliwiającymi nawigację między kolejnymi pozycjami dokumentu (przyciski „Poprzednia pozycja” i „Następna pozycja”). Panel ten, oznaczony jako END_BUTTONS, pojawia się po załadowaniu danych dokumentu, umożliwiając magazynierowi przeglądanie kolejnych pozycji.
  • Przycisk „Zakończ”:
    Na samym dole formularza znajduje się przycisk kończący operację. Jego aktywacja wywołuje funkcję saveQuestion(), która umożliwia zatwierdzenie dokumentu – w przypadku, gdy dokument został poprawnie zapisany, system generuje unikalny numer dokumentu i oferuje możliwość rozpoczęcia nowej operacji lub zakończenia pracy.

2. Obsługa zdarzeń i walidacja danych

Skrypt intensywnie korzysta z mechanizmów obsługi zdarzeń (event handling) oraz walidacji, aby zapewnić prawidłowe i intuicyjne wprowadzanie danych:

  • Pole NRZLECENIA:
    Użytkownik wpisuje numer dokumentu, a zdarzenie keyup (szczególnie naciśnięcie klawisza Enter) powoduje:
    • Weryfikację formatu numeru dokumentu – rozróżnienie między wpisywaniem ręcznym a automatycznym odczytem (np. z czytnika kodów).
    • Jeśli numer dokumentu jest poprawny, wywoływana jest funkcja setOrder(), która pobiera szczegółowe dane dokumentu z bazy i przełącza interfejs do trybu realizacji.
    • W trybie listowym, gdy użytkownik wpisze fragment numeru, dynamicznie wyświetlana jest lista dostępnych dokumentów, co umożliwia szybki wybór.
  • Pole EANASN:
    Po wpisaniu kodu EAN i zatwierdzeniu (Enter) następuje wykonanie zapytania do bazy (np. przy użyciu identyfikatora zapytania E74C2EFA-C86F-4C15-96E3-C817F1966C5A). W przypadku znalezienia pozycji w dokumencie system:
    • Uzupełnia pola dotyczące asortymentu (INDEKS, NAZWAAS) oraz identyfikatory (NRIDASN).
    • Ustawia wartość pozostałej ilości towaru do wydania oraz proponowaną lokalizację pobrania.
    • Przechodzi do kolejnego etapu, umożliwiając użytkownikowi wprowadzenie lokalizacji pobrania (STEP1).
  • Pole ADRES:
    W etapie wprowadzania lokalizacji pobrania użytkownik wpisuje adres, który poddawany jest walidacji. Jeśli adres jest przekazywany jako wartość numeryczna (np. identyfikator lokalizacji), system dokonuje konwersji na pełną nazwę lokalizacji, wykorzystując zapytanie do bazy. Po poprawnej weryfikacji wyświetlane są dane pozycji, takie jak ilość dostępna na lokalizacji (POZOSTALO_DO_WYDANIA), co umożliwia dalszą realizację operacji.
  • Pole ILOSC:
    Użytkownik określa ilość towaru do wydania, a kontrolka numeryczna waliduje, czy wartość nie przekracza ustalonego limitu (max ilość wynikająca z danych dokumentu lub stanu lokalizacji). W przypadku przekroczenia limitu wyświetlany jest komunikat, a użytkownik proszony jest o korektę wartości.
  • Automatyczne przewijanie:
    Funkcja scrollToEndOfPage() dba o to, aby formularz automatycznie przewijał się do dolnej części, umożliwiając użytkownikowi łatwy dostęp do kolejnych sekcji, co jest szczególnie istotne w interfejsie mobilnym.
  • Nawigacja między pozycjami:
    Przyciski „Poprzednia pozycja” oraz „Następna pozycja” umożliwiają przeglądanie kolejnych pozycji dokumentu. Funkcja getNextPosition(type) zmienia indeks aktualnie wyświetlanej pozycji i odświeża dane w formularzu, co pozwala magazynierowi na szybką korektę lub zatwierdzenie kolejnych pozycji.

3. Przetwarzanie danych i zapis dokumentu

Pobieranie danych dokumentu

Funkcja getDocumentPositions() pobiera szczegółowe pozycje dokumentu WZ z bazy danych na podstawie numeru REFNO. Wynik tego zapytania służy do ustawienia danych asortymentowych (np. nazwy, indeksu, pozostałej ilości do wydania) oraz umożliwia nawigację między poszczególnymi pozycjami dokumentu.

Zapis operacji

Funkcja saveDocument() odpowiada za finalny zapis operacji wydania towaru. Kluczowe etapy tego procesu obejmują:

  • Walidację:
    Przed zapisaniem danych system sprawdza, czy wszystkie wymagane pola zostały poprawnie wypełnione (przy użyciu funkcji JqxTestWypelnienia).
  • Budowę parametrów:
    Na podstawie danych wprowadzonych przez użytkownika (takich jak identyfikator asortymentu, numer pozycji, ilość, adres pobrania, numer referencyjny pozycji) budowany jest ciąg parametrów, który jest sanitowany (np. poprzez zastąpienie pojedynczych cudzysłowów) i przesyłany do bazy przy użyciu funkcji ssDataSQL.
  • Wykonanie zapytania:
    Po przesłaniu danych, system sprawdza wynik operacji – jeśli zapytanie zwróci poprawny numer dokumentu (REFNODOKUMENTU > 0), system interpretuje to jako pomyślny zapis. Następnie wywoływana jest funkcja getDocumentPositions() w celu odświeżenia danych, a w przypadku braku kolejnych pozycji następuje finalizacja dokumentu poprzez funkcję setDocumentNumber().
  • Obsługa błędów:
    W przypadku wystąpienia błędu (np. gdy wynik zapytania zawiera komunikat UWAGI lub gdy zapytanie nie zwróci żadnych danych) użytkownik otrzymuje odpowiedni komunikat, a formularz zostaje zresetowany, umożliwiając ponowne wprowadzenie danych.

Finalizacja dokumentu

Funkcja setDocumentNumber() generuje unikalny numer dokumentu, korzystając z mechanizmu liczników (funkcja PobierzLicznikMiesiac), a następnie przesyła dane finalne do bazy. Po pomyślnym zatwierdzeniu dokumentu użytkownik otrzymuje potwierdzenie, a system oferuje możliwość rozpoczęcia nowej operacji lub zamknięcia interfejsu.


4. Funkcje pomocnicze

Skrypt zawiera szereg funkcji wspierających poprawność i ergonomię pracy:

  • clearPage(type):
    Funkcja ta umożliwia selektywne resetowanie poszczególnych sekcji formularza (np. czyszczenie pola EAN, adresu czy ilości) lub całego interfejsu, co pozwala na szybkie usunięcie błędnie wprowadzonych danych.
  • ustawNumerPalety():
    Automatycznie generuje nowy, unikalny numer palety na podstawie ciągłej numeracji, co gwarantuje spójność danych.
  • setDocList() i setTopOrder():
    W trybie listowym funkcje te umożliwiają prezentację listy dokumentów do realizacji oraz wybór konkretnego dokumentu, który następnie jest ładowany do dalszej obróbki.
  • addEvents():
    Konfiguruje wszystkie zdarzenia (np. keyup, focus) dla poszczególnych pól formularza, zapewniając dynamiczną reakcję interfejsu na wprowadzane dane.
  • scrollToEndOfPage():
    Automatycznie przewija formularz do jego dolnej części, co jest szczególnie istotne w warunkach mobilnych.
  • getNextPosition(type):
    Umożliwia nawigację między kolejnymi pozycjami dokumentu, pozwalając magazynierowi na przejrzenie i ewentualną korektę danych dla różnych pozycji.

Podsumowanie

Skrypt android_dpmag_wz.js w systemie Studio WMS.net to zaawansowane narzędzie mobilne, dedykowane obsłudze operacji wydania towaru (WZ). Dzięki dynamicznie generowanemu, wieloetapowemu formularzowi oraz rozbudowanym mechanizmom walidacji i integracji z bazą danych, system umożliwia:

  • Precyzyjne wprowadzanie danych dotyczących numeru dokumentu, kodu EAN oraz pozostałych parametrów asortymentowych,
  • Automatyczne przełączanie się między kolejnymi etapami operacji (m.in. identyfikacja produktu, weryfikacja lokalizacji pobrania, wprowadzenie ilości towaru),
  • Kontrolę poprawności wprowadzanych danych za pomocą zapytań do bazy, co minimalizuje ryzyko błędów,
  • Szybką nawigację między pozycjami dokumentu oraz finalizację operacji poprzez generowanie unikalnego numeru dokumentu.

Dzięki tym rozwiązaniom, system Studio WMS.net usprawnia proces wydania towaru, podnosząc efektywność operacyjną magazynu oraz zapewniając wysoką jakość zarządzania danymi logistycznymi w środowisku mobilnym.

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_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_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