Formularz maw_ach.js dostepny jest w programie Awizacje VSS.net. Funkcjonalność odpowiedzialna za zmianę statusu awizacji podczas realizacji procesów logistycznych wewnątrz oddziału. Poszczególne kroki rejestrowane są w dynamicznie formatowanym formularzu.
Opis funkcjonalności
Opracowany formularz ma zastosowanie globalne w ramach platformy awizacyjnej. Polega to na tym, że jeden plik javascript wykorzystywany jest w wielu miejscach programu. Wygląd formularza zależny jest od tego na jakim etapie procesowania awizacji zostanie uruchomiony.
W pierwszym kroku po zarejestrowaniu awizacji wymagane jest potwierdzenie zgłoszonego transportu. Poniższy zrzut ekranu pokazuje zakres dostępnych informacji. Możliwe jest uzupełnienie uwag dotyczących awizacji, ponadto użytkownik programu może wysłać maila lub wiadomość sms. Treść wysyłanych wiadomości może być edytowana przed wysłaniem.

Kolejnym punktem procesu jest potwierdzenie wjazdu samochodu na teren zakładu. Opisywany element dostępny jest dla użytkowników roli programowej Brama (Ochrona). W tym kroku realizowania awizacji użytkownik musi przypisać dok magazynowy, przy którym realizowany będzie załadunek lub rozładunek. Opcjonalnie możliwe jest uzupełnienie uwag oraz wysłanie wiadomości sms lub mail.

Trzecim krokiem omawianego procesu jest zwolnienie rampy. W programie odpowiedzialni za tę czynność są pracownicy magazynu – roli magazyn. Rozpoczęcie za/rozładunku założone jest jako moment wjazdu na teren oddziału. Taki sposób interpretowania działań został przyjęty ze względu na ergonomię pracy.

