Plik maw_events_ins_ktr.js odpowiada za zarządzanie interfejsem użytkownika oraz logiką aplikacyjną związaną z systemem awizacji w magazynie. Skrypt ten inicjalizuje formularze, obsługuje zdarzenia użytkownika i zarządza danymi wejściowymi oraz wyjściowymi.
Funkcja MojaOnLoad() jest głównym punktem wejścia. Inicjalizuje stylizację strony poprzez dodanie arkuszy stylów i ładuje dane z parametrów URL, takich jak data rozpoczęcia i zakończenia, magazyn czy ustawienia dodatkowe, np. dostępność weekendów. Dane wejściowe są walidowane, np. czy data „od” nie jest wcześniejsza niż aktualna data i godzina.
Inicjalizacja zmiennych w module kontroli zdarzeń
Funkcja maw_events_ins_ktr rozpoczyna działanie poprzez zdefiniowanie podstawowych zmiennych sterujących modułem zdarzeń. Moduł wykorzystuje zmienne date_from oraz date_to do przechowywania zakresów czasowych operacji. Następnie system konfiguruje stałe kontrolne takie jak cACH z wartością „1” oraz cPRX z wartością „MAW” służące do identyfikacji procesów. Dodatkowo mechanizm wprowadza zmienne pomocnicze cIsNridodn oraz cMAGAZYN umożliwiające precyzyjne zarządzanie magazynem.
Obsługa parametrów czasowych
Funkcja MojaOnLoad stanowi główny element wykonawczy modułu kontroli zdarzeń. System najpierw pobiera numer referencyjny poprzez wywołanie metody PobierzRefno zapisując go w zmiennej tmpRefno. Następnie mechanizm przetwarza parametr date_from otrzymany z adresu URL zastępując znaki wykrzyknika literą „a”. Moduł przeprowadza walidację daty poprzez porównanie jej z aktualnym czasem systemowym zapobiegając wprowadzeniu dat z przeszłości.
Mechanizmy kontroli dostępności
System wprowadza zaawansowane mechanizmy kontroli dostępności czasowej poprzez zmienne cShowTimeSlots oraz cWolneWeekendy. Mechanizm wykorzystuje tablicę cRestrictedDays do oznaczenia dni wyłączonych z dostępności. Zmienna nDodajDni początkowo ustawiona na wartość 1 umożliwia dynamiczne dostosowanie przedziału czasowego. Moduł przeprowadza szczegółową kontrolę poprawności wprowadzonych dat względem bieżącego czasu systemowego.
Podsumowując moduł maw_events_ins_ktr zapewnia kompleksową obsługę zdarzeń czasowych w systemie. Mechanizm gwarantuje poprawność wprowadzanych dat oraz zapobiega konfliktom czasowym. System skutecznie zarządza dostępnością zasobów poprzez elastyczne mechanizmy kontroli.
Struktura i istotne elementy
- Inicjalizacja danych
Na początku skrypt definiuje zmienne globalne, np.date_from,date_to,cMAGAZYN, które przechowują istotne informacje związane z awizacją, takie jak czas trwania i lokalizacja. - Generowanie formularzy
Formularze są generowane dynamicznie w HTML za pomocą ciągów tekstowych. Przykładem jest sekcja wyboru magazynu czy rodzaju transportu. W zależności od parametrów wejściowych, odpowiednie pola są ukrywane lub wyświetlane, np. pola dotyczące kontenerów są aktywne tylko dla określonego rodzaju transportu. - Obsługa interakcji użytkownika
Skrypt rejestruje zdarzenia, takie jak zmiany wartości pól lub kliknięcia. Na przykład wybór daty automatycznie aktualizuje czas zakończenia awizacji. Funkcja ThisUstawDateTo() kalkuluje minimalny wymagany czas trwania. - Zarządzanie danymi
Dane są pobierane z bazy za pomocą funkcji takich jakssDataSQL, która wysyła zapytania do serwera w celu uzyskania informacji o magazynach, dostępnych terminach itp. Dane te są używane do dynamicznego generowania treści strony.
Przykłady funkcjonalności
- Obsługa okien czasowych
Funkcja UstawOknaCzasowe() sprawdza dostępność dedykowanych okien czasowych dla wybranego dnia. Okna są wizualizowane jako bloki na stronie, a zajęte terminy są odpowiednio oznaczane. - Tworzenie nowej awizacji
Funkcja NewCal() odpowiada za zapisanie danych nowej awizacji. Wykorzystuje ona wiele zmiennych globalnych, takich jakcACH(status) czycPRX(rodzaj operacji), a także formularze wypełnione przez użytkownika. - Obsługa lokalizacji
Sekwencyjne wybory, takie jak oddział, magazyn i brama, są zarządzane przez funkcje Calendar_insert_Magazyn() i Calendar_insert_Mpk(), które filtrują dostępne opcje na podstawie wcześniej wybranego obiektu.
Kontekst i zastosowanie
Skrypt został zaprojektowany w celu obsługi procesu awizacji w systemach magazynowych. Przewiduje różne scenariusze użytkowe, np. edycję istniejącej awizacji czy tworzenie nowej. Rozbudowana struktura funkcji i walidacji sugeruje, że jest to część większego systemu zarządzania logistyką.
Podsumowanie
Skrypt maw_events_ins_ktr.js odpowiada za zarządzanie interfejsem użytkownika i obsługę logiki aplikacji w procesie awizacji w magazynie. Wspiera dynamiczne generowanie treści i integrację z bazą danych w celu zapewnienia sprawnego przepływu informacji.