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.

Obsługa Przesunięć Między-Magazynowych (MM) z Paletami w Aplikacji Mobilnej

Plik android_dpmag_mm_pal.js odpowiada za obsługę przesunięć między-magazynowych (MM) z wykorzystaniem palet w aplikacji mobilnej Studio WMS.net. Skrypt umożliwia magazynierowi realizację przesunięć towarów pomiędzy magazynami, obsługę lokalizacji, skanowanie kodów EAN oraz weryfikację dokumentów MM.

Funkcja MojaOnLoad()

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

  1. Pobiera parametry operacji, takie jak numer dokumentu i tryb pracy.
  2. Tworzy dynamiczny formularz dla użytkownika.
  3. Inicjalizuje listę magazynów, dokumentów MM i dostępnych palet.
  4. Dodaje obsługę kodów QR dla skanowania produktów.

Obsługa przesunięć 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 magazyn przeznaczenia.

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

  • Weryfikacja, czy paleta znajduje się w magazynie.

STEP3_1 – Informacje o produkcie

  • Nazwa asortymentu.
  • Indeks magazynowy.
  • Numer partii (jeśli dotyczy).

STEP3 – Wprowadzenie ilości

  • Weryfikacja ilości możliwej do wydania.

STEP4 – Wprowadzenie adresu docelowego

  • Wybór lokalizacji dla przesunięcia palety.

Obsługa zdarzeń użytkownika

Skrypt monitoruje interakcje użytkownika i reaguje na:

  • Wybór magazynu docelowego.
  • Wpisanie kodu palety – weryfikacja dostępności.
  • Wprowadzenie ilości – walidacja maksymalnej wartości.
  • Wskazanie lokalizacji docelowej.

Funkcja WydajTowar()

Obsługuje proces wydania towaru:

  1. Weryfikuje kompletność danych.
  2. Sprawdza, czy paleta jest dostępna w lokalizacji.
  3. Przesyła zapytanie SQL do zapisania operacji.

Funkcja PrzyjmijTowar()

Obsługuje proces przyjęcia palety:

  • Sprawdza poprawność adresu docelowego.
  • Potwierdza przyjęcie palety do wskazanego magazynu.

Obsługa skanowania kodów

Skrypt wspiera:

  • Skanowanie kodów QR dla numerów palet i lokalizacji.
  • Automatyczne uzupełnianie pól po zeskanowaniu.

Podsumowanie

Plik android_dpmag_mm_pal.js to kluczowe narzędzie dla magazynierów, umożliwiające sprawną realizację przesunięć między-magazynowych. Skrypt automatyzuje procesy przesunięć, integruje skanowanie kodów EAN oraz zapewnia dynamiczne zarządzanie dokumentami MM w aplikacji mobilnej Studio WMS.net.

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. Jego głównym zadaniem jest dynamiczne budowanie i zarządzanie wieloetapowym formularzem, który umożliwia magazynierowi precyzyjne wprowadzanie danych dotyczących operacji magazynowych, w tym wyboru trybu operacji, identyfikacji dokumentu, weryfikacji lokalizacji, obsługi numeracji palet oraz ostatecznego zatwierdzania przyjęcia lub wydania towaru. Poniżej przedstawiono szczegółowy opis funkcjonalności skryptu.


1. Inicjalizacja i dynamiczne generowanie formularza

Ustawienia początkowe

