Uniwersalna transakcja pozwalająca na tworzenie dowolnych formularzy w języku javascript i JQuery.
Transakcja JQS to aplikacja sieciowa stworzoną przy użyciu ASP.NET, JavaScript i komponentów powiązanych z technologią WebForms. Oto uproszczone wyjaśnienie działania aplikacji:
Jak działa aplikacja?
- Inicjalizacja i konfiguracja strony: Gdy użytkownik otwiera stronę, mechanizmy w pliku
jqs.aspx.cs
odpowiadają za inicjalizację danych sesyjnych i parametrów użytkownika, takich jak identyfikator sesji, nazwa użytkownika czy przypisany oddział. Wartości te są pobierane z bazy danych za pomocą zapytań SQL oraz przechowywane w sesji użytkownika. - Dynamiczne generowanie interfejsu: W pliku
jqs.js
znajduje się kod JavaScript, który dynamicznie konfiguruje elementy interfejsu użytkownika, takie jak listy rozwijane, pola kalendarza czy pola liczbowe. Ustawiane są też różne style i lokalizacja strony w zależności od języka użytkownika. - Obsługa danych i operacje na bazie: Plik
jqs.aspx.cs
zawiera metody umożliwiające interakcję z bazą danych. Operacje takie jak dodawanie, aktualizacja czy usuwanie danych są wykonywane za pomocą zapytań SQL przesyłanych z serwera do bazy. W aplikacji zastosowano dynamiczne przypisywanie parametrów, np. użytkownik, czas wykonania operacji czy identyfikatory sesji, co pozwala na personalizację działań. - Zabezpieczenia i weryfikacja: Sprawdzana jest autoryzacja użytkownika oraz poprawność danych przesyłanych do serwera. Na przykład metody takie jak
ssSQL
iInsertData
uwzględniają mechanizmy szyfrowania danych oraz weryfikację parametrów wejściowych, co zmniejsza ryzyko błędów i ataków, takich jak SQL Injection. - Personalizacja działania: Na podstawie roli użytkownika, która jest pobierana w pliku
jqs.js
, aplikacja dopasowuje funkcje interfejsu. Na przykład użytkownicy o wyższych uprawnieniach mogą widzieć dodatkowe opcje w interfejsie.
Podsumowując, aplikacja opiera się na płynnej integracji elementów serwera i klienta, zapewniając elastyczny i bezpieczny system zarządzania danymi dla użytkowników.
Sposób działania
Parametry wejściowe
Transakcja przyjmuje parametry przekazane w adresie URL (QueryString
). Kluczowe parametry to:
kod
– unikalny identyfikator operacji, np. dopisania danych lub wyświetlenia formularza.- Opcjonalnie dodatkowe dane, takie jak
refno
(numer referencyjny), które mogą być rozdzielone znakiem|
.
Przykład przetwarzania parametrów:
- Jeśli
kod
zawiera wartość, następuje zapytanie do bazy danych (x_skorowidze
) w celu pobrania szczegółów konfiguracji danej operacji, takich jak:- Skrypty (
script
) do załadowania. - Styl CSS (
cssstyles
). - Logika wczytywana przy starcie (
scriptonload
).
- Skrypty (
Odczyt danych z _code_sql
Tabela _code_sql
zawiera definicje zapytań SQL i ich parametrów. Dla każdej operacji określony jest:
- UID – unikalny identyfikator operacji.
- ZAPYTANIE – definicja zapytania SQL z dynamicznymi parametrami
{0}
,{1}
itp. - PARAMETRY – opis znaczenia poszczególnych zmiennych.
- CONNECTION – wskazuje na nazwę łańcucha połączenia z bazą danych.
Przykład z _code_sql
: Zapytanie INSERT INTO DPMAG...
umożliwia dodanie nowych rekordów do tabeli. Parametry takie jak {0}
, {1}
są wypełniane przez dane przesłane przez użytkownika lub wyliczane na podstawie sesji użytkownika.
Parametry
script=/role_wms/jqs_dpmag_wz.js?v@#appversion|scriptonload=MojaOnLoad()
- script – wskazanie skryptu do uruchomienia, wartość @ zostanie zamieniona na znak=, można użyć zmiennej #appversion, która podstawi wartość zmiennej wersji aplikacji (zalecana metoda wersjonowania plików js, tak aby przeglądarka pobierała najnowsze wersje)
- scriptonload – wskazanie nazwy funkcji uruchamianej po załadowaniu strony
Przykład działania
Działanie jqs_dpinw_insert.js
Skrypt jqs_dpinw_insert.js
to komponent kliencki odpowiadający za przygotowanie interfejsu użytkownika i wysyłanie danych do serwera, realizując operację dodawania inwentaryzacji.
- Inicjalizacja:
- Pobierane są dane użytkownika za pomocą funkcji
ssDataSQL
i identyfikator referencyjny (funkcjaPobierzRefno
). - Na podstawie roli użytkownika (
cUserRole
) konfiguracja interfejsu zmienia się, np. dodając więcej opcji dla użytkowników z uprawnieniami SuperVisor.
- Pobierane są dane użytkownika za pomocą funkcji
- Dynamika formularza:
- W zależności od wybranego typu inwentaryzacji (
mag
,lok
,aso
,ktr
), dynamicznie generowany jest interfejs:- Magazyn (
mag
) – pobiera dane o magazynie. - Lokalizacja (
lok
) – pozwala wyszukać lokalizację. - Asortyment (
aso
) – umożliwia wyszukiwanie produktów. - Kontrahent (
ktr
) – pozwala wyszukać kontrahenta.
- Magazyn (
- W zależności od wybranego typu inwentaryzacji (
- Przetwarzanie danych:
- Użytkownik wypełnia formularz, który pobiera dane z pól i komboboxów (np.
#ssID
), a następnie dane te są konwertowane na format parametrów używanych w zapytaniach SQL (cPar
). - Zapytanie SQL jest wykonywane przez funkcję
ssExSQL
, która przesyła dane do serwera, gdziejqs.aspx.cs
przetwarza żądanie.
- Użytkownik wypełnia formularz, który pobiera dane z pól i komboboxów (np.
Przykład wykorzystania zapytania z _code_sql
:
- UID:
5169E3D1-45C7-49F0-AACD-AB90867C4970
odnosi się do zapytania pobierającego dane asortymentowe z bazy (SELECT ... WHERE AKTYWNE=1
).
Przykład obsługi:
- Użytkownik wybiera typ inwentaryzacji (np.
mag
– magazyn). - Formularz generuje elementy UI w zależności od typu inwentaryzacji.
- Dane wprowadzone przez użytkownika (np.
Oddział
,Magazyn
) są konwertowane na ciąg parametrówcPar
. - Parametry
cPar
są przekazywane do serwera przezssExSQL
, gdziejqs.aspx.cs
realizuje odpowiednie zapytanie SQL, np. dodanie nowego rekordu inwentaryzacji do tabeliDPMAG
.
Ten mechanizm pozwala na elastyczne zarządzanie procesem inwentaryzacji i obsługę różnych scenariuszy zdefiniowanych w _code_sql
.
jqs_dpinw_insert
maw_android_awizacja_mobile
Transakcja JQS
maw_sko_mam
maw_android_awizacja_mobile
Anulowanie awizacji – maw_events_del.js
Czytaj więcej:
Usunięcie inwentaryzacji – jqs_dpinw_delete.js
Skrypt wykorzystywany w programie WMS.net umożliwiający użytkownikowi na usunięcie dokumentu inwentaryzacji, który znajduje się w buforze.
dpinw_zamknij.aspx
Transakcja dpinw_zamknij.aspx wykorzystywana w programie Studio Magazyn WMS.net służy do zamknięcia arkusza inwentaryzacji oraz wygenerowania dokumentów różnic inwentaryzacyjnych.
jqs_dphan_dpa
Skrypt jqs_dphan_dpa.js jest kluczowym elementem systemu zarządzania dokumentami, umożliwiającym tworzenie, edytowanie i zapisywanie dokumentów przyjęcia. Jego struktura opiera się na dynamicznym generowaniu elementów HTML, interaktywnych komponentach UI oraz bezpośredniej współpracy z bazą danych. Dzięki temu użytkownik może efektywnie zarządzać dokumentami, dodawać nowe pozycje oraz przeprowadzać procesy związane z ich zatwierdzeniem.
Transakcje YMS dokumenty magazynowe formularze interfejs użytkownika javascript jqs walidacja
jqs_dpinw_insert
Skrypt jqs_dpinw_insert.js realizuje kompleksowy proces dopisywania inwentaryzacji. Na początku inicjuje i konfiguruje interfejs, pobiera dane użytkownika oraz generuje dynamiczny formularz na podstawie wybranego rodzaju inwentaryzacji. Następnie system aktywnie waliduje dane, sprawdza istnienie dokumentów w buforze oraz weryfikuje, czy dana inwentaryzacja nie została już wcześniej dopisana.
jqs_dpinw_zamknij
Skrypt jqs_dpinw_zamknij.js realizuje kompleksowy proces zamykania inwentaryzacji. Na początku dynamicznie generuje interfejs, wyświetlając dane inwentaryzacji, takie jak numer i data. Następnie skrypt sprawdza, czy inwentaryzacja zawiera pozycje bez bilansu otwarcia, co może blokować zamknięcie.