Datensatz nach 10 Jahren automatisch löschen nach abfrage
Hey,
ich bin grade auf der Suche nach einer Lösung für unser Problem.
Ich möchte eine Funktion schreiben die einen Datensatz nach 10 Jahren löscht, aber vorher eine E-Mail sendet, um eine Bestätigung einzuholen. Könnte mir da einer weiterhelfen? LG Max und Danke
14 Antworten
-
Wenn da auf den Tag genau und zu 100% verlässlich funktionieren soll, geht das nur mit externer Anbindung von der aus ein Cronjob gestartet wird, welcher die entsprechenden Datensätze prüft. Das kann man dann 1 mal am Tag prüfen lassen. Wenn Datensätze zum löschen vorhanden sind, kann man eine Mail versenden.
Alternativ, jedoch abhängig davon, dass jemand täglich mit Ninox arbeitet, beim Start der Datenbank die Records abfragen, ob ein Datum > 10 Jahre ist. Wenn ja, kann auch hier eine Mail mit sendMail() gesendet werden oder man erstellt eine Benachrichtigung z.B. in einem Dashboard oder einen dialog().
Damit die Abfrage nicht bei jedem Öffnen durchgeführt wird, kann man in irgendeiner Tabelle, z.B. Dashboard ein Datumsfeld hinterlegen, wo beim Öffnen abgeglichen wird, ob heute schon abgefragt wurde.
Die Alternative ist halt nicht 100% zuverlässig, weil sie für die Prüfung mindestens geöffnet werden muss.
-
Hallo, ich Klinke mich da mal mit ein.
Mich würde das für Termine interessieren.
Ich habe eine Tabelle Termine wo die Termine erfasse.
Felder sind Termin - Datum-Zeit-, Termingrund und Beschreibung, sowie ein Ja/nein Feld Erledigung.
Ideal wäre es, wenn beim öffnen der Datenbank die Abfrage der Tabelle Termine erfolgen würde, bis der Termin als erledigt ist.
Leider habe ich nicht mal ansatzweise, wie das zu bewerkstelligen wäre.
Gruß Axel
-
Hallo!
Das könnte generell ein Thema zur DSGVO sein, zu der es unterschiedliche Löschfristen gibt:
https://www.datenschutzexperte.de/loeschkonzept-im-unternehmen/
Teilweise zwingend, teilweise mit den gesetzlichen Aufbewahrungsfristen abzugleichen.
-
ok, weist du wie man das Code speziell darstellen kann?
-
Hallo, ich sehe hier eher ein sachliches Problem. Denn das Ansinnen, Datensätze nach Ablauf einer Aufbewahrungsfrist automatisch zu löschen, setzt ja erst mal ein zuverlässiges Bezugsdatum voraus. Die internen Werte 'Erstellt am' und 'Zuletzt geändert' sind dazu wohl eher ungeeignet, da sie nichts über den tatsächlichen Beginn der Frist aussagen. Der Kunde bspw., den man vor X Jahren in Ninox angelegt hat, kann ja immer noch ein aktiver sein. Man müsste also zusätzliche Kriterien prüfen, z. B. die letzte Aktivität, wenn das Datenmodell es hergibt.
Praktikabel wäre eine Automatisierung deshalb m. E. überhaupt nur bei Daten, die mit einem Gültigkeitsdatum versehen sind, das als Beginn der Aufbewahrungsfrist betrachtet werden kann. Also zum Beispiel bei Belegen wie Rechnungen, die ja immer ein Rechnungsdatum haben. Aber selbst die würde ich nicht zum Stichtag nach Ablauf der Frist automatisch löschen.
Die meisten Ninox-User betrifft es wohl sowieso erst in einigen Jahren ... Aber wenn man vielleicht zehn und mehr Jahre alte Rechnungen importiert hat, dann könnte man, z. B. im Dashboard oder auf einer speziellen Admin-Seite, eine Ansicht der betreffenden Tabelle erstellen und diese entsprechend filtern. So ließen sich die potenziell zu löschenden Daten noch mal überprüfen und dann ggf. mit einem Button löschen (oder eine Löschmarkierung setzen).
Da wir hier ja wohl über Zeiträume von mindestens mehreren Jahren sprechen, könnte man das m. E. durchaus von Zeit zu Zeit manuell mit einer Ansicht überprüfen und zum Löschen ggf. auf den Button klicken. Der Code zum Selektieren der Daten könnte bspw. so aussehen (am Beispiel der Rechnungen mit einer Aufbewahrungsfrist von 10 Jahren):
let myYears := 10; let myExDate := date(year(today()) - myYears, month(today()), day(today())); select Rechnungen where Rechnungsdatum < myExDate
-
Hallo! Ich habe bei den in Frage kommenden Tabellen bzw. Datensätzen (ohne Trigger-Script!) eine Auswahl "Löschfrist beachten" hinterlegt. In Kombination mit einem Erstellungs-Datum und einem Feld "Lebensdauer" kann ich z.B. zum Jahreswechsel manuell prüfen, welche Datensätze fällig wären. Ist zwar mit etwas Arbeit verbunden, aber der Jahreswechsel bietet sich dazu einfach an. Und es geht ja letztendlich nur um die personenbezogenen Daten.
Langfristige Geschäftsbeziehungen, z.B. Kunden, die man schon seit über 10 Jahre bedient, oder Lieferanten, die man immer wieder in Anspruch nimmt, kann man dann davon ausnehmen.
Z.B. alle Daten mit der Auswahl "Löschfrist beachten" und die älter als die eingestellte Lebensdauer sind in einer Auswahltabelle darstellen und einzeln oder pauschal zu löschen. Eventuell noch ein Feld "aktiv/inaktiv" - da sollten der Fantasie keine Grenzen gesetzt sein ;-)
Content aside
- vor 10 MonatenZuletzt aktiv
- 14Antworten
- 120Ansichten
-
5
Folge bereits