Na początku działania funkcji MojaOnLoad() pobierane są parametry URL, takie jak prefiks dokumentu (gcPRX) oraz typ dokumentu (gcTYPDOK). W przypadku ich braku przypisywane są domyślne wartości (odpowiednio „MMA” i „MM”). Następnie, skrypt buduje strukturę formularza, generując dynamicznie kod HTML podzielony na szereg sekcji (STEP). Każda z sekcji odpowiada za zbieranie określonych informacji:

  • STEP_TRYB:
    Umożliwia wybór trybu dokumentu magazynowego (np. „PRZYJĘCIE” lub „WYDANIE”) poprzez interaktywną listę. Wybór ten decyduje o dalszej ścieżce operacyjnej – przyjęcie towaru wymaga podania numeru dokumentu, natomiast w przypadku wydania dodatkowo wybierany jest magazyn docelowy.
  • STEP_MAGAZYN:
    W przypadku operacji wydania towaru użytkownik wybiera magazyn docelowy. Lista dostępnych magazynów jest pobierana z bazy danych, a wynik prezentowany jest w formie interaktywnego wyboru.
  • STEP_REFNO:
    Sekcja zawiera pola służące do wprowadzenia numeru dokumentu. Oprócz głównego pola na numer zlecenia (NRZLECENIA), ukryte są również pola przechowujące identyfikator dokumentu (REFNO_ZL oraz REFNO).
  • STEP1 i STEP2:
    Umożliwiają wprowadzenie adresu pobrania (ADRES_POBRANIA) oraz numeru palety pobrania (NRPALETY_POBRANIA). W tle pobierany jest także identyfikator lokalizacji (NRIDWMS_POBRANIA) na podstawie wprowadzonego adresu.
  • STEP3_1 i STEP3:
    W tych etapach formularza prezentowane są dane asortymentu, takie jak nazwa (NAZWAAS), indeks (INDEKS) oraz numer partii (NRSERII). Dodatkowo, użytkownik wprowadza ilość towaru (ILOSC) przy użyciu specjalnego kontrolera liczbowego, który umożliwia precyzyjne określenie wartości oraz ustalenie maksymalnej dopuszczalnej ilości do wydania.
  • STEP4:
    Na tym etapie użytkownik wprowadza adres docelowy (ADRES_DOCELOWY), przy czym w tle pobierany jest identyfikator lokalizacji docelowej (NRIDWMS_DOCELOWY).
  • STEP_SEARCH:
    W interfejsie dostępna jest również opcja skanowania kodów QR, co znacząco przyspiesza wprowadzanie danych. Mechanizm ten jest realizowany poprzez przycisk, który po naciśnięciu wywołuje funkcję symulującą zdarzenie klawisza Enter.
  • Przycisk „Zakończ”:
    Formularz kończy się przyciskiem umożliwiającym zatwierdzenie operacji. Po jego naciśnięciu wywoływana jest procedura finalizująca dokument, która w zależności od trybu operacji (przyjęcie lub wydanie) uruchamia odpowiednie funkcje przetwarzające dane.

Całość formularza jest dynamicznie osadzana w elemencie o identyfikatorze formularz, a dodatkowe funkcje, takie jak ssTlumaczenie(), zapewniają dostosowanie interfejsu do aktualnie wybranego języka.


2. Interakcja użytkownika i walidacja danych

Skrypt opiera się na rozbudowanym systemie obsługi zdarzeń, który gwarantuje interaktywność oraz poprawność wprowadzanych danych. Kluczowe mechanizmy obejmują:

  • Walidację pól:
    Każde z pól formularza, takie jak adres pobrania, numer palety, ilość czy adres docelowy, podlega weryfikacji przy użyciu zapytań do bazy danych (funkcja ssDataSQL()). Sprawdzane są m.in. warunki aktywności lokalizacji, brak blokad, czy lokalizacja nie należy do strefy kompletacji. W przypadku nieprawidłowych danych system informuje użytkownika za pomocą komunikatów (funkcje JqxTooltip() i JqxAlert()).
  • Dynamiczne przełączanie sekcji:
    W zależności od wprowadzonych danych oraz wybranego trybu operacji, kolejne etapy formularza stają się widoczne. Funkcje setTrybList(), setMagazynList() oraz setOrderList() pobierają dane z bazy i prezentują je w formie list wyboru. Po dokonaniu wyboru wywoływana jest funkcja setOrder(), która pobiera szczegółowe dane dokumentu i ustawia je w formularzu (przy użyciu funkcji setPositionValues()).
  • Obsługa zdarzeń klawiatury i skupienia:
    Skrypt reaguje na zdarzenia typu keyup i focus, co umożliwia natychmiastowe przejście do kolejnych etapów po naciśnięciu klawisza Enter. Dzięki temu proces wprowadzania danych jest szybki i intuicyjny, a użytkownik nie musi ręcznie przewijać formularza – funkcja scrollToEndOfPage() automatycznie przesuwa widok do aktualnie aktywnego pola.
  • Integracja z modułem skanowania QR:
    Aby usprawnić proces wprowadzania danych, szczególnie kodów EAN, skrypt integruje mechanizm skanowania kodów QR. Funkcje triggerInputEvent() oraz configureQr() umożliwiają aktywację skanera, co pozwala na automatyczne przekazywanie zeskanowanych danych do odpowiednich pól formularza.

3. Przetwarzanie operacji magazynowych

