Tworzenie i Edycja Awizacji
Plik maw_events_ins.js obsługuje proces rejestracji oraz edycji awizacji w systemie logistycznym. Skrypt odpowiada za dynamiczne generowanie formularza, walidację danych oraz zapis informacji do bazy danych.
Definicja zmiennych globalnych
Na początku skryptu definiowane są istotne zmienne:
- date_from, date_to - zakres dat awizacji.
- cACH - status awizacji (domyślnie „1”).
- cPRX - typ procesu (domyślnie „MAW”).
- cBaramIn - flaga dla niestandardowych bram.
- cShowTimeSlots - sterowanie wyświetlaniem dostępnych okien czasowych.
- dDataFrom, dDataTo - wartości dat przetwarzane w skrypcie.
- nDodajDni - liczba dni dodawana do wybranej daty.
- cWolneWeekendy - określa dostępność weekendów do awizacji.
- cRestrictedDays - lista dni wyłączonych z planowania awizacji.
Funkcja MojaOnLoad()
Główna funkcja odpowiedzialna za inicjalizację interfejsu użytkownika oraz wstępne przetwarzanie danych. Odpowiada za:
- Pobranie daty rozpoczęcia awizacji oraz jej kontrolę (nie może być wcześniejsza niż obecna).
- Wczytanie ustawień dotyczących wolnych weekendów.
- Sprawdzenie, czy użytkownik edytuje istniejącą awizację czy tworzy nową.
- Dynamiczne generowanie formularza zawierającego pola dotyczące lokalizacji, kontrahentów, przewoźników i transportu.
- Dodanie kalendarza oraz listy dostępnych okien czasowych.
Generowanie dynamicznego formularza
Formularz awizacji zawiera kilka istotnych sekcji:
Sekcja 1 - Dane podstawowe
- Wybór oddziału, magazynu i bramy.
- Wybór kontrahenta oraz przewoźnika.
- Rodzaj awizacji i transportu.
- Numer zamówienia SAP.
- Informacja o agencji celnej.
- Rodzaj asortymentu oraz ilość palet.
Sekcja 2 - Dział transportu
- Numer awizacji.
- Numer rejestracyjny pojazdu i naczepy.
- Informacja, czy kontener lub naczepa pozostaje na terenie obiektu.
- Dane kierowcy (imię, telefon, dokument tożsamości).
Sekcja 3 - Podsumowanie
- Pole na uwagi dotyczące awizacji.
- Przycisk ZAPISZ finalizujący proces.
- Obsługa załączników.
Funkcja Calendar_insert_Start()
Odpowiada za rozpoczęcie procesu rejestracji awizacji:
- Użytkownik wybiera obiekt (oddział).
- Następnie system przechodzi do wyboru magazynu.
- Po wybraniu magazynu dostępna staje się lista bram.
Funkcja Calendar_insert_StartEnd()
Po wyborze lokalizacji użytkownik może wybrać konkretny dzień awizacji. Funkcja ta:
- Inicjalizuje kalendarz z dostępnością dni.
- Ładuje dostępne okna czasowe dla wybranego dnia.
- Automatycznie dostosowuje zakres czasowy awizacji.
Funkcja NewCal()
Odpowiada za zapis nowej awizacji:
- Sprawdza poprawność wprowadzonych danych.
- Jeśli awizacja dotyczy kontenerów - weryfikuje, czy użytkownik wybrał odpowiednią wartość.
- Sprawdza, czy podano ilość palet oraz rodzaj palet.
- Weryfikuje, czy podano przewoźnika.
- Tworzy unikalny numer referencyjny dla awizacji.
- Zapisuje dane w bazie SQL.
Funkcja AddSuccessEnd()
Po zapisaniu awizacji:
- Wyświetlany jest komunikat potwierdzający.
- Użytkownik zostaje przekierowany do listy awizacji.
Obsługa weekendów i dni zablokowanych
Funkcje getSundays() i getSaturdays() odpowiadają za oznaczanie sobót i niedziel jako dni niedostępnych do awizacji, jeśli system nie zezwala na ich wybór.
Obsługa załączników
Funkcja NewZal() otwiera okno dodawania załączników do awizacji, umożliwiając przechowywanie dodatkowych dokumentów związanych z transportem.
Podsumowanie
Plik maw_events_ins.js to istotny komponent systemu awizacji, który umożliwia użytkownikom intuicyjne tworzenie i edycję awizacji. Automatyzuje proces wyboru lokalizacji, planowania godzin oraz walidacji danych, zapewniając poprawność i efektywność operacyjną. Integracja z bazą SQL pozwala na szybkie zapisywanie danych, a dynamiczne formularze ułatwiają użytkownikowi wprowadzanie niezbędnych informacji.