Transakcja JQS

Transakcja JQS w systemie SoftwareStudio umożliwia szybkie i elastyczne przetwarzanie danych w środowisku aplikacji webowej. Dzięki niej użytkownicy mogą efektywnie zarządzać informacjami i dostosowywać funkcjonalności do indywidualnych potrzeb biznesowych.

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?

  1. 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.
  2. 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.
  3. 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ń.
  4. Zabezpieczenia i weryfikacja: Sprawdzana jest autoryzacja użytkownika oraz poprawność danych przesyłanych do serwera. Na przykład metody takie jak ssSQL i InsertData uwzględniają mechanizmy szyfrowania danych oraz weryfikację parametrów wejściowych, co zmniejsza ryzyko błędów i ataków, takich jak SQL Injection.
  5. 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).

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.

  1. Inicjalizacja:
    • Pobierane są dane użytkownika za pomocą funkcji ssDataSQL i identyfikator referencyjny (funkcja PobierzRefno).
    • Na podstawie roli użytkownika (cUserRole) konfiguracja interfejsu zmienia się, np. dodając więcej opcji dla użytkowników z uprawnieniami SuperVisor.
  2. 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.
  3. 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, gdzie jqs.aspx.cs przetwarza żądanie.

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:

  1. Użytkownik wybiera typ inwentaryzacji (np. mag – magazyn).
  2. Formularz generuje elementy UI w zależności od typu inwentaryzacji.
  3. Dane wprowadzone przez użytkownika (np. Oddział, Magazyn) są konwertowane na ciąg parametrów cPar.
  4. Parametry cPar są przekazywane do serwera przez ssExSQL, gdzie jqs.aspx.cs realizuje odpowiednie zapytanie SQL, np. dodanie nowego rekordu inwentaryzacji do tabeli DPMAG.

Ten mechanizm pozwala na elastyczne zarządzanie procesem inwentaryzacji i obsługę różnych scenariuszy zdefiniowanych w _code_sql.

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,…

maw_android_awizacja_mobile

Plik maw_android_awizacja_mobile.js stanowi kluczowy komponent aplikacji mobilnej, automatycznie pobierając dane, formatując je w przejrzystą tabelę i dynamicznie dostosowując wygląd do statusu awizacji. Dzięki temu użytkownicy mogą łatwo przeglądać nadchodzące i…

Transakcja JQS

Transakcja JQS w systemie SoftwareStudio umożliwia szybkie i elastyczne przetwarzanie danych w środowisku aplikacji webowej. Dzięki niej użytkownicy mogą efektywnie zarządzać informacjami i dostosowywać funkcjonalności do indywidualnych potrzeb biznesowych.

maw_sko_mam

Plik maw_sko_mam.js to moduł systemu VSS pozwalający logistykom efektywnie zarządzać dokami magazynowymi. Umożliwia dynamiczne przeglądanie dostępnych doków, dodawanie nowych oraz organizowanie ich kolejności. Dzięki wbudowanej walidacji danych i integracji z…

maw_android_awizacja_mobile

Funkcja dynamicznie generuje widok listy dokumentów w aplikacji mobilnej, dostosowując zawartość do dostępnych danych. Współpracuje z funkcją getTableColor, aby wizualnie wyróżnić elementy na podstawie ich statusu. Całość zapewnia przejrzysty i…

Anulowanie awizacji – maw_events_del.js

Jedną z najbardziej przydatnych funkcji platformy StudioSystem jest możliwość śledzenia i zarządzania dostawami towarów do magazynów. Odbywa się to poprzez umożliwienie przewoźnikom składania awizacji dostaw, które następnie można śledzić i…

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.

    Transakcje WMS

  • 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.

    Transakcje WMS

  • 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

  • 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.

    Transakcje WMS

  • 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.

    Transakcje WMS