Obsługa Dokumentów PW w Aplikacji Mobilnej dla Magazyniera
Plik android_dpmag_pw.js obsługuje proces przyjęcia wewnętrznego (PW) 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:
- Ładuje parametry operacji, takie jak typ dokumentu (PW – przyjęcie wewnętrzne).
- Tworzy dynamiczny formularz dla użytkownika.
- Inicjalizuje pola do skanowania kodów EAN i wprowadzania ilości.
- Dodaje obsługę kodów QR do automatycznego wypełniania pól.
Obsługa dokumentów PW
Formularz podzielony jest na etapy:
STEP1 – Skanowanie kodu EAN
- Użytkownik skanuje kod EAN artykułu.
- System pobiera indeks, nazwę oraz ewentualny numer partii produktu.
STEP2 – Wprowadzenie numeru partii
- Jeśli produkt posiada numer partii, użytkownik musi go wprowadzić.
STEP3 – Wprowadzenie terminu ważności
- System pozwala na wybór terminu ważności produktu.
STEP4 – Wybór rodzaju palety
- Magazynier określa typ palety (np. EPAL).
STEP5 – Wprowadzenie numeru palety
- System umożliwia rejestrację numeru palety.
- Jeśli użytkownik wpisze „0”, system automatycznie wygeneruje numer palety.
STEP6 – Wprowadzenie ilości
- System weryfikuje poprawność ilości i czy mieści się w dopuszczalnym zakresie.
STEP7 – 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:
- Tworzy zapytanie SQL do rejestracji operacji.
- Jeśli termin ważności jest wymagany, dodaje go do rekordu.
- Po poprawnym zapisie usuwa wprowadzone dane i resetuje formularz.
Funkcja endFunc()
Odpowiada za zakończenie operacji:
- Jeśli dokument PW 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_pw.js to kluczowe narzędzie dla magazynierów realizujących przyjęcia wewnętrzne 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.
Skrypt android_dpmag_pw
Skrypt android_dpmag_pw stanowi mobilny interfejs użytkownika w systemie Studio WMS.net, dedykowanym obsłudze operacji magazynowych oznaczonych kodem „PW”. Jego głównym zadaniem jest umożliwienie magazynierowi szybkiego i precyzyjnego wprowadzania danych dotyczących przyjmowania i wydawania towaru – od identyfikacji produktu poprzez kod EAN, przez weryfikację danych asortymentowych, aż po określenie parametrów paletowych i wyznaczenie lokalizacji docelowej. Poniżej przedstawiono szczegółowy opis działania skryptu.
1. Inicjalizacja i dynamiczne generowanie formularza
Ustawienia początkowe
Na początku wykonywania funkcji MojaOnLoad() skrypt pobiera parametry przekazywane w adresie URL, takie jak prefiks dokumentu oraz typ dokumentu (zmienne gcPRX
i gcTYPDOK
). W przypadku ich braku przypisywane są domyślne wartości („PW”), co umożliwia dalsze przetwarzanie zgodnie z logiką operacji PW.
Budowa struktury formularza
Dynamicznie generowany jest kod HTML, który dzielony jest na kilka sekcji (STEP-y). Każda z nich odpowiada za zbieranie konkretnych informacji:
- Wiersz z kodem EAN
Formularz rozpoczyna się od pola do wprowadzenia kodu EAN produktu. Przy wpisaniu kodu i zatwierdzeniu (poprzez naciśnięcie klawisza Enter) następuje walidacja kodu, a w przypadku poprawnego odczytu – uzupełnienie ukrytych pól zawierających identyfikatory asortymentu (np.NRIDASN
orazNRIDODN
) oraz prezentacja danych takich jak indeks czy nazwa produktu. - STEP1 – Dane asortymentu i numer partii
Po potwierdzeniu poprawności kodu EAN, wyświetlany jest panel zawierający dane asortymentu w trybie tylko do odczytu (nazwa i indeks) oraz pole umożliwiające wprowadzenie numeru partii. Wprowadzenie numeru partii inicjuje przejście do kolejnych etapów formularza. - STEP2 – Termin ważności
Użytkownik określa termin ważności produktu przy użyciu kontrolki kalendarza (WebCalendar). Po wybraniu daty, warunek sprawdzany jest automatycznie – jeśli data jest prawidłowa, formularz przechodzi do kolejnego etapu. - STEP3 – Rodzaj palety
Następnie użytkownik wybiera rodzaj palety, wpisując odpowiedni kod w dedykowanym polu. W przypadku braku danych z bazy dla podanego kodu, system informuje o błędzie. - STEP4 – Numer palety
Kolejnym etapem jest wprowadzenie numeru palety. Skrypt umożliwia automatyczne nadawanie numeru (w przypadku wprowadzenia wartości „0”) lub weryfikację numeru palety przy użyciu zapytania do bazy. Wynik tej weryfikacji determinuje, czy operacja może przejść do kolejnego etapu. - STEP5 – Ilość towaru
Użytkownik określa ilość towaru przy użyciu kontrolki numerycznej. Wartość ta musi być większa od zera, co jest walidowane przez system. W przypadku prawidłowego wprowadzenia, użytkownik przechodzi do ostatniego etapu. - STEP6 – Lokalizacja docelowa
Na końcu formularza magazynier wprowadza lokalizację docelową, czyli miejsce, do którego towar zostanie przyjęty lub z którego zostanie wydany. W tle wykonywane są zapytania weryfikujące istnienie, aktywność oraz brak blokad wprowadzonej lokalizacji. Dla ułatwienia operacji system korzysta z mechanizmu konwersji – jeśli lokalizacja została podana w postaci liczbowej (np. jako identyfikator), następuje automatyczne przetłumaczenie jej na właściwy format adresu. - Sekcja STEP_SEARCH
W interfejsie dostępny jest również moduł skanowania kodów QR. Pozwala on na przyspieszenie procesu wprowadzania danych poprzez automatyczne odczytanie informacji z kodu QR. Integracja ta opiera się na załadowaniu odpowiedniej biblioteki (html5-qrcode_21.min.js) i skonfigurowaniu przycisku do wywoływania zdarzenia symulującego naciśnięcie klawisza Enter. - Przycisk „Zakończ”
Na samym dole formularza umieszczony jest przycisk umożliwiający finalizację operacji. Po jego aktywacji wywoływana jest funkcja endFunc(), która decyduje o zatwierdzeniu dokumentu lub zamknięciu interfejsu w zależności od statusu operacji.
2. Obsługa interakcji użytkownika i walidacja danych
Skrypt wykorzystuje rozbudowany mechanizm obsługi zdarzeń, aby zapewnić intuicyjną interakcję oraz poprawność wprowadzanych informacji:
- Walidacja kodu EAN
Po wprowadzeniu kodu EAN i zatwierdzeniu danych, wykonywane jest zapytanie do bazy (ssDataSQL) w celu weryfikacji istnienia kodu. W przypadku sukcesu ukrywane są niepotrzebne sekcje, a użytkownik otrzymuje dostęp do panelu z danymi asortymentu. W przeciwnym razie wyświetlany jest komunikat informujący o nieistnieniu kodu. - Przechodzenie między etapami
Każde pole formularza reaguje na zdarzeniakeyup
(szczególnie na naciśnięcie klawisza Enter) orazfocus
. Po zatwierdzeniu danych w danym polu (np. numer partii, termin ważności, rodzaj palety, numer palety, ilość), kolejne sekcje formularza stają się widoczne, a widok automatycznie przewija się do końca formularza, zapewniając ciągłość operacji. - Weryfikacja lokalizacji docelowej
Podczas wprowadzania adresu docelowego system sprawdza, czy lokalizacja istnieje oraz czy spełnia kryteria aktywności i braku blokad. W przypadku wykrycia nieprawidłowości użytkownik otrzymuje odpowiedni komunikat, a pole zostaje wyczyszczone, co umożliwia ponowne wprowadzenie poprawnych danych. - Integracja z modułem QR
Dzięki funkcjom triggerInputEvent() i configureQr() użytkownik może korzystać z modułu skanowania kodów QR. Po zeskanowaniu kodu, dane automatycznie trafiają do odpowiedniego pola, co znacznie przyspiesza proces i redukuje ryzyko błędów.
3. Przetwarzanie i zapis danych
Weryfikacja i przygotowanie danych
Funkcja saveDocument() stanowi rdzeń procesu zapisu danych operacji magazynowej. Przed wykonaniem operacji system sprawdza, czy wszystkie wymagane pola zostały poprawnie wypełnione (przy użyciu funkcji JqxTestWypelnienia()). Dodatkowo, następuje porównanie identyfikatora lokalizacji pobranej z bazy (nridwmsBaza) z wartością wprowadzoną przez użytkownika, aby upewnić się, że towar nie jest już składowany w innej lokalizacji.
Budowa parametrów zapytania
Na podstawie wprowadzonych danych tworzony jest ciąg parametrów, który obejmuje m.in.:
- Informacje o produkcie (identyfikatory asortymentu, numer partii, indeks, nazwa),
- Dane paletowe (numer palety, rodzaj palety),
- Dane lokalizacyjne (adres docelowy oraz identyfikator lokalizacji),
- Ilość towaru,
- Opcjonalnie – termin ważności, jeśli został podany.
W zależności od tego, czy termin ważności został określony, wywoływany jest odpowiedni proces zapisu (przy użyciu różnych identyfikatorów zapytań SQL). Przed wysłaniem parametrów do bazy dokonywana jest ich sanitacja (zamiana pojedynczych cudzysłowów), co zabezpiecza przed błędami podczas wykonywania zapytań.
Wykonanie zapytania i obsługa wyniku
Po przesłaniu danych do bazy (funkcja ssExSQL()) system sprawdza wynik operacji. W przypadku wystąpienia błędów wyświetlany jest komunikat, natomiast przy pomyślnym zapisie formularz jest resetowany (za pomocą funkcji clearPage(„all”)), a zmienna kontrolna isInsertedDocument
ustawiana jest na wartość true.
4. Finalizacja dokumentu
Na zakończenie operacji użytkownik ma możliwość zatwierdzenia dokumentu poprzez kliknięcie przycisku „Zakończ”, co wywołuje funkcję endFunc().
- Jeśli dokument został poprawnie zapisany, system proponuje zatwierdzenie dokumentu poprzez wywołanie funkcji setDocumentNumber(). Funkcja ta generuje unikalny numer dokumentu, wykorzystując mechanizm liczników (funkcja PobierzLicznikMiesiac()), a następnie wysyła dane do bazy.
- Po zatwierdzeniu dokumentu użytkownik otrzymuje komunikat potwierdzający, a interfejs zostaje odświeżony (funkcja closeWindow()), umożliwiając rozpoczęcie nowej operacji.
5. Funkcje pomocnicze i integracja z modułem QR
Skrypt zawiera szereg funkcji wspierających płynność operacji:
- clearPage(type): Funkcja ta umożliwia resetowanie wybranych sekcji formularza oraz czyszczenie pól, co jest niezbędne przy wykryciu błędnych danych lub przed rozpoczęciem nowej operacji.
- ustawNumerPalety(): Automatycznie generuje nowy, unikalny numer palety, korzystając z mechanizmu ciągłego licznika.
- scrollToEndOfPage(): Zapewnia, że po każdej operacji formularz automatycznie przewija się do końcowej części, umożliwiając użytkownikowi widoczność aktualnie aktywnego pola.
- Integracja QR: Funkcje triggerInputEvent() i configureQr() umożliwiają skonfigurowanie przycisku do skanowania kodów QR, co przyspiesza wprowadzanie danych, szczególnie przy odczycie kodu EAN.
Podsumowanie
Skrypt android_dpmag_pw to kompleksowe narzędzie mobilne w systemie Studio WMS.net, dedykowane obsłudze operacji magazynowych o kodzie „PW”. Dzięki starannie zaprojektowanemu, wieloetapowemu formularzowi oraz rozbudowanym mechanizmom walidacji, interakcji i automatyzacji (w tym integracji z modułem skanowania kodów QR), system zapewnia:
- Szybkie i precyzyjne wprowadzanie danych dotyczących identyfikacji produktu, palet oraz lokalizacji,
- Automatyczne przełączanie pomiędzy kolejnymi etapami operacji, co usprawnia pracę magazyniera,
- Dokładną weryfikację wprowadzanych informacji, minimalizując ryzyko błędów,
- Efektywny zapis i finalizację dokumentu przy użyciu unikalnych numerów operacyjnych.
Dzięki powyższym rozwiązaniom, system Studio WMS.net umożliwia optymalizację procesów magazynowych, podnosząc efektywność operacyjną oraz zapewniając wysoką jakość zarządzania towarem 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.
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.
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
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.