Moduł usług magazynowych w StudioSystem umożliwia zarządzanie dodatkowymi usługami powiązanymi z dokumentami magazynowymi.
Transakcja dopisania usług dla dokumentu magazynowego.
Ten kod JavaScript, przeznaczony do działania w systemie StudioSystem, służy do zarządzania usługami magazynowymi. Umożliwia dopisywanie, edycję oraz usuwanie usług powiązanych z dokumentami magazynowymi (DPMAG) i kontrahentami (KNKON). Skrypt obsługuje również specyficzny wariant dla „crossdockingu”, co wskazuje na elastyczność w zarządzaniu różnymi typami operacji.
Główna funkcja, MojaOnLoad()
, inicjuje interfejs użytkownika. Najpierw sprawdza, czy dokument magazynowy posiada już jakieś pozycje. Jeśli nie, wyświetla komunikat informujący, że należy najpierw dodać pozycje do dokumentu, aby móc dopisać usługi.
Następnie, funkcja dynamicznie generuje formularz do dodawania usług. Formularz ten wyświetla kluczowe informacje o dokumencie, takie jak numer dokumentu, data oraz nazwa kontrahenta. Użytkownik może wybrać magazyniera odpowiedzialnego za usługę oraz określić rodzaj usługi z listy rozwijanej (NRIDUSL
). Istnieje również pole do wprowadzenia ilości oraz uwag. Przycisk „Dodaj” (wywołujący btnDpuslDodaj()
) pozwala na dodanie nowej usługi do dokumentu.
Ważnym elementem interfejsu jest tabela jqxgrid
. Ta tabela, obsługiwana przez bibliotekę jqxGrid, dynamicznie wyświetla listę już dodanych usług. Każda usługa w tabeli zawiera informacje takie jak indeks, nazwa, ilość, cena, magazynier oraz uwagi. Użytkownik może usunąć wybraną usługę z listy za pomocą dedykowanej ikony. Funkcja UstawPositionTable()
odpowiada za pobieranie i aktualizowanie danych w tej tabeli.
Skrypt zawiera również specyficzną logikę dla kontrahentów, którzy mają ustawioną „Umowę zlecenie”. W takim przypadku, lista dostępnych usług (NRIDUSL
) jest konfigurowana dynamicznie, dostosowując się do specyfiki umowy.
Funkcje btnDpuslDodaj()
i btnUsun()
są odpowiedzialne za interakcje z bazą danych. Wywołują one odpowiednie zapytania SQL (ssExSQL
) w celu dodania lub usunięcia pozycji usługi. Zapewniają również walidację danych wejściowych (JqxTestWypelnienia
) oraz potwierdzenia operacji (JqxConfirmF
).
Całość kodu jest zaimplementowana tak, aby zapewnić intuicyjną i efektywną pracę z usługami magazynowymi. Użycie funkcji tłumaczących (ssTranslate()
) wskazuje na wsparcie dla wielu języków.
Opis działania
Usługi zapisywane są dla dokumentów magazynowych.
Formularz dopisania usług składa się z dwóch części: sekcja dopisania usługi i tabela z dopisanymi usługami.
Pola formularza:
- Dokument – numer dokumentu, dla którego dopisywane są usługi.
- Z dnia – data dokumentu, dla którego dopisywane są usługi.
- Kontrahent – nazwa skrócona kontrahenta. Odczytana z wybranego dokumentu magazynowego.
- Magazynier – pole obsługiwane przez skorowidz – kartotekę użytkowników roli Magazyn.
- Rodzaj usługi – pole obsługiwane przez skorowidz – kartotekę usług. Kartoteka może być wyświetlana w jednym z 2 wariantów w zależności od wybranej dla kontrahenta opcji:
- kartoteka usług.
- cennik. Pozycje cennika są wyświetlane, jeśli dla kontrahenta został zaznaczony parametr CENNIK INDYWIDUALNY. Parametr jest dostępny w formularzu dopisania / edycji kartoteki kontrahenta, zakładka DANE UZUPEŁNIAJĄCE.
- Ilość – ilość usług.
- Uwagi – uwagi do dopisywanych usług.
Usługi są zapisywane w rozliczeniu kosztów, jeżeli dla kontrahenta zostanie zapisana kategoria kosztów w rozliczeniu – Usługi.
Uruchomienie
Transakcja jqs_dpusl.js jest uruchamiana jako przez polecenie USŁUGI na pasku poleceń w rejestrach dokumentów magazynowych.
Parametry transakcji: kod=WMS_DPUSL&refno=
- kod – kod pozycji skorowidza JQS.
- refno – wskazanie odczytania numeru referencyjnego wybranego dokumentu.
Cel działania
Skrypt ten pozwala:
- dopisywać, edytować lub usuwać usługi magazynowe związane z konkretnym dokumentem magazynowym,
- obsługiwać zarówno dokumenty standardowe, jak i cross-docking (CD),
- wygodnie wyświetlać podsumowania pozycji usługowych.
Krok po kroku – jak działa obsługa usług:
1. Inicjalizacja i sprawdzanie dokumentu
Po otwarciu strony lub wywołaniu funkcji MojaOnLoad()
:
- Skrypt pobiera numer dokumentu (
gcRefno
) i ewentualnie powiązane identyfikatory (gcNRIDODN
,gcREFNO_DPMAG
) z parametrów adresu URL. - Pobiera z bazy danych informacje o dokumencie.
- Jeśli dokument nie ma żadnej pozycji magazynowej – użytkownik widzi komunikat i nie może dodać usług! Musisz najpierw dodać pozycje magazynowe, by dopisywać usługi.
2. Generowanie formularza usług
- Formularz jest budowany dynamicznie (HTML przez JavaScript) z polami:
- Dokument, data, kontrahent – uzupełnione automatycznie z bazy.
- Magazynier – wybór z podpowiedzią (lista pracowników).
- Rodzaj usługi – wybierany z listy, pole wymagane.
- Ilość – ilość usługi (np. liczba wykonanych operacji), pole wymagane.
- Uwagi – pole tekstowe.
- Przycisk Dodaj – do zatwierdzania wprowadzonej usługi.
- Pod formularzem pojawia się tabela usług już powiązanych z dokumentem.
3. Dodawanie/usuwanie usług
- Po wypełnieniu pól i kliknięciu „Dodaj”:
- Skrypt sprawdza, czy wszystkie wymagane pola są wypełnione (walidacja).
- Zbiera dane z formularza.
- Wywołuje funkcję SQL (
ssExSQL
) dodającą usługę do bazy. - Czyści formularz i odświeża tabelę usług.
- Każda pozycja w tabeli może być usunięta ikoną „kosza”; przed usunięciem użytkownik musi potwierdzić chęć skasowania pozycji.
4. Tabela pozycji usług
- Pozycje (usługi) pojawiają się w tabeli o następujących polach:
- Indeks, nazwa usługi, ilość, cena, magazynier, uwagi.
- Dane są pobierane na bieżąco z bazy i odświeżane po każdej zmianie.
5. Podsumowania
- Skrypt pobiera i uzupełnia podsumowania: ilość sztuk, waga brutto, waga netto, liczbę pozycji itd. (jeśli formularz wymaga takich danych – do ukrytych pól w tle).
Dodatkowe informacje
- Istnieje wariant do cross-dockingu (
MojaOnLoadCD()
), który działa analogicznie, lecz może pobierać inne dane lub używać innych widoków/baz. - Rodzaj dostępnych usług (lista wyboru) może się dynamicznie zmieniać w zależności od ustawień kontrahenta.
- Formularz jest całkowicie dynamiczny, nie wymaga przeładowania strony – wszystko działa przez AJAX.
Cały proces w skrócie (dla pracownika):
- Wejdź w dokument magazynowy.
- Jeśli są pozycje magazynowe, możesz dodać usługi.
- Wypełnij wymagane pola (typu usługi, ilość – reszta jest opcjonalna).
- Kliknij „Dodaj”, po czym usługa pojawia się w tabeli pod spodem.
- Możesz usuwać usługi – wystarczy kliknąć ikonę kosza przy wybranej pozycji i potwierdzić operację.
Przykładowe sytuacje użycia
- Rejestrowanie dodatkowych usług związanych ze składowaniem lub manipulacją towarów (np. paletyzacja, pakowanie, komisjonowanie).
- Tworzenie rozliczenia kosztów usług magazynowych dla klienta w powiązaniu z konkretną dostawą lub cross-dockingiem.
- Korekta lub edycja już dodanych pozycji usługowych w dowolnym momencie przed finalizacją dokumentu.
-
Dopisanie cennika – wms_koszty.js
Transakcja zawiera funkcje pomocnicze dotyczące dopisania cennika usług klienta. Czytaj więcej: Strono dokumentu – jqs_dpmag_storno.js Skrypt wykorzystywany programie WMS.net umożliwiający użytkownikowi korektę dokumentu wydania WZB lub RW poprzez dopisanie dokumentu przeciwwstawnego powiązanego ze wskazanym dokumentem wydania. Transakcje WMS dpmag WMS…
-
_CODE_SQL NAR
Idea wykorzystania tabeli _code_sql ogranicza się do zabezpieczenia bazy danych i zapytań przed dostępem dla użytkowników aplikacji www i Android. Wykorzystywanie unikalnych identyfikatorów UID po stronie klienta i przeniesienie logiki biznesowej na stronę serwera wydaje się obecnie najlepszym rozwiązaniem pod…
-
Dopisanie usług – jqs_dpusl.js
Ten kod JavaScript, przeznaczony do działania w systemie StudioSystem, służy do zarządzania usługami magazynowymi. Umożliwia dopisywanie, edycję oraz usuwanie usług powiązanych z dokumentami magazynowymi (DPMAG) i kontrahentami (KNKON). Skrypt obsługuje również specyficzny wariant dla „crossdockingu”, co wskazuje na elastyczność w…
-
_CODE_SQL WMS
Idea wykorzystania tabeli _code_sql ogranicza się do zabezpieczenia bazy danych i zapytań przed dostępem dla użytkowników aplikacji www i Android. Wykorzystywanie unikalnych identyfikatorów UID po stronie klienta i przeniesienie logiki biznesowej na stronę serwera wydaje się obecnie najlepszym rozwiązaniem pod…
-
dpusl_insert.aspx
Transakcja dpusl_insert.aspx wykorzystywana w roli Magazyn Narzędzi umożliwia dopisanie wykonanych dodatkowych usług skojarzonych z wybranym narzędziem.
-
Tabela knusl
Kartoteki usług. Czytaj więcej: Strono dokumentu – jqs_dpmag_storno.js Skrypt wykorzystywany programie WMS.net umożliwiający użytkownikowi korektę dokumentu wydania WZB lub RW poprzez dopisanie dokumentu przeciwwstawnego powiązanego ze wskazanym dokumentem wydania. Transakcje WMS dpmag WMS Zlecenie przyjęcia – jqs_dpmag_zpz.js Skrypt wykorzystywany programie…
Czytaj więcej:
Strono dokumentu – jqs_dpmag_storno.js
Skrypt wykorzystywany programie WMS.net umożliwiający użytkownikowi korektę dokumentu wydania WZB lub RW poprzez dopisanie dokumentu przeciwwstawnego powiązanego ze wskazanym dokumentem wydania.
Zlecenie przyjęcia – jqs_dpmag_zpz.js
Skrypt wykorzystywany programie WMS umożliwiający użytkownikowi na dopisanie dokumentu zlecenia przyjęcia ZPZ.
Zlecenie wydania – jqs_dpmag_zwz.js
Skrypt wykorzystywany programie WMS umożliwiający użytkownikowi na dopisanie dokumentu zlecenia wydania ZWZ.
jqs_dphan_dpa
Skrypt jqs_dphan_dpa.js jest kluczowym elementem systemu zarządzania dokumentami, umożliwiającym tworzenie, edytowanie i zapisywanie dokumentów przyjęcia. Jego struktura opiera się na dynamicznym generowaniu elementów HTML, interaktywnych komponentach UI oraz bezpośredniej współpracy z bazą danych. Dzięki temu użytkownik może efektywnie zarządzać dokumentami, dodawać nowe pozycje oraz przeprowadzać procesy związane z ich zatwierdzeniem.
Transakcje YMS dokumenty magazynowe formularze interfejs użytkownika javascript jqs walidacja
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.