Obsługa procesu zmiany statusów transportu w systemie awizacyjnym
Inicjalizacja interfejsu użytkownika
Funkcja MojaOnLoad():
- Dodaje arkusz stylów UI
- Pobiera dane przez ssDataSQL używając gcRefno
- Weryfikuje dane i ustawia tytuł interfejsu
- Generuje dynamiczny formularz z informacjami o transporcie
Generowanie formularza
- Pola tekstowe (numer dokumentu, kontrahent)
- Pola edytowalne (dane kierowcy, numer auta)
- Checkboxy do powiadomień
- Pola do uwag i danych ważenia
Obsługa zdarzeń użytkownika
- Zarządzanie widocznością sekcji powiadomień
- Konfiguracja komponentów formularza
- Podpięcie funkcji zmiany statusów
Zmiana statusu transportu
Funkcja ZmienStatus(cACH):
- ACH=1: Weryfikacja danych kierowcy
- ACH=2: Wybór rampy/parkingu
- ACH=3: Zwolnienie rampy
- ACH=4: Wprowadzenie wagi końcowej
System powiadomień
- Dynamiczna generacja treści e-mail/SMS
- Przesyłanie powiadomień przez ssDataSQL
Interfejs według statusu
Funkcje specjalne:
- Ach12: Ważenie wstępne
- Ach23: Przydzielanie miejsca
- Ach34: Obsługa rampy
- Ach49: Ważenie końcowe
Walidacja i finalizacja
AddSuccessEnd():
- Weryfikacja operacji
- Wysyłka powiadomień
- Reset interfejsu
Podsumowanie
System zapewnia kompleksową obsługę procesu transportowego poprzez:
- Dynamiczne formularze
- Walidację danych
- System powiadomień
- Elastyczne zarządzanie statusami
Skrypt
Ten kod JavaScript obsługuje proces zmiany statusu transportu w systemie awizacyjnym. Działa na stronie internetowej i dynamicznie aktualizuje jej treść w zależności od aktualnego statusu transportu. Poniżej znajduje się szczegółowy opis działania skryptu:
Zmienne globalne:
cZrodlo
: Przechowuje dane pobrane z serwera dotyczące transportu.gcRefno
: Unikalny identyfikator transportu, pobierany z parametrów URL.cKomunikat
: Przechowuje tekst komunikatu, który jest wysyłany do serwera wraz ze zmianą statusu.cTytul
: Przechowuje tytuł strony, który jest dynamicznie zmieniany.cMagazyn
: Przechowuje identyfikator magazynu.
Funkcja MojaOnLoad()
(Inicjalizacja):
- Dodanie arkusza stylów: Dodaje zewnętrzny arkusz stylów CSS do strony.
- Pobranie
gcRefno
: Pobiera identyfikator transportu z URL. Jeśli identyfikator jest pusty, ustawia go na 0. - Pobranie danych transportu: Funkcja
ssDataSQL
(specyficzna dla systemu) pobiera dane transportu na podstawiegcRefno
. - Obsługa braku danych: Jeśli
cZrodlo
jest puste (brak danych), wyświetla komunikat „Brak danych” i kończy działanie. - Przekierowanie dla ACH = 0: Jeśli status transportu (
cZrodlo[0].ACH
) wynosi 0, następuje przekierowanie na inny adres URL. - Ustalenie tytułu strony: Tytuł strony jest ustawiany na podstawie wartości
ACH
. - Generowanie formularza: Tworzony jest dynamiczny formularz HTML z informacjami o transporcie (numer dokumentu, kontrahent, przewoźnik itd.). Pola formularza różnią się w zależności od statusu
ACH
. - Wypełnienie pól (dla ACH = 1): Jeśli
ACH
wynosi 1, pola „Kierowca” i „Numer auta” są wypełniane danymi zcZrodlo
. - Konfiguracja elementów formularza: Funkcje
KonfigurujjqxCombo
,KonfigurujjqxMask
,KonfigurujjqxCalendar
itp. (specyficzne dla używanej biblioteki UI) konfigurują interaktywne elementy formularza (comboboxy, maski, kalendarze, checkboxy). - Obsługa checkboxów powiadomień: Dodano obsługę zdarzeń
checked
iunchecked
dla checkboxów „Powiadom e-mail” i „Powiadom SMS”. Pokazują one lub ukrywają odpowiednie pola tekstowe z treścią powiadomień. - Ustawienie focusu: Ustawia focus na polu „Uwagi”.
Funkcja ZmienStatus(cACH)
(Zmiana statusu):
- Przygotowanie parametrów: Tworzy ciąg
cPar
zawierającygcRefno
, nowy statuscACH
, komunikatcKomunikat
, tytułcTytul
, uwagi, numer dokumentu i inne dane, które zostaną przesłane do serwera. - Walidacja danych (dla ACH = 1): Sprawdza, czy pola „Kierowca” i „Numer auta” są wypełnione poprawnie. Jeśli nie, wyświetla komunikat o błędzie.
- Wywołanie
ssExSQL
: W zależności od aktualnego statusu (cZrodlo[0].ACH
), wywołuje funkcjęssExSQL
(specyficzna dla systemu) z odpowiednim identyfikatorem akcji i parametrami. Funkcja ta komunikuje się z serwerem w celu zmiany statusu. - Wywołanie
AddSuccessEnd
: Po pomyślnej zmianie statusu, wywoływana jest funkcjaAddSuccessEnd
.
Funkcja AddSuccessEnd(wynik)
(Obsługa wyniku zmiany statusu):
- Obsługa błędów: Sprawdza, czy funkcja
ssExSQL
zwróciła błąd. Jeśli tak, wyświetla komunikat o błędzie. - Wysłanie powiadomień: Jeśli zaznaczone są checkboxy powiadomień, funkcja buduje treść e-maila/SMS-a i wysyła je za pomocą funkcji
ssDataSQL
. - Wywołanie
ZmienStatusEnd
: Po wysłaniu powiadomień (lub ich braku), wywoływana jest funkcjaZmienStatusEnd
.
Funkcja ZmienStatusEnd()
(Koniec zmiany statusu):
- Wyświetlenie komunikatu: Wyświetla komunikat o pomyślnej zmianie statusu.
- Zamknięcie okna: Po krótkim czasie zamyka okno.
Funkcja ZmienRampe(cKod)
(Zmiana rampy):
- Oznaczenie wybranej rampy: Zmienia wygląd przycisków ramp, oznaczając wybraną rampę.
- Ustawienie wartości ukrytego pola: Ustawia wartość ukrytego pola
RAMPA
na kod wybranej rampy.
Funkcje Ach12()
, Ach23()
, Ach34()
, Ach49()
(Generowanie widoków dla poszczególnych statusów):
Funkcje te generują specyficzny kod HTML dla każdego statusu (ACH
). Dodają one odpowiednie pola formularza (np. odczyt wagi, wybór rampy) oraz przyciski akcji.
Podsumowanie
Skrypt ten implementuje logikę zmiany statusu transportu, dynamicznie aktualizuje interfejs użytkownika i obsługuje wysyłanie powiadomień. Kluczowe elementy to pobieranie danych z serwera, dynamiczne generowanie formularza, obsługa zdarzeń użytkownika, walidacja danych i komunikacja z serwerem w celu zmiany statusu. Kod wykorzystuje również specyficzne dla systemu funkcje, takie jak ssDataSQL
i ssExSQL
, oraz bibliotekę UI (np. jqxWidgets) do obsługi interaktywnych elementów.
Funkcja MojaOnLoad
dynamicznie generuje interfejs formularza w zależności od statusu awizacji transportu. Po załadowaniu strony dodaje arkusz stylów i pobiera dane z serwera używając parametru gcRefno
. Jeśli brakuje danych, wyświetla komunikat „Brak danych”, a dla statusu ACH=0 przekierowuje do innej strony.
Główna logika opiera się na wartości pola ACH z odpowiedzi serwera. W zależności od tej wartości generowany jest odpowiedni tytuł formularza i specyficzne pola:
- Dla ACH=1 (potwierdzenie przybycia) pokazuje edytowalne pola kierowcy i numeru auta
- Dla ACH=2 (wjazd na teren) wyświetla dostępne rampy i miejsca parkingowe
- Dla ACH=3 (zwolnienie rampy) pokazuje przycisk zmiany statusu
- Dla ACH=4 (wyjazd) dodaje pole pomiaru wagi
Funkcja ZmienStatus
wykonuje walidację danych przed wysłaniem:
- Sprawdza wymagane pola jak kierowca i numer rejestracyjny
- Wykonuje odpowiednie zapytanie SQL w zależności od aktualnego statusu
- Obsługuje powiadomienia SMS/email po zmianie statusu
Interfejs wykorzystuje komponenty jQuery jak:
jqxCheckBox
do zarządzania powiadomieniami- Dynamiczne pokazywanie/ukrywanie sekcji formularza
- Style CSS dla przycisków i polowych elementów
Po udanej zmianie statusu wyświetla komunikat potwierdzający i automatycznie zamyka okno po 2 sekundach. Całość integruje się z systemem zarządzania transportem przez unikalne identyfikatory GUID dla operacji SQL.
Czytaj więcej:
Zmiana statusu przez skanowanie – maw_events_scan.js
Plik maw_events_scan.js to kluczowy element systemu VSS, umożliwiający szybkie zarządzanie awizacjami z wykorzystaniem skanera kodów kreskowych. Automatyzuje identyfikację transportów, prezentację szczegółów oraz zmianę statusów, co znacznie usprawnia proces obsługi dostaw i wysyłek.
maw_events_dyspozycja
Plik maw_events_dyspozycja.js obsługuje przydzielanie miejsc oraz zarządzanie dyspozycjami w procesie awizacji. Umożliwia dynamiczną konfigurację transportu, automatyczne wysyłanie powiadomień SMS oraz zapis do bazy danych, co poprawia organizację ruchu transportowego.
maw_events_ins_ktr_aso
Plik maw_events_ins_ktr_aso.js obsługuje rejestrację i edycję awizacji ASO. Automatyzuje wybór lokalizacji, rodzajów transportu oraz walidację wprowadzonych danych. Dzięki integracji z bazą SQL umożliwia szybkie i efektywne zarządzanie procesem awizacji.
yard_transport_wew
Plik yard_transport_wew.js to narzędzie do zarządzania transportem wewnętrznym w zakładzie. Umożliwia tworzenie zleceń transportowych, przypisywanie miejsc postoju oraz potwierdzanie wykonania transportu. Dzięki integracji z bazą SQL zapewnia płynność procesów logistycznych i zwiększa efektywność operacji wewnętrznych.
Transakcje YMS javascript jqs VSS.net zarządzanie transportem
yard_view_details
Plik yard_view_details.js to narzędzie do monitorowania transportów na terenie zakładu. Umożliwia użytkownikom przeglądanie szczegółowych danych o pojazdach, przewoźnikach i kierowcach oraz wysyłanie powiadomień SMS. Dzięki dynamicznemu interfejsowi ułatwia zarządzanie ruchem transportowym w obrębie magazynów i parkingów.