j_update.aspx

Transakcja pozwalająca w szybki i prosty sposób edytować wybrane pola tabeli. Transakcja j_update nastawiona jest na szybkie wprowadzanie danych np. ze skanera kodów kreskowych – jest ona zoptymalizowana pod względem liczby kliknięć. Po uruchomieniu, automatycznie, kursor ustawiony jest w pierwszym polu, aby przejść do następnego pola wystarczy nacisnąć klawisz ENTER. Klawisz ENTER w ostatnim polu powoduje zapisanie do bazy wprowadzonych danych.

Konfiguracja

Transakcja może zostać wywołana na konkretnym rekordzie z grida (wtedy edytujemy wybrany rekord). Drugą możliwością jest wywołanie transakcji bez wskazania rekordu do edycji, rekord ten jest podawany przez użytkownika po uruchomieniu transakcji (np. numer reklamacji zeskanowany przez terminal).

Konfiguracja dla konkretnego rekordu

W tym wypadku pola jakie mają być edytowane ustawiamy w skorowidzu UPDT. Opis używanych kolumn skorowidza:

  • Aktywne – możliwość wyłączenia pola bez konieczności usuwania wpisu
  • KOD – nazwa kolumny w tabeli, którą chcemy aktualizować
  • KOD1 – pole używane jako filtr przy wyborze pól, które mają się pojawić w transakcji
  • Opis – opis pola widoczny w po uruchomieniu transakcji
  • Style – style CSS określające wygląd pola
  • Uwagi – ciąg znaków wpisany w pole Uwagi, będzie domyślną wartość pola w formularzu po uruchomieniu transakcji. W trakcie wykonywania skryptu zmienne systemowe (@KTO, @ROLASYS, @MPK, @MAGAZYN, @KTRHID, @ODDZIAL, @DATA, @REFNO) zostaną zamienione na odpowiednie odpowiadające im wartości.
  • Kolejność – określa kolejność pól formularza
  • connectionString – określa connectionStringa do bazy danych. Wystarczy uzupełnić jeden wierszu dla danej grupy (dla danego KOD1). Transakcjaodczytuje pierwszą nie pustą wartość i podstawia ją jako connectionString. W przypadku, gdy wszystkie są puste podstawiany jest domyślny – softwareStudioConnectionString

j_update

Parametry transakcji i przykładowe wywołanie

  • prx – wskazanie skorowidza z którego będziemy odczytywać zdefiniowane pola (w przypadku wywołania transakcji ze wskazaniem konkretnego rekordu jest to skorowidz UPDT)
  • kod1 – filtr wskazujący które pola bierzemy pod uwagę
  • edycja=1 – parametr wczytuje do odpowiednich pól ich wartości z bazy danych. W przypadku braku tego parametru wartości te nie są odczytywane
  • captionstyle – parametr przyjmujący style CSS dotyczące kolumny z opisami pól
  • tab – wskazanie tabeli, do której ma nastąpić zapis
  • id – wskazanie klucza domyślnego, po którym będzie następowało odszukiwanie rekordu
  • anuluj=0 – parametr wyłączający widoczność przycisku Anuluj
  • zapisz=0 – parametr wyłączający widoczność przycisku Zapisz
  • return – parametr wskazujący transakcję jaka zostanie uruchomiona po wykonaniu zapisu
  • trim – parametr wskazujący z jakiego pola ile znaków i z której strony ma zostać wycięte

Przykładowe wywołanie transakcji:
role_sys/j_update.aspx?prx=UPDT&kod1=KTR_DPREK&return=/role_sys/komunikat.aspx?refno=ZAPIS&edycja=1&anuluj=0&tab=dprek&captionstyle=width:400px;vertical-align: middle;&id=refno&refno=

j_update

Konfiguracja bez wskazania konkretnego rekordu

