StudioSystem

Anulowanie awizacji z podaniem przyczyny

Moduł służy do bezpiecznego anulowania istniejących awizacji z obowiązkowym podaniem przyczyny. Dynamiczne renderowanie formularza.

studiosystem.softwarestudio.com.pl/transakcje-yms/
Panel startowy platformy StudioSystem z modułami przypisanymi do roli użytkownika
Panel startowy platformy StudioSystem z modułami przypisanymi do roli użytkownika

Funkcja inicjalizująca MojaOnLoad

Funkcja MojaOnLoad stanowi początkowy element skryptu oraz odpowiada za inicjalizację podstawowych parametrów aplikacji. Następnie przypisuje wartość zmiennej gcRefno z tablicy ssVar pod indeksem pierwszym. Dodatkowo sprawdza długość otrzymanej wartości oraz w przypadku pustej wartości przypisuje zero. Funkcja wywołuje metodę Calendar_insert_UstawStrone odpowiedzialną za przygotowanie interfejsu. Na końcu modyfikuje style kontenera oraz formularza nadając im odpowiednie właściwości wizualne.

Centralna część okna „Anulowanie Awizacji”

To jest okno, które pojawia się, gdy użytkownik próbuje anulować zaplanowane powiadomienie (awizację). Zawiera ono istotne informacje dotyczące anulowanego transportu i wymaga od użytkownika podania przyczyny anulowania.

Szczegółowy opis poszczególnych pól:

  • „Nr Load Plan 5F597” - To jest unikalny identyfikator planu załadunku lub transportu, z którym powiązana jest ta awizacja. Load Plan to termin używany w logistyce oznaczający szczegółowy plan załadunku towaru na dany środek transportu (np. ciężarówkę, statek, samolot). Numer 5F597 to konkretny numer identyfikacyjny tego planu. Dzięki temu numerowi można łatwo odnaleźć i zidentyfikować dany plan w systemie.
  • „Kontrahent Ziemia” - To pole informuje, że kontrahentem, czyli klientem lub partnerem biznesowym, który jest zaangażowany w to powiadomienie, jest firma o nazwie „Ziemia”. Kontrahent to strona, która zleca transport lub odbiór towaru. Nazwa „Ziemia” identyfikuje konkretną firmę, z którą zawarta jest umowa na dany transport.
  • „Rodzaj awizacji: Pojazdy liniowe” - To pole precyzuje rodzaj awizacji, czyli powiadomienia o planowanym transporcie. „Pojazdy liniowe” prawdopodobnie odnoszą się do regularnych, planowych transportów, które odbywają się na określonej trasie, zgodnie z harmonogramem. To sugeruje, że transport „Ziemia” jest częścią stałego łańcucha dostaw.
  • „Rodzaj transportu: Cysterna” - To pole określa typ pojazdu, który jest wykorzystywany w transporcie. „Cysterna” to specjalny rodzaj pojazdu (najczęściej ciężarówka), przeznaczony do przewozu płynnych materiałów, takich jak paliwo, chemikalia lub żywność. Informacja ta jest istotna ze względu na specyfikę ładunku i konieczność zapewnienia odpowiednich warunków transportu.
  • „Nr awizacji klienta: 0705029” - To jest numer identyfikacyjny nadany przez klienta (firmę „Ziemia”) temu konkretnemu powiadomieniu o transporcie. Numer ten pozwala klientowi śledzić i identyfikować swoje zamówienia transportowe w systemie.
  • „Przyczyna anulowania” - To jest pole tekstowe, w którym użytkownik musi wpisać przyczynę anulowania awizacji. To pole jest obowiązkowe, ponieważ system wymaga udokumentowania powodów, dla których transport nie może się odbyć. Przyczyna może być różna, np. awaria pojazdu, brak towaru, zmiana planów klienta itp.
  • „ANULUJ AWIZACJĘ” - To jest czerwony przycisk, który służy do ostatecznego potwierdzenia anulowania awizacji. Po kliknięciu tego przycisku, awizacja zostaje anulowana w systemie, a informacja o anulowaniu jest zapisywana wraz z podaną przyczyną.

Podsumowując:

Okno „Anulowanie Awizacji” służy do anulowania zaplanowanych transportów. Zawiera ono szczegółowe informacje o transporcie, takie jak numer planu załadunku, dane kontrahenta, rodzaj awizacji, rodzaj transportu i numer awizacji klienta. Dodatkowo, wymaga od użytkownika podania przyczyny anulowania.

Funkcja Calendar_insert_UstawStrone

