Dopisanie cennika – wms_koszty.js

Transakcja zawiera funkcje pomocnicze dotyczące dopisania cennika usług klienta.

Cennik jest dopisywany dla klienta.

Przy dopisaniu pozycji cennika wybierane są kartoteki usług.

Funkcje CennikOnLoad() i CennikOnReady() są używane jako parametry transakcji j_insert_update.aspx. Przykład parametru:

script=../role_wms/wms_koszty& scriptonload=CennikOnLoad()& scriptonready=CennikOnReady()& kodtransakcji=WMS_INS_KNUSL_CEN& return=ZamknijOkno&leftpanelwidth=0& nridusl=

CennikOnLoad():

  • Odczytuje i zapamiętuje identyfikator kontrahenta zapisywane w pozycji cennika.
  • Dla przycisku ZAPISZ definiuje wykonanie funkcji ZapiszCennik() po potwierdzeniu przycisku.

CennikOnReady()

  • Odczytuje i zapisuje informacje wybranej kartoteki usług, które zapisywane są w dopisywanej pozycji cennika.

ZapiszCennik() – zapisanie pozycji cennika:

Dla kategorii kosztów innych niż Usługi program sprawdza i blokuje dopisanie pozycji cennika:

  • z powtórzoną kategorią kosztów i kodem palety;
  • bez wybranego kodu palety.

Obsługa Cennika Kosztów w Studio WMS.net

Plik wms_koszty.js obsługuje proces zarządzania kosztami w systemie Studio WMS.net. Skrypt umożliwia użytkownikowi dodawanie, edycję oraz walidację pozycji cennika kosztów. Dodatkowo pozwala na pobieranie danych z bazy i sprawdzanie poprawności wprowadzonych informacji przed zapisaniem zmian.

Funkcja getUrlParameter(sParam)

Funkcja getUrlParameter(sParam) aktywnie pobiera wartość określonego parametru z adresu URL. Najpierw dekoduje część zapytania URL, następnie dzieli ją na poszczególne zmienne i iteruje przez nie. Jeśli nazwa parametru odpowiada wartości przekazanej w sParam, funkcja zwraca przypisaną wartość lub wartość true, gdy wartość nie została określona. Dzięki temu system umożliwia dynamiczne pobieranie parametrów z adresu URL, co usprawnia konfigurację interfejsu.

Odpowiada za pobranie wartości parametrów z adresu URL:

  1. Pobiera całą treść zapytania URL.
  2. Rozdziela parametry na poszczególne wartości.
  3. Jeśli dany parametr istnieje, zwraca jego wartość.

Funkcja CennikOnLoad()

Funkcja CennikOnLoad() ustawia wartość pola NRIDODN na podstawie parametru refno pobranego z adresu URL. Następnie modyfikuje atrybut onclick przycisku zapisu, aby wywoływał funkcję ZapiszCennik(). Dzięki temu system aktywnie inicjuje formularz cennika i przygotowuje go do dalszych operacji zapisujących dane.

Obsługuje inicjalizację interfejsu użytkownika dla nowego cennika:

  • Pobiera numer referencyjny (refno) z adresu URL i przypisuje go do pola NRIDODN.
  • Przypisuje funkcję ZapiszCennik() do przycisku zapisu.

Funkcja KategoriaOnLoad()

Funkcja KategoriaOnLoad() działa podobnie do CennikOnLoad() i ustawia wartość pola NRIDODN na podstawie parametru refno z adresu URL. Dzięki temu system umożliwia konfigurację kategorii kosztów.

Odpowiada za inicjalizację interfejsu w module kategorii kosztów:

  • Pobiera refno z adresu URL.
  • Ustawia wartość w polu NRIDODN.

Funkcja CennikEdycjaOnLoad()

Funkcja CennikEdycjaOnLoad() modyfikuje atrybut onclick przycisku zapisu, aby wywoływał funkcję ZapiszCennikEdycja(). Dzięki temu system przygotowuje formularz do edycji pozycji cennika, umożliwiając aktualizację danych.

Obsługuje formularz edycji cennika:

  • Przypisuje funkcję ZapiszCennikEdycja() do przycisku zapisu.

Funkcja CennikOnReady()

Funkcja CennikOnReady() wiąże zdarzenie select z kontrolką UWAGI. Po wybraniu pozycji skrypt pobiera dane z tabeli knusl przy użyciu funkcji PobierzDataTable na podstawie wybranej wartości. Następnie system aktywnie ustawia wartości pól INDEKS, NAZWA oraz NRIDDPUSL na podstawie pobranych danych. Dzięki temu użytkownik widzi automatycznie uzupełnione informacje dotyczące wybranej pozycji cennika.

Obsługuje dynamiczne uzupełnianie pól formularza:

  • Nasłuchuje na zdarzenie wyboru z listy rozwijanej (UWAGI).
  • Pobiera dane dotyczące usługi, takie jak indeks, nazwa i cena.
  • Uzupełnia odpowiednie pola formularza.