W tym wypadku pola jakie mają być edytowane ustawiamy w skorowidzu UPDTW. Opis używanych kolumn skorowidza:

  • Aktywne – możliwość wyłączenia pola bez konieczności usuwania wpisu
  • Where – określa, czy pole będzie traktowane jako warunkowe do odszukania rekordu
  • KOD – nazwa kolumny w tabeli, którą chcemy aktualizować
  • KOD1 – pole używane jako filtr przy wyborze pól, które mają się pojawić w transakcji
  • Opis – opis pola widoczny w po uruchomieniu transakcji
  • Style – style CSS określające wygląd pola
  • Uwagi – w przypadku, gdy Where jest zaznaczone możemy w polu tym zdefiniować dodatkowe warunki wyszukiwania rekordów np. ACH=’1′ AND LOGIN=’@KTO’. W przypadku, gdy pole Where nie jest zaznaczone ciąg znaków wpisany w pole Uwagi, będzie domyślną wartość pola w formularzu po uruchomieniu transakcji. W trakcie wykonywania skryptu zmienne systemowe (@KTO, @ROLASYS, @MPK, @MAGAZYN, @KTRHID, @ODDZIAL, @DATA, @REFNO), zarówno w przypadku warunku jak i wartości domyślnej, zostaną zamienione na odpowiednie odpowiadające im wartości.
  • Kolejność – określa kolejność pól formularza
  • connectionString – określa connectionStringa do bazy danych. Wystarczy uzupełnić jeden wierszu dla danej grupy (dla danego KOD1). Transakcjaodczytuje pierwszą nie pustą wartość i podstawia ją jako connectionString. W przypadku, gdy wszystkie są puste podstawiany jest domyślny – softwareStudioConnectionString

j_update

Parametry transakcji i przykładowe wywołanie

  • prx – wskazanie skorowidza z którego będziemy odczytywać zdefiniowane pola (w przypadku wywołania transakcji bez wskazania konkretnego rekordu jest to skorowidz UPDTW)
  • kod1 – filtr wskazujący które pola bierzemy pod uwagę
  • captionstyle – parametr przyjmujący style CSS dotyczące kolumny z opisami pól
  • tab – wskazanie tabeli, do której ma nastąpić zapis
  • anuluj=0 – parametr wyłączający widoczność przycisku Anuluj

Przykładowe wywołanie transakcji:
role_sys/j_update.aspx?prx=UPDTW&kod1=NRSPEDYCJIIN&anuluj=0&tab=dprek&captionstyle=width:400px;vertical-align: middle;

Po aktualizacji danych na 3 sekundy pojawia z informacją o powodzeniu zapisu i liczbie zaktualizowanych rekordów lub braku powodzenia.

j_update

Wycinanie znaków – parametr trim

W parametrze trim podajemy 3 różne informacje oddzielone od siebie znakiem pionowej kreski | – NAZWA_POLA|LICZBA_ZNAKOW|Z_KTOREJ_STRONY.

  • NAZWA_POLA musi być adekwatna do kolumny kod skorowidza UPDT/UPDTW – jednoznacznie definiuje pole, którego wartość będzie przycinana
  • LICZBA_ZNAKOW – liczba znaków jaką chcemy wyciąć z danego pola
  • Z_KTOREJ_STRONY – przyjmuje 2 wartosci ‚L’ albo ‚R’ – wartości te oznaczają strony lewą oraz prawą, strona od której ucięte zostaną znaki

Za pomocą jednego parametru trim można wykonać wycinanie znaków dla wielu kolumn.

Przykłady wywołania

role_sys/j_update.aspx?prx=UPDTW&kod1=XYZ&anuluj=0&tab=dprek&trim=SERIA|1|L
role_sys/j_update.aspx?prx=UPDTW&kod1=XYZ&anuluj=0&tab=dprek&trim=SERIA|1|L|NRDOKUMENTU|3|R

Automatyczny zapis do tabeli po wykonaniu update’u

Parametry

Aby włączyć zapis do drugiej tabeli, należy dodać parametr konfiguracyjny:

  • event – kod wskazujący na odpowiednią pozycję skorowidza EVT np. event=CRM

Skorowidz EVT

W skorowidzu EVT w kolumnie Kod definiujemy kod identyfikujący rekord skorowidza.

W kolumnie Tabela podajemy nazwę tabeli, do której chcemy dodawać rekord po zapisaniu formularza j_insert_update.

W kolumnie Connection string podajemy connection string do bazy do której ma nastąpić zapis. W przypadku gdy pole jest puste następuje zapis do softwarestudioConnectionString.

W kolumnie Parametry podajemy kolumny z wybranej tabeli, a po znaku równości wartość, jaka ma zostać zapisana w bazie.

