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.

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

Plik android_dpmag_pz.js obsługuje proces przyjęcia zewnętrznego (PZ) 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:

  1. Ładuje parametry operacji, takie jak typ dokumentu (PZ – przyjęcie zewnętrzne).
  2. Tworzy dynamiczny formularz dla użytkownika.
  3. Inicjalizuje pola do skanowania kodów EAN i wprowadzania ilości.
  4. Dodaje obsługę kodów QR do automatycznego wypełniania pól.

Obsługa dokumentów PZ

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 ewentualny numer partii produktu.

STEP1 – Wprowadzenie numeru partii

  • Jeśli produkt posiada numer partii, użytkownik musi go wprowadzić.

STEP2 – Wprowadzenie terminu ważności

  • System pozwala na wybór terminu ważności produktu.

STEP3 – Wybór rodzaju palety

  • Magazynier określa typ palety (np. EPAL).

STEP4 – Wprowadzenie numeru palety

  • System umożliwia rejestrację numeru palety.
  • Jeśli użytkownik wpisze „0”, system automatycznie wygeneruje numer palety.

STEP5 – Wprowadzenie ilości

  • System weryfikuje poprawność ilości i czy mieści się w dopuszczalnym zakresie.

STEP6 – 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:

  1. Tworzy zapytanie SQL do rejestracji operacji.
  2. Jeśli termin ważności jest wymagany, dodaje go do rekordu.
  3. Po poprawnym zapisie usuwa wprowadzone dane i resetuje formularz.

Funkcja saveQuestion()

Odpowiada za zakończenie operacji:

  • Jeśli dokument PZ 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_pz.js to kluczowe narzędzie dla magazynierów realizujących przyjęcia zewnę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_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. Poniżej przedstawiono szczegółowy opis działania skryptu, który został zaprojektowany w oparciu o wieloetapowy formularz z dynamicznie zmieniającym się interfejsem oraz mechanizmy walidacji i integracji z systemem bazodanowym.


1. Inicjalizacja i konfiguracja formularza

Ustawienia początkowe

  • Pobieranie parametrów URL:
    Skrypt na początku odczytuje parametry przekazywane w adresie URL – m.in. prefiks dokumentu (gcPRX) oraz typ dokumentu (gcTYPDOK). W przypadku braku tych parametrów, domyślnie przypisywane są wartości „PZ”, co odpowiada operacjom przyjęcia towaru. Dodatkowy parametr gcTryb (domyślnie ustawiany na „list”) decyduje o sposobie wyświetlania listy zleceń lub bezpośrednim przejściu do realizacji pojedynczego zlecenia.

Dynamiczne budowanie struktury formularza

  • Sekcja STEP_REFNO:
    W pierwszej części formularza użytkownik wprowadza numer zlecenia, a system wyświetla listę dostępnych dokumentów do realizacji. Pola umożliwiające wprowadzenie numeru zlecenia oraz ukryte pole przechowujące wewnętrzny identyfikator (REFNO) są kluczowe dla dalszego pobierania danych operacyjnych.
  • Sekcja STEP0 – Dane produktu:
    Po zatwierdzeniu numeru zlecenia wyświetlane jest pole do wprowadzenia kodu EAN. Na podstawie tego kodu system pobiera z bazy dane dotyczące asortymentu, takie jak nazwa oraz indeks produktu. Dodatkowo, ukryte są pola przechowujące identyfikatory asortymentu (NRIDASN) oraz numer referencyjny dokumentu przyjęcia (REFNO_DPZLE).
  • Sekcja STEP1 – Numer partii:
    Umożliwia wprowadzenie numeru partii (NRSERII). Wprowadzenie tego pola często jest warunkiem przejścia do kolejnych etapów formularza, gdyż numer partii pozwala na rozróżnienie pozycji w dokumencie.
  • Sekcja STEP2 – Termin ważności:
    Formularz udostępnia kontrolkę kalendarza (WebCalendar), dzięki której magazynier może określić termin ważności przyjmowanego towaru. Wybrana data jest ważnym elementem przy dalszym przetwarzaniu dokumentu.
  • Sekcja STEP3 – Rodzaj palety:
    Kolejnym etapem jest określenie rodzaju palety (PALETAKOD). Wprowadzenie tego pola pozwala na przypisanie towaru do właściwego typu opakowania, co jest niezbędne przy operacjach magazynowych.
  • Sekcja STEP4 – Numer palety:
    W tym kroku użytkownik podaje numer palety (NRPALETY). Skrypt umożliwia automatyczne nadawanie numeru (poprzez funkcję ustawNumerPalety) w przypadku wprowadzenia wartości „0” oraz weryfikację numeru palety przy użyciu dedykowanego zapytania do bazy. Wynik tej weryfikacji wpływa na dalszy przebieg operacji.
  • Sekcja STEP5 – Ilość towaru:
    Użytkownik określa ilość towaru przy użyciu kontrolki numerycznej. Skrypt ustala maksymalną dopuszczalną ilość do przyjęcia, pobraną z danych dokumentu, co zapobiega wprowadzeniu nieprawidłowych wartości.
  • Sekcja STEP6 – Lokalizacja docelowa:
    Na końcu formularza magazynier wprowadza lokalizację docelową (ADRES) oraz, w tle, identyfikator lokalizacji (NRIDWMS). Wprowadzenie tej informacji jest kluczowe przy rejestracji przyjęcia towaru do systemu – system weryfikuje poprawność wprowadzonej lokalizacji, sprawdzając, czy jest aktywna, nie jest zablokowana i spełnia określone kryteria.
  • Sekcja listy dokumentów:
    W trybie „list” (określanym przez parametr gcTryb) wyświetlana jest lista dokumentów do realizacji. Użytkownik może wybrać konkretny dokument, co automatycznie powoduje wczytanie szczegółów dotyczących tego zlecenia (funkcja setOrderList).
  • Przycisk „Zakończ”:
    Na samym dole interfejsu umieszczony jest przycisk umożliwiający finalizację operacji, który wywołuje funkcję saveQuestion(). Po zakończeniu operacji interfejs umożliwia zatwierdzenie dokumentu oraz, w razie potrzeby, rozpoczęcie nowej operacji.

