Obsługa Dokumentów MM w Aplikacji Mobilnej dla Magazyniera
Plik android_dpmag_mm_aso.js odpowiada za obsługę dokumentów MM (między-magazynowych) w aplikacji mobilnej Studio WMS.net. Skrypt umożliwia magazynierowi realizację wydań i przyjęć magazynowych, obsługę lokalizacji, skanowanie kodów EAN oraz potwierdzanie operacji magazynowych.
Funkcja MojaOnLoad()
Główna funkcja odpowiedzialna za inicjalizację interfejsu użytkownika:
- Pobiera parametry operacji, takie jak numer dokumentu i tryb pracy.
- Tworzy dynamiczny formularz dla użytkownika.
- Inicjalizuje listę magazynów i dokumentów MM.
- Dodaje obsługę kodów QR dla skanowania produktów.
Obsługa dokumentów MM
Formularz podzielony jest na etapy:
STEP_TRYB – Wybór typu dokumentu
- Opcje: WYDANIE lub PRZYJĘCIE.
- Po wyborze przechodzi do kolejnych kroków.
STEP_MAGAZYN – Wybór magazynu docelowego
- Magazynier wskazuje miejsce przechowywania.
STEP_REFNO – Wprowadzenie numeru dokumentu
- Użytkownik wpisuje numer referencyjny lub wybiera dokument z listy.
STEP1 – Wybór lokalizacji
- Wprowadzenie adresu pobrania.
- System sprawdza dostępność lokalizacji.
STEP2 – Wprowadzenie numeru palety pobrania
- Wymagane przy wydaniach.
STEP3 – Skanowanie kodu EAN
- System pobiera indeks i nazwę asortymentu.
STEP4 – Wprowadzenie numeru partii
- Jeśli produkt wymaga śledzenia partii.
STEP5 – Wprowadzenie ilości
- System weryfikuje maksymalną możliwą ilość do wydania.
STEP6 – Wybór numeru palety docelowej
- Przy przyjęciach magazynowych.
STEP7 – Wybór rodzaju palety
- Użytkownik podaje typ palety (np. EPAL).
STEP8 – Wprowadzenie adresu docelowego
- Adres docelowy dla operacji przeniesienia.
Funkcja WydajTowar()
Obsługuje proces wydania towaru:
- Weryfikuje kompletność danych.
- Sprawdza, czy towar jest dostępny.
- Przesyła zapytanie SQL do zapisania operacji.
Funkcja PrzyjmijTowar()
Obsługuje proces przyjęcia towaru:
- Sprawdza poprawność adresu docelowego.
- Potwierdza przyjęcie do wskazanego magazynu.
Obsługa skanowania kodów
Skrypt wspiera:
- Skanowanie kodów QR dla EAN i lokalizacji.
- Automatyczne uzupełnianie pól po zeskanowaniu.
Podsumowanie
Plik android_dpmag_mm_aso.js to zaawansowane narzędzie dla magazynierów, umożliwiające sprawną realizację operacji wydania i przyjęcia towarów. Skrypt automatyzuje procesy magazynowe, integruje skanowanie kodów EAN oraz zapewnia dynamiczne zarządzanie operacjami w Studio WMS.net.
Skrypt android_dpmag_mm_aso.js
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.
1. Inicjalizacja i dynamiczne budowanie formularza
Funkcja MojaOnLoad() inicjuje działanie skryptu, pobierając parametry przekazywane w adresie URL (takie jak typ dokumentu czy prefiks) i ustawiając domyślne wartości w przypadku ich braku (np. gcPRX ustawia się na wartość „MMA”, a gcTYPDOK na „MM”). Następnie, za pomocą składanej zmiennej tekstowej, dynamicznie generowany jest kompleksowy formularz podzielony na wiele kroków (STEP). Każdy z etapów odpowiada za zbieranie określonych danych:
- STEP_TRYB: Umożliwia wybór trybu dokumentu (np. „PRZYJĘCIE” lub „WYDANIE”) przy użyciu interaktywnej listy dostępnych opcji.
- STEP_MAGAZYN: W trybie wydania użytkownik wybiera magazyn docelowy – lista magazynów jest pobierana z bazy i prezentowana w formie wyboru.
- STEP_REFNO: Etap dotyczący numeru dokumentu, w którym prezentowane są pola na numer zlecenia oraz ukryte identyfikatory dokumentu.
- STEP1 – STEP8: Kolejne etapy umożliwiają wprowadzenie szczegółowych danych operacyjnych, takich jak:
- Adres pobrania oraz identyfikator lokalizacji (STEP1),
- Numer palety pobrania (STEP2),
- Informacje dotyczące asortymentu – nazwa, indeks (STEP3_1),
- Kod EAN asortymentu (STEP3),
- Numer partii (STEP4),
- Ilość towaru (STEP5),
- Numer palety docelowej (STEP6),
- Rodzaj palety (STEP7),
- Adres docelowy wraz z identyfikatorem lokalizacji docelowej (STEP8).
Dodatkowo, w formularzu umieszczony został dedykowany przycisk „Zakończ” oraz mechanizm preloadera, który informuje użytkownika o trwającym przetwarzaniu danych.
2. Zarządzanie listami i wyborem opcji
Skrypt wykorzystuje szereg funkcji do prezentacji i obsługi interaktywnych list:
- setTrybList(param): Pobiera z bazy listę trybów pracy (np. „PRZYJĘCIE” i „WYDANIE”) i prezentuje je w formie listy. Po wyborze trybu, w zależności od jego wartości, wyświetlane są kolejne etapy formularza. Dla trybu „PRZYJĘCIE” pokazany zostaje etap z numerem dokumentu, natomiast dla trybu „WYDANIE” – lista magazynów.
- setMagazynList(param): Funkcja ta odpowiada za pobranie i wyświetlenie listy magazynów docelowych. Po dokonaniu wyboru magazynu formularz przechodzi do kolejnego etapu, umożliwiającego wprowadzenie adresu pobrania.
- setOrderList(param): W przypadku przyjęcia towaru funkcja ta prezentuje listę dokumentów MM oczekujących na realizację. Użytkownik może wybrać konkretny dokument, co powoduje załadowanie szczegółowych pozycji tego dokumentu.
Po wyborze dokumentu wykonywana jest funkcja setOrder(), która pobiera pozycje dokumentu z bazy, ustawia wartości poszczególnych pól (np. dane asortymentu, numer partii) i umożliwia przejście do kolejnych etapów realizacji operacji.
3. Obsługa zdarzeń i walidacja danych
Kluczową rolę w interakcji z użytkownikiem odgrywa funkcja addEvents(), która przypisuje zdarzenia (głównie keyup
i focus
) do poszczególnych pól formularza. Mechanizm ten umożliwia:
- Walidację wprowadzanych danych:
- Po naciśnięciu klawisza Enter w polu numeru dokumentu (NRZLECENIA) następuje weryfikacja wprowadzonych danych oraz, w razie potrzeby, automatyczne wyszukiwanie dokumentu w bazie.
- Podobnie, pola takie jak adres pobrania (ADRES_POBRANIA), numer palety pobrania, kod EAN (EANASN) oraz numer partii (NRSERII) są walidowane. Skrypt sprawdza m.in. aktywność lokalizacji, poprawność kodu EAN, zgodność numeru partii z danymi asortymentu oraz maksymalną dopuszczalną ilość towaru.
- Dynamiczne przełączanie etapów:
W momencie zatwierdzenia poprawnych danych przez naciśnięcie Enter, odpowiednie sekcje formularza (kolejne STEP-y) stają się widoczne, a formularz automatycznie przewija się do końcowej części, aby użytkownik miał pełny dostęp do kolejnych pól. - Integrację z systemem skanowania kodów QR:
Funkcje triggerInputEvent() oraz configureQr() umożliwiają skanowanie kodów QR, co przyspiesza wprowadzanie danych i zwiększa precyzję operacji.
Wszystkie powyższe działania są zabezpieczone mechanizmem blokowania wielokrotnego przetwarzania (zmienna isProcessing
), co zapobiega niezamierzonym wywołaniom tych samych operacji.
4. Przetwarzanie operacji magazynowych
Skrypt rozróżnia dwa podstawowe scenariusze operacyjne:
- Wydanie towaru:
Funkcja WydajTowar() zbiera niezbędne dane (takie jak identyfikator asortymentu, numery palet, ilość, numer partii oraz dane magazynu) i przesyła je do bazy przy użyciu dedykowanego zapytania SQL. Po poprawnym zapisaniu danych system potwierdza wydanie pozycji poprzez komunikat oraz resetuje odpowiednie pola formularza, umożliwiając wprowadzanie kolejnych operacji. - Przyjęcie towaru:
Analogicznie, funkcja PrzyjmijTowar() gromadzi dane dotyczące przyjęcia towaru (numer dokumentu, identyfikator lokalizacji docelowej, ilość) i przesyła je do bazy. W przypadku powodzenia operacji formularz jest aktualizowany, a system informuje użytkownika o poprawnym przyjęciu pozycji.
W obu przypadkach, po zakończeniu operacji, wywoływane są funkcje odpowiedzialne za czyszczenie formularza (np. clearPage()) oraz za finalizację dokumentu. Dodatkowo, funkcja setDocumentNumber() umożliwia zatwierdzenie numeru dokumentu, generując unikalny identyfikator oraz oferując użytkownikowi możliwość rozpoczęcia realizacji nowego dokumentu.
5. Mechanizmy ułatwiające pracę i finalizacja operacji
Oprócz podstawowej logiki przetwarzania, skrypt zawiera szereg dodatkowych funkcji usprawniających pracę magazyniera:
- clearPage(type): Funkcja ta resetuje poszczególne pola formularza oraz ukrywa niepotrzebne sekcje w zależności od etapu operacji. Umożliwia to szybkie wyczyszczenie interfejsu w przypadku wystąpienia błędu lub potrzeby ponownego wprowadzenia danych.
- saveQuestion(Tryb): Odpowiada za finalizację dokumentu. W zależności od kontekstu (wydanie lub przyjęcie) oraz tego, czy została już dodana pozycja dokumentu, użytkownik otrzymuje komunikat potwierdzający zakończenie operacji oraz propozycję rozpoczęcia nowego dokumentu.
- Integracja z funkcjami generującymi numery: Funkcja ustawNumerPalety() generuje nowy, unikalny numer palety, wykorzystując mechanizmy ciągłego licznika, co gwarantuje spójność i unikalność identyfikatorów w systemie.
- Mechanizm automatycznego przewijania: Funkcja scrollToEndOfPage() zapewnia, że użytkownik zawsze widzi aktualnie wymagany fragment formularza, co jest szczególnie ważne w interfejsie mobilnym.
6. Podsumowanie
Skrypt android_dpmag_mm_aso.js w systemie Studio WMS.net dostarcza kompleksowe narzędzie umożliwiające mobilną obsługę dokumentów magazynowych MM. Dzięki dynamicznie generowanemu, wieloetapowemu formularzowi oraz rozbudowanym mechanizmom walidacji i interakcji, skrypt:
- Umożliwia wybór trybu operacji (przyjęcie lub wydanie) oraz odpowiednią konfigurację formularza,
- Zapewnia precyzyjną weryfikację wprowadzanych danych (m.in. adresów, kodów EAN, numerów palet i partii),
- Integruje funkcjonalność skanowania kodów QR, przyspieszając proces wprowadzania danych,
- Umożliwia przesyłanie operacji do bazy danych, co skutkuje zatwierdzeniem dokumentu oraz aktualizacją stanu magazynowego,
- Zapewnia intuicyjne komunikaty oraz mechanizmy resetowania formularza, co znacząco usprawnia pracę magazyniera.
Dzięki tym rozwiązaniom, system Studio WMS.net oferuje nowoczesne i elastyczne narzędzie do zarządzania operacjami magazynowymi, które podnosi efektywność i precyzję w codziennych zadaniach logistycznych.
Czytaj więcej:
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.
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.