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:
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.
Przykłady zastosowań skorowidz DEL
Usuwanie pozycji z tabeli dpmag
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
- 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
- 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
- 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.
Dokumentacja techniczna StudioSystem. Pytania wdrożeniowe: kontakt z SoftwareStudio.