jqs_dpinw_insert

Skrypt jqs_dpinw_insert.js realizuje kompleksowy proces dopisywania inwentaryzacji. Na początku inicjuje i konfiguruje interfejs, pobiera dane użytkownika oraz generuje dynamiczny formularz na podstawie wybranego rodzaju inwentaryzacji. Następnie system aktywnie waliduje dane, sprawdza istnienie dokumentów w buforze oraz weryfikuje, czy dana inwentaryzacja nie została już wcześniej dopisana.

Inicjalizacja i konfiguracja interfejsu

Po załadowaniu dokumentu przeglądarki funkcja MojaOnLoad() uruchamia się automatycznie. Skrypt aktywnie pobiera dane użytkownika za pomocą funkcji ssDataSQL i sprawdza, czy dane zostały poprawnie wczytane. Jeśli nie, system wyświetla alert z komunikatem o braku danych użytkownika, przerywając dalsze działanie. Następnie skrypt ustala rolę użytkownika, przypisując wartość pola ROLA lub, w przypadku roli SuperVisor, wartość pola SUPERVISOR.

Skrypt wywołuje funkcję PobierzRefno() w celu uzyskania numeru referencyjnego, a następnie dynamicznie buduje interfejs dokumentu. W nagłówku interfejsu wyświetlany jest numer referencyjny oraz data, a poniżej umieszczony jest przyjazny użytkownikowi widok z czterema opcjami wyboru rodzaju inwentaryzacji: magazyn, lokalizacja, asortyment i kontrahent. Dzięki temu użytkownik może łatwo wybrać żądany typ operacji.

Generowanie formularza dla wybranego typu inwentaryzacji

Funkcja ThisArkusz(cTypInw) odpowiada za generowanie formularza dopisania inwentaryzacji w zależności od wybranego typu. Skrypt ustawia globalną zmienną cRodzaj oraz ukrywa początkowy widok z wyborem rodzaju inwentaryzacji, po czym wyświetla formularz z dodatkowymi polami.

W zależności od parametru cTypInw system dynamicznie buduje zawartość formularza. Na przykład, przy wyborze opcji „mag” formularz zawiera legendę informującą o dopisaniu inwentaryzacji dla wybranego magazynu. Dla pozostałych opcji formularz prezentuje odpowiednie etykiety, takie jak „Lokalizacja”, „Asortyment” czy „Kontrahent”. Formularz zawiera również pola wyświetlające dane oddziału i magazynu, które są pobierane z danych użytkownika.

Skrypt wywołuje funkcję ssTlumaczenie(), aby przetłumaczyć wszystkie komunikaty zgodnie z ustawionym językiem, a następnie wyświetla formularz, umożliwiając dalszą interakcję z użytkownikiem.

Walidacja i zapis danych inwentaryzacji

Funkcja btnZapisz() aktywnie sprawdza, czy wszystkie wymagane pola zostały uzupełnione, wywołując funkcję JqxTestWypelnienia. Jeśli walidacja nie powiedzie się, operacja zostaje przerwana. Po pozytywnej weryfikacji system pobiera wybraną wartość z kontrolki ssID (używając metody jqxComboBox('val')), co umożliwia identyfikację wybranej pozycji.

Następnie skrypt wysyła dane do serwera, wywołując funkcję ssExSQL z odpowiednimi parametrami. Parametry te obejmują numer referencyjny, rodzaj inwentaryzacji, oddział, magazyn oraz inne istotne dane, które są łączone w jeden ciąg znaków. Dzięki temu system aktywnie komunikuje się z serwerem, przesyłając dane do dalszego przetwarzania.

Obsługa wyniku operacji

Funkcja ThisSuccessAdd(wynik) reaguje na odpowiedź zwróconą przez serwer. Jeżeli wynik zawiera komunikat o błędzie, skrypt generuje odpowiedni komunikat w postaci ramki z tytułem „Ważny komunikat” oraz wyświetla przycisk „Anuluj”. W przeciwnym przypadku system generuje komunikat potwierdzający, że arkusz został przygotowany oraz że lokalizacje zostały zablokowane. Dodatkowo wyświetlany jest przycisk „Zamknij”, który po kliknięciu przekierowuje użytkownika do widoku listy arkuszy.

Na końcu funkcja wywołuje ponownie funkcję ssTlumaczenie(), aby upewnić się, że wszystkie elementy interfejsu są poprawnie przetłumaczone.

Podsumowanie