Funkcja ZapiszCennik()

Funkcja ZapiszCennik() aktywnie sprawdza, czy wartość pola KATEGORIA jest różna od „U”. Następnie system wykonuje zapytanie przy użyciu funkcji ssDataSQL, przekazując jako parametry numer NRIDODN, kategorię kosztów i rodzaj palety. Jeśli zapytanie zwróci wynik, skrypt wyświetla komunikat o powtórzonej kategorii kosztów oraz rodzaju palety, przerywając operację. Dodatkowo funkcja weryfikuje, czy pole PALETAKOD nie jest puste. Jeśli walidacja przebiegnie pomyślnie, skrypt wywołuje funkcję SendForm('1'), aktywnie przesyłając dane do serwera w celu zapisania cennika.

Odpowiada za walidację i zapis nowej pozycji w cenniku:

  1. Sprawdza, czy użytkownik nie dodał powtórzonej kategorii kosztów i rodzaju palety.
  2. Jeśli wykryje duplikat, wyświetla komunikat błędu.
  3. Wymaga podania kodu palety – jeśli pole jest puste, użytkownik otrzymuje ostrzeżenie.
  4. Po pomyślnej walidacji zapisuje formularz.

Funkcja ZapiszCennikEdycja()

Funkcja ZapiszCennikEdycja() działa analogicznie do ZapiszCennik(), ale służy do edycji pozycji cennika. Skrypt wykonuje zapytanie przy użyciu funkcji ssDataSQL z parametrami odpowiadającymi numerowi usługi, kategorii kosztów i rodzajowi palety. Jeśli system wykryje powtórzenie, wyświetla komunikat o błędzie i przerywa operację. Po przejściu walidacji funkcja wywołuje SendForm('1'), przesyłając zmodyfikowane dane do serwera.

Obsługuje zapis zmian w edytowanej pozycji cennika:

  • Sprawdza, czy użytkownik nie powiela istniejącej kombinacji kategorii i rodzaju palety.
  • Jeśli występuje duplikat, system wyświetla błąd.
  • Wymusza uzupełnienie kodu palety przed zapisaniem zmian.
  • Jeśli walidacja przejdzie pomyślnie, zapisuje dane.

Obsługa walidacji

System dynamicznie weryfikuje poprawność wprowadzanych danych:

  • Blokuje dodanie tej samej kategorii i rodzaju palety więcej niż raz.
  • Nie pozwala na zapisanie pustego pola kodu palety.
  • Zapewnia integralność danych poprzez pobieranie informacji z bazy.

Podsumowanie

Plik wms_koszty.js to kluczowy skrypt do zarządzania kosztami w Studio WMS.net. Pozwala na dodawanie i edycję pozycji cennika, automatyczną walidację oraz zapis danych do bazy. Dzięki dynamicznemu interfejsowi i mechanizmom zabezpieczeń użytkownik może efektywnie kontrolować koszty związane z operacjami magazynowymi.

Czytaj więcej:

  • Dopisanie rozliczenia kosztów – jqs_dproz_rk.js

    Transakcja dopisania dokumentu rozliczenia kosztów kontrahenta na podstawie dokumentów magazynowych i usług.

    Transakcje WMS

  • android_dpmag_zl_as

    Skrypt android_dpmag_wzb.js to zaawansowany moduł mobilnego interfejsu w systemie Studio WMS.net, dedykowany obsłudze operacji wydania towaru w ramach dokumentów typu „WZB”. Jego głównym celem jest przeprowadzenie magazyniera przez proces realizacji dokumentu – od wprowadzenia numeru dokumentu, poprzez identyfikację pozycji przy użyciu kodu EAN, aż do zatwierdzenia operacji wraz z rejestracją szczegółowych danych dotyczących partii, palet

    Transakcje WMS

  • android_dpmag_zl_pal

    android_dpmag_wzb.js umożliwia szybkie i przejrzyste wydanie towaru. System łączy w sobie dynamiczne wprowadzanie danych, aktywną walidację oraz intuicyjną nawigację. Dzięki temu magazynier pracuje sprawnie, a operacje wydania realizuje z minimalnym ryzykiem pomyłek.

    Transakcje WMS

  • j_kalendarz_maw

    Skrypt JavaScript zarządza kalendarzem wydarzeń poprzez obsługę formularza z polami daty oraz innymi informacjami o wydarzeniu. Umożliwia dodawanie nowych wydarzeń do kalendarza wraz z walidacją poprawności dat oraz zapisem danych do bazy poprzez wywołanie procedury składowanej SQL.

    Transakcje YMS

  • przekaz_nridodn

    Plik przekaz_nridodn.js obsługuje proces normalizacji i walidacji adresów e-mail w systemie Studio WMS.net. Skrypt automatycznie normalizuje wprowadzane adresy e-mail, usuwając znaki diakrytyczne, oraz zapewnia walidację formatu e-mail przed zapisaniem formularza.

    Transakcje WMS