2. Obsługa zdarzeń i walidacja wprowadzanych danych

Skrypt wykorzystuje rozbudowany mechanizm zdarzeń, który zapewnia płynność i intuicyjność interakcji:

  • Obsługa pola numeru zlecenia (NRZLECENIA):
    Użytkownik, wprowadzając numer zlecenia, może zatwierdzić dane klawiszem Enter. Skrypt sprawdza, czy wprowadzone dane mają odpowiednią długość i format (różnicując między wpisywaniem ręcznym a automatycznym odczytem). Po zatwierdzeniu numeru, wywoływana jest funkcja setOrder(), która pobiera szczegółowe dane dokumentu.
  • Walidacja kodu EAN:
    Pole EANASN reaguje na zdarzenia keyup oraz focus. Po zatwierdzeniu kodu EAN wykonywane jest zapytanie do bazy (ssDataSQL), które weryfikuje istnienie kodu oraz pobiera dane asortymentu. W przypadku pomyślnego odczytu system automatycznie uzupełnia pola dotyczące asortymentu (NAZWAAS, INDEKS, NRIDASN) oraz ustala maksymalną ilość towaru do przyjęcia.
  • Przechodzenie między sekcjami:
    Po zatwierdzeniu danych w danej sekcji (np. numer partii, termin ważności, rodzaj palety, numer palety, ilość) kolejne etapy formularza stają się widoczne. Automatyczne przewijanie formularza (funkcja scrollToEndOfPage()) zapewnia, że użytkownik zawsze widzi aktualnie aktywne pole.
  • Walidacja lokalizacji:
    Podczas wprowadzania lokalizacji docelowej (ADRES) system sprawdza, czy podana wartość odpowiada istniejącej i aktywnej lokalizacji w bazie. W przypadku wykrycia niezgodności (np. lokalizacja wyłączona, nieaktywna lub zablokowana) użytkownik otrzymuje komunikat błędu, a pole zostaje wyczyszczone, co umożliwia ponowne wprowadzenie poprawnych danych.
  • Integracja ze skanerem QR:
    Mechanizm integracji z modułem skanowania kodów QR umożliwia szybkie wprowadzanie danych poprzez zeskanowanie kodu EAN. Funkcje triggerInputEvent() oraz configureQr() konfigurowane są w celu umożliwienia automatycznego przekazywania zeskanowanych danych do odpowiednich pól formularza.

3. Przetwarzanie danych i zapis dokumentu

Pobieranie szczegółów dokumentu

  • Funkcja getDocumentPositions() pobiera szczegółowe pozycje dokumentu PZ na podstawie numeru referencyjnego (REFNO) oraz ewentualnego dodatkowego parametru (refno_dpzle). W zależności od dostępnych danych, pozycje dokumentu są pobierane z jednego z dwóch zapytań SQL, co pozwala na dalsze operacyjne przetwarzanie.