Skrypt jqs_dpinw_insert.js realizuje kompleksowy proces dopisywania inwentaryzacji. Na początku inicjuje i konfiguruje interfejs, pobiera dane użytkownika oraz generuje dynamiczny formularz na podstawie wybranego rodzaju inwentaryzacji. Następnie system aktywnie waliduje dane, sprawdza istnienie dokumentów w buforze oraz weryfikuje, czy dana inwentaryzacja nie została już wcześniej dopisana. Po przesłaniu danych do serwera, skrypt obsługuje wynik operacji, wyświetlając odpowiednie komunikaty i umożliwiając zakończenie procesu. Dzięki zastosowaniu mechanizmów tłumaczenia oraz dynamicznego generowania interfejsu, system zapewnia przejrzysty i bezpieczny przebieg operacji dopisywania inwentaryzacji.

Dopisywanie Inwentaryzacji w Studio WMS.net

Plik jqs_dpinw_insert.js obsługuje proces dopisywania inwentaryzacji w systemie Studio WMS.net. Skrypt pozwala użytkownikowi na wybór rodzaju inwentaryzacji (magazyn, lokalizacja, asortyment, kontrahent), sprawdzenie blokad i dostępności dokumentów oraz zapisanie nowego arkusza w bazie danych.

Funkcja MojaOnLoad()

Podczas inicjalizacji strona wykonuje kilka kluczowych działań:

  1. Pobiera dane użytkownika, takie jak rola, magazyn i oddział.
  2. Generuje unikalny numer referencyjny arkusza inwentaryzacyjnego.
  3. Tworzy interfejs wyboru rodzaju inwentaryzacji.
  4. Obsługuje tłumaczenie interfejsu w zależności od języka użytkownika.

Obsługa wyboru rodzaju inwentaryzacji

Użytkownik może wybrać jeden z czterech typów inwentaryzacji:

  • Magazyn – obejmuje cały magazyn.
  • Lokalizacja – dotyczy konkretnej lokalizacji w magazynie.
  • Asortyment – umożliwia inwentaryzację określonego produktu.
  • Kontrahent – obejmuje produkty powiązane z wybranym kontrahentem.

Funkcja ThisArkusz()

Obsługuje wybór konkretnego rodzaju inwentaryzacji:

  • Ukrywa panel wyboru i wyświetla formularz dla wybranego typu.
  • Ładuje dynamiczny interfejs z polami do wyboru oddziału, magazynu i dodatkowych danych.
  • Przygotowuje listę pól wejściowych do wprowadzenia przez użytkownika.

Funkcja btnZapisz()

Obsługuje proces zapisu nowego arkusza inwentaryzacyjnego:

  1. Sprawdza, czy użytkownik wypełnił wymagane pola.
  2. Weryfikuje, czy dla podanej lokalizacji, magazynu lub asortymentu nie ma już otwartego dokumentu.
  3. Jeśli w buforze znajdują się niezakończone dokumenty, wyświetla ostrzeżenie.
  4. Jeśli system wykryje istniejące inwentaryzacje dla podanych parametrów, blokuje dopisanie nowego arkusza.
  5. Po pozytywnej walidacji zapisuje nowy arkusz w bazie SQL.

Funkcja ThisSuccessAdd()

Obsługuje zakończenie operacji dopisania inwentaryzacji:

  • Jeśli zapis zakończył się sukcesem, system wyświetla komunikat Arkusz został przygotowany.
  • Blokuje lokalizacje objęte inwentaryzacją.
  • Wyświetla przycisk Zamknij, który umożliwia zakończenie operacji.

Obsługa blokady inwentaryzacji

System dynamicznie weryfikuje możliwość utworzenia nowego arkusza:

  • Sprawdza, czy dla danej lokalizacji lub asortymentu istnieje otwarta inwentaryzacja.
  • Jeśli wykryje istniejące dokumenty, blokuje możliwość dodania nowego arkusza.
  • Wyświetla szczegółowy komunikat o liczbie pozycji w buforze.

Podsumowanie

Plik jqs_dpinw_insert.js to kluczowe narzędzie do dopisywania inwentaryzacji w Studio WMS.net. Skrypt automatycznie sprawdza blokady, pozwala użytkownikowi na wybór zakresu inwentaryzacji oraz zapisuje nowe arkusze w bazie danych. Dzięki dynamicznej walidacji system zapewnia spójność i kontrolę nad procesem inwentaryzacyjnym.

Czytaj więcej: