Rewizja zmian danych (audyt)

Program StudioSystem posiada funkcjonalność pozwalającą na śledzenie zapisu zmian w bazie realizowanych za pomocą standardowych transakcji edycji (j_insert_update, h_insert_update).

Konfiguracja

Ustawienie polegające na włączeniu jaka tabela ma podlegać rewizji to zdefiniowanie aktywnej pozycji w słowniku: RVZN

Przy zapisie zmian, program weryfikuje czy zmiany zapisywane w danej tabeli są oznaczone jako podlegające rewizji, jeżeli tak uruchamiana jest automatyczna funkcja zapisująca historię zmian w tabeli _revision.

Przykład

Chcemy kontrolować zmiany zapisywane w tabeli KNKON, aby uruchomić działanie funkcji rewizji danych należy w skorowidzu RVZN dodać definicje:

skorowidz-rewizja

skorowidz-rewizja-insert

 

Gotowe, teraz jeżeli za pomocą transakcji insert_update użytkownik wprowadzi zmiany w zapisach w tabeli KNKON program automatycznie dokona zapisu w historii zmian (tabela _revision).

Rewizja zapisuje następujące informacje:

  • NRIDREV – unikalny identyfikator rewizji
  • TABELA – nazwa tabeli bazy SQL, która była poddawana rewizji
  • REFNO – identyfiktor wiersza (rekordu) TABELI, wskazuje która pozycja była edytowana
  • REVCOLUMN – nazwa kolumny bazy danych, która poddawana była rewizji
  • OVALUE – dotychczasowa (stara) wartość zapisana w bazie – wartość przed zmianą
  • NVALUE – nowa wartość zapisana po zmianie.
  • KIEDY – data i czas wykonania zapisu zmian w bazie
  • LOGIN – akronim użytkownika, który dokonał zmiany zapisu w bazie
  • BAZA – nazwa połączenia do bazy w której była wykonana rewizja, domyślnie SoftwareStudioConnectionString, lub CustomConnectionString
  • CAPTION – opis kontrolki na formularzu, który jest powiązany z kolumną, czyli nazwa (etykieta) pola edytowanego przez użytkownika.

Przykładowo edytujemy kartotekę kontrahenta:

rewizja-1

Zmienimy nazwę klienta na KLIENT B2B, oraz NIP na 7791010701

rewizja-2

 

Po kliknięciu na przycisk ZAPISZ, program stwierdzi, że zdefiniowany został skorowidz dla tabeli KNKON, więc dokona weryfikacji zmian i zapisze rewizję dotyczącą wyłącznie pól, które użytkownik zmienił (w powyższym przykładzie pola: nazwa pełna i NIP). W efekcie w tabeli _revision zostały zapisane dane:

 

NRIDREV TABELA REFNO REVCOLUMN OVALUE NVALUE KIEDY LOGIN BAZA CAPTION
6183132541615 KNKON 5252144335500 NAZWA KLIENT B1 KLIENT B2B 2016-07-01 13:25:41.463 adasie3078 SoftwareStudioConnectionString Nazwa pełna
6183132541615 KNKON 5252144335500 NIP 4654656564 7791010701 2016-07-01 13:25:41.463 adasie3078 SoftwareStudioConnectionString NIP