Skrypt rozróżnia dwa podstawowe scenariusze operacyjne – wydanie towaru oraz przyjęcie towaru:

  • Wydanie towaru:
    Funkcja WydajTowar() zbiera niezbędne dane, takie jak identyfikator lokalizacji pobrania (NRIDWMS_POBRANIA), numer palety pobrania (NRPALETY_POBRANIA) oraz wybrany magazyn docelowy (MAGAZYN). Zebrane parametry są przesyłane do bazy danych za pomocą zapytania SQL. W przypadku pomyślnego zapisu, system potwierdza wydanie pozycji, aktualizuje identyfikator dokumentu (gcRefno) oraz resetuje formularz, umożliwiając dalszą pracę.
  • Przyjęcie towaru:
    Funkcja PrzyjmijTowar() realizuje operację przyjęcia towaru, gromadząc dane takie jak numer dokumentu, identyfikator lokalizacji docelowej (NRIDWMS_DOCELOWY) oraz ilość towaru. Po przesłaniu danych do bazy i uzyskaniu potwierdzenia (zwrot REFNODOKUMENTU), system aktualizuje stan dokumentu, wyświetla komunikat potwierdzający przyjęcie, a następnie, w zależności od dalszych warunków, umożliwia kontynuację operacji lub finalizację dokumentu.

W obu przypadkach krytycznym elementem jest walidacja oraz obsługa błędów. W sytuacjach nieprawidłowych danych użytkownik otrzymuje odpowiednie komunikaty, a formularz zostaje automatycznie zresetowany (za pomocą funkcji clearPage()).


4. Finalizacja dokumentu i dodatkowe funkcje pomocnicze

Po zakończeniu wprowadzania danych użytkownik ma możliwość zatwierdzenia dokumentu. Proces ten jest obsługiwany przez funkcję setDocumentNumber(), która generuje unikalny numer dokumentu przy użyciu mechanizmu liczników (funkcja PobierzLicznikMiesiac()). W przypadku powodzenia operacji użytkownik otrzymuje komunikat potwierdzający oraz opcję rozpoczęcia nowego dokumentu (poprzez saveQuestion()).

Dodatkowo skrypt zawiera szereg funkcji pomocniczych:

  • clearPage(type): Resetuje określone pola formularza i ukrywa nieaktywne sekcje w zależności od etapu operacji, umożliwiając szybkie wyczyszczenie interfejsu w razie potrzeby.
  • ustawNumerPalety(): Generuje nowy, unikalny numer palety przy użyciu mechanizmu ciągłego licznika.
  • scrollToEndOfPage(): Automatycznie przewija formularz, aby użytkownik zawsze widział aktywne pole.
  • closeWindow(): Odświeża stronę, co umożliwia rozpoczęcie nowej operacji po zakończeniu bieżącej.

Integracja z modułem skanowania QR (funkcje triggerInputEvent() oraz configureQr()) dodatkowo usprawnia proces wprowadzania danych, czyniąc system bardziej przyjaznym dla użytkownika.


Podsumowanie

Skrypt android_dpmag_mm_pal.js w systemie Studio WMS.net to kompleksowe narzędzie mobilne dedykowane obsłudze dokumentów magazynowych MM, szczególnie w kontekście operacji związanych z wydawaniem oraz przyjmowaniem towaru. Dzięki dynamicznie budowanemu, wieloetapowemu formularzowi oraz rozbudowanym mechanizmom walidacji, integracji ze skanerem kodów QR oraz systemowi komunikatów błędów, skrypt zapewnia:

  • Intuicyjną i efektywną pracę magazyniera przy wprowadzaniu i weryfikacji danych,
  • Automatyczne przełączanie pomiędzy kolejnymi etapami operacji,
  • Precyzyjną kontrolę poprawności wprowadzanych informacji (lokalizacji, numerów palet, ilości, danych asortymentowych),
  • Łatwe zatwierdzanie dokumentów i generowanie unikalnych numerów operacyjnych.

Dzięki zastosowanym rozwiązaniom, system Studio WMS.net podnosi efektywność operacji magazynowych, usprawniając pracę magazyniera oraz minimalizując ryzyko błędów przy realizacji codziennych zadań logistycznych.

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

    Transakcje WMS

  • android_dpmag_rw

    Skrypt android_dpmag_rw.js to moduł mobilnego interfejsu w systemie Studio WMS.net, dedykowany obsłudze operacji związanych z dokumentami typu RW. Jego głównym celem jest umożliwienie magazynierowi szybkiego i precyzyjnego wprowadzania danych dotyczących przyjęcia lub rozliczenia towaru – operacji, w której kluczowe jest potwierdzenie kodu EAN produktu, weryfikacja jego danych oraz określenie ilości towaru do operacji. Poniżej przedstawiono

    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