W kolumnie Klucz domyślny podajemy nazwę kolumny, która jest kluczem domyślnym (po której jednoznacznie identyfikujemy rekord w tabeli np. REFNO, NRIDASN, NRIDODN itd.)

zal1 300x187

Na podstawie kolumny Metoda zmieniany jest sposób dopisywania do tabeli. Gdy w kolumnie Metoda podane jest „insert” za każdym razem do bazy będzie trafiał nowy rekord (przykładowe zastosowanie: historia edycji danego wpisu), w przeciwnym wypadku, gdy kolumna Metoda jest różna od „insert” transakcja sprawdza czy dany rekord istnieje w tabeli do której dopisujemy, jeżeli tak robimy jego update, jeśli nie wykonywany jest insert.

Rodzaje wartości zapisywanych do bazy danych

  • @ – zmienne systemowe – po znaku @ podajemy zmienną systemową, której wartość zostanie odczytana z użytkownika np. KTO=@KTO
  • $ – wartość z formularza – po znaku $ podajemy nazwę kolumny z formularza j_insert_update. Wartość jaką posiada wskazane pole zostanie zapisana w bazie np. StartTime=$START
  • stałe – wartość stała, podawana jest bez poprzedzającego ją znaku specjalnego np. PRX=K03 (do bazy zapisana zostanie wartość K03)
  • | – zapytanie – po znaku | podajemy zapytanie. Wartość, którą zwróci zapytanie zostanie zapisana w bazie danych. W zapytaniu można używać wszystkich powyższych typów (zmiennych systemowych @, wartości z formularza $, oraz stałych) np. LOCATION=|SELECT TOP(1) (ULICA+’ ‚+MIEJSCOWOSC+’ ‚+KODPOCZTOWY) AS ADRESKON FROM knkon WHERE NRIDODN=$NRIDODN

zal1 300x187
zal1 300x187
zal1 300x187

 

 

PRZYKŁADY

Zapis w tabeli _historia

Chcemy, aby po zapisaniu danych za pomocą transakcji j_insert_update program automatycznie wykonał zapis w tabeli _historia. W tym celu definiujemy w skorowidzu EVT nowa kod np. DPUW_PASS

events dpuwa_pass

ustawiamy:

  • TABELA: _historia – dane zostaną zapisane w bazie SQL w tabeli _historia
  • PARAMETRY: przekazujemy listę parametrów wskazującą jakie informacje i w jaki sposób mają zostać dopisane w tabeli _historia (opis szczegółowy poniżej)
  • KLUCZ DOMYŚLNY: możemy podać nazwę kolumny REFNO choć nie jest to unikalna wartość, zamiast tego możemy podać nazwę kolumny z unikalną wartością.
  • METODA: ponieważ wskazaliśmy kolumnę REFNO jako klucz domyślny a chcemy aby zawsze wykonany był nowy zapis do bazy INSERT to w kolumnie metoda podajemy polecenie insert. W przeciwnym razie program zamiast dopisywać kolejno nowe rekordy wykonywałby update rekordu REFNO.

PARAMETRY

Listę parametrów rozdzielamy znakiem przecinka

PRX=PAS, REFNO=$REFNO, TYTUL=$TYTUL, KTRHID=$REFNO_POZ, UWAGI=|SELECT ‚Login:$ADRESAT Hasło:$NADAWCA Uwagi: $UWAGI’

gdzie w tabeli _historia:

w kolumnie PRX zostanie wpisana wartość PAS

w kolumnie REFNO zostanie wpisana wartość odczytana z kontrolki REFNO

w kolumnie TYTUL zostanie wpisana wartość odczytana z kontrolki TYTUL

w kolumnie KTRHID zostanie wpisana wartość odczytana z kontrolki REFNO_POZ

w kolumnie UWAGI zostanie wpisana wartość: „Login: ” + wartość odczytana z kontrolki ADRESAT + „Hasło:” + wartość odczytana z kontrolki NADAWCA + „Uwagi: ” + wartość odczytana z kontrolki UWAGI

 

Wskazówki

Aby utworzyć pole ukryte z domyślną wartością należy w kolumnie Style wpisać display:none;, a kolumnę Opis zostawić pustą, a w kolumnie Uwagi wpisać domyślną wartość pola.