Zapis operacji

  • Funkcja saveDocument() stanowi rdzeń procesu zapisu danych operacji przyjęcia towaru. W pierwszej kolejności wykonywana jest walidacja wymaganych pól (przy użyciu funkcji JqxTestWypelnienia).
  • Następnie, przed zapisem, skrypt porównuje identyfikator lokalizacji pobrany z bazy (nridwmsBaza) z wartością wprowadzaną przez użytkownika, aby upewnić się, że towar jest przyjmowany do właściwej lokalizacji.
  • Dane operacji (m.in. identyfikatory asortymentu, ilość, dane paletowe, termin ważności, lokalizacja) są łączone w jeden ciąg parametrów, który jest sanitowany (zamiana pojedynczych cudzysłowów) i przesyłany do bazy danych przy użyciu funkcji ssDataSQL.
  • W przypadku pomyślnego zapisu, system ustawia zmienną positionAdded na wartość true, a funkcja getDocumentPositions() zostaje wywołana w celu odświeżenia danych dokumentu. Jeśli dokument zawiera już pozycje, formularz jest resetowany i użytkownik otrzymuje możliwość kontynuacji operacji lub zatwierdzenia dokumentu.

Finalizacja dokumentu

  • Funkcja setDocumentNumber() generuje unikalny numer dokumentu PZ przy użyciu mechanizmu liczników (funkcja PobierzLicznikMiesiac) i przesyła dane finalne do bazy.
  • Po zatwierdzeniu dokumentu, użytkownik otrzymuje komunikat potwierdzający, a interfejs umożliwia ewentualne rozpoczęcie nowej operacji (poprzez funkcję saveQuestion()) lub zamknięcie okna.

4. Funkcje pomocnicze

  • clearPage(type):
    Funkcja ta odpowiada za resetowanie poszczególnych sekcji formularza oraz wywołanie automatycznego przewijania widoku, co zapewnia, że użytkownik zawsze widzi aktywne pole. W zależności od przekazanego parametru (np. „all”, „EANASN”, „NRSERII” itd.) następuje selektywne czyszczenie danych.
  • ustawNumerPalety():
    Funkcja ta generuje nowy, unikalny numer palety na podstawie ciągłej numeracji (wywoływana przy wprowadzeniu wartości „0” w polu numeru palety).
  • checkPaletNumer(inputValue):
    Pozwala na weryfikację numeru palety wprowadzanej przez użytkownika poprzez zapytanie do bazy, a w przypadku znalezienia rekordów – automatyczne uzupełnienie pola z kodem palety oraz dezaktywację jego edycji.
  • scrollToEndOfPage():
    Automatycznie przewija formularz do końca, co zwiększa wygodę użytkownika, zwłaszcza w interfejsie mobilnym.
  • setOrderList() i setTopOrder():
    Funkcje te odpowiadają za prezentację listy dokumentów PZ dostępnych do realizacji (w trybie „list”) lub załadowanie szczegółów pierwszego dokumentu (w trybie realizacji pojedynczego zlecenia).
  • saveQuestion():
    Umożliwia zatwierdzenie dokumentu – w przypadku, gdy operacja została wykonana poprawnie, użytkownik otrzymuje możliwość finalizacji dokumentu lub kontynuowania pracy.

Podsumowanie

Skrypt android_dpmag_pz w systemie Studio WMS.net stanowi kompleksowe narzędzie mobilne dedykowane realizacji operacji przyjęcia towaru (PZ). Dzięki wieloetapowemu, dynamicznie generowanemu formularzowi oraz rozbudowanym mechanizmom walidacji, integracji z bazą danych i modułem skanowania kodów QR, system umożliwia:

  • Precyzyjne i szybkie wprowadzanie danych dotyczących numeru zlecenia, identyfikacji asortymentu, danych paletowych oraz lokalizacji docelowej,
  • Automatyczne przełączanie się między kolejnymi etapami formularza, co usprawnia pracę magazyniera i minimalizuje ryzyko błędów,
  • Weryfikację poprawności wprowadzanych danych przy użyciu zapytań do bazy, gwarantującą, że towar jest przyjmowany do właściwej lokalizacji,
  • Finalizację operacji poprzez generowanie unikalnych numerów dokumentu oraz możliwość zatwierdzenia dokumentu końcowego.

Dzięki zastosowanym rozwiązaniom, system Studio WMS.net podnosi efektywność operacyjną w magazynie, usprawniając proces przyjęcia towaru i zapewniając wysoką jakość zarządzania danymi logistycznymi.

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

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

    Transakcje WMS