_code_sql

Wykonywanie zapytań do bazy danych za pomocą skryptów JS lub jako wyniki podstawione dla kontrolki typu COMBO (WebCombo oraz WebComboFly) wymaga zdefiniowania zapytań po stronie bazy danych w tabeli _code_sql. Z poziomu modułu konfiguracja program udostępnia opcje przeglądania, edycji i dopisywania kodów zapytań.

Zapytania SQL

Definicje zapytań SQL

Formularz dopisywania i edycji zapytań SQL to standardowa transakcja j_insert_update uruchamiana z kodem (kodtransakcji=SQL_INS_CODE_SQL).

Zapytania SQL dopisz

Formularz zawiera następujące pola:

  • Rola – możliwość zdefiniowania do jakiej grupy należy dane zapytanie. Systemowe zapytania zapisujemy kod SYS
  • Unique Id – unikalny kod zapytania, jest generowany automatycznie i pozwala identyfikować rekord, jest to kod używany później do wskazywania jakie zapytanie chcemy uruchomić.
  • Opis – treść podpowiadająca do czego używać należy dane zapytanie
  • Rodzaj kontrolki – opis wskazujący przeznaczenie zapytania np.
    • Combo – zapytanie zwracane dla kontrolki WebCombo
    • CombFly – zapytanie zwracane dla kontrolki WebComboFly
    • Tabela – zapytanie zwraca dane w postaci tablicy wyników, wykorzystane w skryptach JS
    • Insert – zapytanie dopisujące dane do bazy
    • Update – zapytanie aktualizujące dane w bazie
  • Nazwa połączenia z bazą danych (connectionstring, albo baza root, albo custom, odczyt ze skorowidza prx=SQL)
  • Zapytanie SQL – polecenie do wykonania
  • Parametry – opis parametrów jakie należy przekazać do zapytania – pole opcjonalne, stanowi zapis dokumentacji – instrukcja użycia
  • Przykład użycia – przykład wykorzystania zapytania

 

Zapytania WebCombo

Zapytania SQL Combo

Przykładowe zapytanie SQL odwołujące się do skorowidza, przyjmuje dwa parametry:

  • ROLASYS
  • PRX

Przykład użycia w kodzie JS

data-ssUID=\”450E175F-7969-4D65-B3B4-57ACD2986ACC\” data-ssPAR=\”WMS|MAG\”

Przykład użycia w definicji WebCombo w transakcji j_insert_update

data-ssUID=450E175F-7969-4D65-B3B4-57ACD2986ACC data-ssPAR=WMS|MAG

Uwaga: poszczególne parametry rozdzielone są znakiem |

Zapytania SQL Combo i_u

Zapytania WebComboFly

Zapytania SQL ComboFly

Przykład zapytania dla kontrolki ComboFly, przyjmuje dwa parametry

  • {0} – szukana,
  • {1} identyfikowator kontrahenta NRIDODN

Przykład uruchomienia w skrypcie JS

data-ssUID=\”434BDF33-FC7D-4D3C-8E7C-070449E353D6\” data-ssPAR=\”$$SearchString|0\”

przykład użycia w transakcji j_insert_update

data-ssUID=434BDF33-FC7D-4D3C-8E7C-070449E353D6 data-ssPAR=$$SearchString|0

Uwaga: poszczególne parametry rozdzielone są znakiem |

Podstawianie danych w trybie edycji

W celu ustawienia kontrolki z danymi w trybie edycji danych, gdy podstawiamy wartość domyślną za pomocą ssvalue, należy zdefiniować zapytanie zwracające dany rekord i podstawić go pod atrybut data-ssUIDE, oraz przekazać parametr za pomocą atrybutu data-ssPARE np.

W kartotece asortymentowej edytowanej za pomocą transakcji insert_update ustawiamy:

data-ssUID=ED6286DE-C4B5-4A8E-9B1B-4EDBB84229C2 data-ssPAR=$$SearchString|KON data-ssUIDE=E4FD0962-FD3B-4F8F-B728-6DC939023D3E data-ssPARE=$$SearchString

gdzie atrybut data-ssUID wskazuje na zapytanie (SELECT TOP(50) NRIDODN as id, SKROCO + ‚ (‚ + upper(MIEJSCOWOSC) + ‚)’ as label FROM knkon WHERE ROLASYS=’WMS’ AND AKTYWNE=1 AND PRX='{1}’ AND ACH=’1′ AND ODDZIAL=(select top(1) ODDZIAL from _users where username=@KTO) AND NAZWA+SKROCO LIKE ‚%{0}%’ ORDER BY SKROCO) wykorzystywane do odszukania rekordów

a atrybut data-ssUIDE wskazuje na zapytanie (SELECT TOP(1) NRIDODN as id, SKROCO + ‚ (‚ + upper(MIEJSCOWOSC) + ‚)’ as label FROM knkon WHERE NRIDODN = {0}), które zwraca 1 rekord z danymi.

Tabela

Zapytania SQL tabela

Przykład zapytania SQL wykorzystywanego w skryptach JS do pobierania danych tabelarycznych, powyższy przyjmuje 1 parametr (numer referencyjny) za pomocą którego zwracamy dane dla danego dokumentu magazynowego.

Przykład wykorzystania w skrypcie JS za pomocą funkcji ssDataSQL()

ssDataSQL(„5D6DEE90-3495-44D1-8045-77E5B0F5E778”, gcRefno)

funkcja przyjmuje dwa parametry:

  • Unique Id zapytania SQL
  • numer referencyny

 

Insert

Zapytania SQL insert

Przykład użycia, definiujemy zmienną cPar i wypełniamy listą parametrów rozdzielonych znakiem |

let cPar = gcRefno + „|” + $(„#NRIDODN”).jqxComboBox(‚val’) + „|” + $(„#NRIDASN”).jqxComboBox(‚val’);
cPar += „|” + $(„#NRIDWMS”).jqxComboBox(‚val’); // {3}
cPar += „|” + $(„#PALETAKOD”).jqxComboBox(‚val’); // {4}
cPar += „|” + $(„#NRPALETY”).val(); // {5}
cPar += „|” + $(„#NRSERII”).val(); // {6}
if ($(„#TERMINWAZNOSCI”).val().length > 0) {
cPar += „|'” + $(„#TERMINWAZNOSCI”).val() + „‚”; // {7}
}
else {
cPar += „|NULL”;
}
if ($(„#DATAPRODUKCJI”).val().length > 0) {
cPar += „|'” + $(„#DATAPRODUKCJI”).val() + „‚”; // {8}
}
else {
cPar += „|NULL”;
}
cPar += „|” + $(„#ILOSC”).jqxNumberInput(‚val’); // {9}
cPar += „|” + $(„#UWAGIPOZ”).val(); // {10}

Uruchamiamy funkcje ssExSQL()

AddSuccessEnd(ssExSQL(„99784D40-2117-442B-BB22-563AD3DDB1ED”, cPar));

Po wykonaniu zapytania uruchomiona zostanie funkcja AddSuccessEnd();

 

Update

Zapytania SQL update

ssExSQL(„5D6DEE90-3495-44D1-8045-77E5B0F5E778”, ssVar[1])