Ta rozbudowana funkcja tworzy interfejs użytkownika dla formularza anulowania awizacji. Początkowo pobiera dane używając metody ssDataSQL z określonym identyfikatorem oraz parametrem gcRefno. Następnie generuje strukturę HTML zawierającą pola formularza takie jak numer dokumentu oraz dane kontrahenta. Funkcja dynamicznie dodaje kolejne pola w zależności od dostępności danych w obiekcie cZrodlo. Na końcu dodaje pole do wprowadzenia przyczyny anulowania oraz przycisk zatwierdzający operację.

Funkcja DelCal oraz AddSuccessEnd

DelCal realizuje proces anulowania awizacji poprzez połączenie parametru gcRefno oraz wartości wprowadzonej w polu uwag. Wykorzystuje metodę ssExSQL do wykonania operacji na bazie danych. Natomiast funkcja AddSuccessEnd obsługuje rezultat operacji anulowania. W przypadku otrzymania komunikatu błędu wyświetla alert. Przy pomyślnym wykonaniu operacji zmienia zawartość interfejsu informując o anulowaniu awizacji oraz automatycznie zamyka okno po 1.5 sekundy.

Podsumowanie: Skrypt realizuje funkcjonalność anulowania awizacji w systemie. Umożliwia wprowadzenie przyczyny anulowania oraz prezentuje szczegółowe informacje o wybranej awizacji. Zapewnia intuicyjny interfejs użytkownika z walidacją danych.

Mechanizm anulowania awizacji w skrypcie

Skrypt rozpoczyna działanie od inicjalizacji zmiennej gcRefno wartością zero podczas ładowania strony. Funkcja MojaOnLoad przygotowuje interfejs użytkownika poprzez ustawienie tła i wysokości formularza, po czym wywołuje główną procedurę generującą widok. Proces ten wykorzystuje dane z zapytania SQL identyfikowanego przez unikalny GUID, co gwarantuje precyzyjne pobranie informacji o konkretnej awizacji. W przypadku braku rekordów w bazie system natychmiast wyświetla komunikat o nieodnalezionych danych.

Struktura formularza anulowania

Widok formularza dynamicznie tworzy tabelę HTML z polami prezentującymi szczegóły awizacji takimi jak numer load planu czy rodzaj transportu. Elementy interfejsu są conditionally rendered w zależności od dostępności danych - na przykład pole „Ilość palet” pojawia się tylko przy niepustej wartości. istotnym elementem formularza jest pole tekstowe do wpisania przyczyny anulowania, które automatycznie otrzymuje focus po załadowaniu strony. Przycisk akcji „ANULUJ AWIZACJĘ” wyzwala funkcję DelCal po kliknięciu.

Proces walidacji i aktualizacji danych

Funkcja DelCal zbiera dane z formularza w formacie pipe-separated values, łącząc identyfikator awizacji z wpisanym komentarzem. Wywołanie procedury SQL poprzez ssExSQL z nowym GUID realizuje fizyczne usunięcie rekordu w bazie danych. Mechanizm AddSuccessEnd zapewnia natychmiastową informację zwrotną - w przypadku błędu wyświetla alert, a przy sukcesie zamienia przycisk na komunikat potwierdzający. Automatyczne zamknięcie okna po 1.5 sekundach optymalizuje przepływ pracy użytkownika.

System implementuje wielojęzyczność poprzez funkcję ssTlumaczenie, choć konkretny mechanizm tłumaczeń pozostaje ukryty. Warstwy wizualne wykorzystują klasy CSS takie jak art-buttonRed do wyróżnienia głównej akcji, co poprawia ergonomię interfejsu. Logika warunkowa w generowaniu HTML zapobiega wyświetlaniu pustych pól, dbając o przejrzystość prezentowanych informacji.

Podsumowanie funkcjonalności

Moduł służy do bezpiecznego anulowania istniejących awizacji z obowiązkowym podaniem przyczyny. Dynamiczne renderowanie formularza opiera się na danych z systemu ERP, zapewniając aktualność informacji. Dwuetapowy proces zatwierdzania przez użytkownika minimalizuje ryzyko przypadkowych działań. Implementacja skupia się na użyteczności poprzez automatyczne focusowanie pola wejściowego i natychmiastową informację zwrotną. Architektura kodu pozwala na łatwą rozbudowę o nowe pola lub walidacje bez naruszania istniejącej logiki.

Chcesz zobaczyć transakcje YMS w działaniu?

Uruchom demo modułów StudioSystem i sprawdź platformę na żywo.