logo-softwarestudio-2020-600

x_delete.aspx

Usuwanie danych z bazych jest możliwe za pomocą transakcji x_delete.aspx.

Transakcja x_delete.aspx pozwala usuwać trwale dane z bazy lub zmieniać oznaczenie ACH. Transakcja wymaga podania parametrów:

  • tabela – nazwa tabeli z której dane mają być usunięte lub zmieniony status ACH
  • kolumna – nazwa kolumny w tabeli według której następuje odszukanie wiersza, jest to zwykle identyfikator kolumna refno, nridXXX.
  • refno – przekazanie numeru identyfikującego wiersz do usunięcia, dodawany jest automatycznie gdy transakcja jest uruchamiana z pozycji grida (transakcja x_grid.aspx)

Ponadto można dodać opcjonalne parametry

  • info – pozwala wskazać nazwę kolumny lub kolumn które mają zostać odczytane i wyświetlone w oknie komunikatu dla użytkownika. Przykładowo: info=INDEKS lub info=INDEKS+NAZWAAS
  • caption lub caption2– dowolny tekst wyświetlany na formularzu przed wartością odczytaną za pomocą parametru info.
  • ach – podanie parametru spowoduje wykonanie polecenia UPDATE zamiast DELETE. Dane nie są wówczas fizycznie usuwane z bazy jedynie następuje zmiana wartości w kolumnie ACH na podaną w parametrze zwykle literę X. Przykładowo ach=X
  • connection – opcjonalny parametr pozwala wskazać nazwę połączenia z bazą danych np. custom. Jeżeli nie ma parametru to obsługiwana jest domyślna baza danych.
  • run – wskazanie co ma być uruchomione
  • params – parametry przekazywane do run

Przykłady

Przykład uruchomienia transakcji x_delete.aspx

Wykorzystanie dla kartotek

  • role_sys/x_delete.aspx?tabela=KNASO&kolumna=NRIDASN&refno=
    powoduje trwałe usunięcie pozycji z tabeli asortymentu
  • role_sys/x_delete.aspx?tabela=KNASO&kolumna=NRIDASN&info=INDEKS+NAZWAAS&refno=
    powoduje trwałe usunięcie pozycji z tabeli KNASO i wyświetlenie na ekranie wartości odczytanej z kolumny INDEKS i kolumny NAZWAAS
  • role_sys/x_delete.aspx?tabela=KNASO&kolumna=NRIDASN&ach=X&refno=
    powoduje zmianę zapisu wartości w kolumnie ACH na X, dane pozostają w bazie – nie są usuwane.
  • role_sys/x_delete.aspx?tabela=KNKON&kolumna=NRIDODN&refno=
    powoduje trwałe usunięcie pozycji z tabeli kontrahentów
  • role_sys/x_delete.aspx?tabela=KNWMS&kolumna=NRIDWMS&refno=
    powoduje trwałe usunięcie pozycji z tabeli miejsc składowania

Wykorzystanie dla dokumentów

  • role_sys/x_delete.aspx?tabela=DPMAG&kolumna=REFNO&ach=1&refno= – zatwierdzanie dokumentu – wszystkich rekordów tego samego numeru referencyjengo, zmiana ach na 1
  • role_sys/x_delete.aspx?tabela=DPMAG&kolumna=ID_DPMAG&ach=X&refno= – usuwanie pozycji dokumentu, zmiana ach na X

Konfiguracja

Zalecane jest uruchamianie transakcji z trybie z parametrem ACH tak aby unikać fizycznego usuwania danych z bazy, a jedynie zmieniać status wiersza na usunięty X lub dowolny inny.

Transakcję uruchamiać należy z poziomu tabeli GRID jako polecenie WebToolBar, przykład konfiguracji

  • nazwa transakcji role_sys/x_delete.aspx
  • parametry transakcji  tabela=KNASO&kolumna=NRIDASN&ach=X&info=INDEKS+NAZWAAS&refno=
  • ikona  ~/images_m/16×16/selection_delete.png
  • Odśwież po zamknięciu okna na TAK
  • rozmiar okna DialogBox Małe 3 (500×200)

Skrypt do usuwania zastępujący od 2021 roku transakcję x_delete.aspx

W wersji od 2021 roku wprowadziliśmy zmianę obsługi poleceń usuwania danych. Zamiast mniej bezpiecznej transakcji x_delete wprowadziliśmy obsługę za pomocą standardowej transakcji jqs.aspx i skryptu oraz skorowidza DEL.

Przykład uruchomienia:

