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.

android_dpmag_pw

Skrypt android_dpmag_pw stanowi mobilny interfejs użytkownika w systemie Studio WMS.net, dedykowanym obsłudze operacji magazynowych oznaczonych kodem „PW”. Jego głównym zadaniem jest umożliwienie magazynierowi szybkiego i precyzyjnego wprowadzania danych dotyczących przyjmowania…

android_dpmag_rw

Skrypt android_dpmag_rw.js to moduł mobilnego interfejsu w systemie Studio WMS.net, dedykowany obsłudze operacji związanych z dokumentami typu RW. Jego głównym celem jest umożliwienie magazynierowi szybkiego i precyzyjnego wprowadzania danych dotyczących…

maw_events_cyk

Rozwiązanie automatyzuje proces planowania cyklicznego transportu towarów z uwzględnieniem specyfiki branży logistycznej. Elastyczna konfiguracja parametrów umożliwia dostosowanie do różnych scenariuszy operacyjnych, a integracja z zewnętrznymi systemami zapewnia spójność danych. Modułowa…

Dodanie do koszyka – wms_dpzle_zwz_0.js

Skrypt wykorzystywany w roli Klient WMS.net umożliwiający użytkownikowi dodanie asortymentu do koszyka (bufora), w celu późniejszej edycji dokumentu.

yard_view

Pliki yard_view.js i yard_view.css umożliwiają dynamiczną wizualizację zajętości miejsc parkingowych i doków magazynowych. Dzięki interaktywnej prezentacji użytkownicy mogą w łatwy sposób monitorować stan magazynu oraz lokalizację pojazdów. System oparty na…

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