/role_sys/jqs.aspx?kod=22A7-1F2E-AC91&delsko=4512245130421512&refno=6370758937666019

gdzie parametry:

  • kod – 22A7-1F2E-AC91 – to odwołanie do skorowidza JQS, w którym jest ustawione wywołanie skryptu /role_sys/jqs_x_delete.js
  • delsko – 4512245130421512, wskazuje na pozycję skorowidza DEL. Pozycja ta zawiera definicję:
    • KOD1 – symbol ACH, zwykle wartość X, jeżeli pole jest puste to zamiast update ach, zostanie wykonane fizyczne usunięcie danych z tabeli. Uwaga, nie działa przywracanie rekordów oznaczonych ACH jako X na inny status. Można natomiast zmieniać ACH z 0 na inny np. 1, 2, Y itd.
    • STATUS – zawiera nazwę tabeli w bazie danych, np. dpzle
    • STATUS2 – zawiera nazwę kolumny do której będzie porównanie wartości przekazanej jako REFNO. Zwykle będzie to REFNO, REFNO_POZ itp. kolumna identyfikujące wiersz lub dokument.
    • OPIS – treść komunikatu na stronie dla użytkownika, np. pytanie „Czy chcesz usunąć zaznaczony dokument ?”
  • refno – 6370758937666019, wartość przekazywana jako informacja do usunięcia danych. Zwykle to klucz dla danej tabeli, ale może to być numer referencyjny dokumentu.
Przy zapisie wykonywany jest code SQL: 
DD51F92C-6359-4E19-9522-650496C14821

Przykłady zastosowań skorowidz DEL

Usuwanie pozycji z tabeli dpmag

/role_sys/jqs.aspx?kod=22A7-1F2E-AC91&delsko=3917145230427410&refno=6370758937666000

Ustawienia w skorowidzu DEL

  • KOD – 3917145230427410 – unikalny identyfikator pozycji skorowidza
  • KOD1 – X – symbol jaki będzie zapisany jako ACH w tabeli dpmag.
  • STATUS – DPMAG – nazwa tabeli
  • STATUS2 – REFNO_POZ – nazwa kolumny w tabeli dpmag, wg której zostaną wybrane rekordy.
  • OPIS – Czy usunąć zaznaczoną pozycję ? – definiujemy treść komunikatu, jaki wyświetlony zostanie na ekranie.

Usuwanie dokumentu z tabeli dpmag

/role_sys/jqs.aspx?kod=22A7-1F2E-AC91&delsko=4512245130421512&refno=6370758937666011

Ustawienia w skorowidzu DEL

  • KOD – 4512245130421512 – unikalny identyfikator pozycji skorowidza
  • KOD1 – X – symbol jaki będzie zapisany jako ACH w tabeli dpmag.
  • STATUS – DPMAG – nazwa tabeli
  • STATUS2 – REFNO – nazwa kolumny w tabeli dpmag, wg której zostaną wybrane rekordy.
  • OPIS – Czy usunąć zaznaczony dokument ? – definiujemy treść komunikatu, jaki wyświetlony zostanie na ekranie.

Usuwanie dokumentu z tabeli dproz

/role_sys/jqs.aspx?kod=22A7-1F2E-AC91&delsko=4065095407557049&refno=6370758937666011

Ustawienia w skorowidzu DEL

  • KOD – 4065095407557049 – unikalny identyfikator pozycji skorowidza
  • KOD1 – X – symbol jaki będzie zapisany jako ACH w tabeli dproz.
  • STATUS – DPROZ – nazwa tabeli
  • STATUS2 – REFNO_POZYCJA – nazwa kolumny w tabeli dproz, wg której zostaną wybrane rekordy.
  • OPIS – Czy usunąć zaznaczoną pozycję ? – definiujemy treść komunikatu, jaki wyświetlony zostanie na ekranie.

Usuwanie dokumentu z tabeli kpkon

/role_sys/jqs.aspx?kod=22A7-1F2E-AC91&delsko=4065102237607522&refno=6370758937666011

Ustawienia w skorowidzu DEL

  • KOD – 4065102237607522 – unikalny identyfikator pozycji skorowidza
  • KOD1 – X – symbol jaki będzie zapisany jako ACH w tabeli dproz.
  • STATUS – KPKON – nazwa tabeli
  • STATUS2 – REFNO – nazwa kolumny w tabeli dproz, wg której zostaną wybrane rekordy.
  • OPIS – Czy usunąć pozycję kosztów ? – definiujemy treść komunikatu, jaki wyświetlony zostanie na ekranie.