Jahresabschluss: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Zeile 84: Zeile 84:


* &#129046;<b>Pflege</b>&#129046;Reiter <b>Stapeltransaktionen</b>&#129046;Haken bei <b>Personen löschen</b>&#129046;OLAP Ergebnis laden&#129046;<b>Ausführen</b>
* &#129046;<b>Pflege</b>&#129046;Reiter <b>Stapeltransaktionen</b>&#129046;Haken bei <b>Personen löschen</b>&#129046;OLAP Ergebnis laden&#129046;<b>Ausführen</b>
== Turnus Löschung ==
* Aus Gründen der Datensparsamkeit sollte ab und an geprüft werden, ob Personen/Belege weiterhin gespeichert werden sollen
* Endloses, unnötiges Speichern von personenbezogenen Daten sollte vermieden werden, das ist eine Forderung des Datenschutzes
* Als Hilfe stehen Ihnen 3 OLAP-Scripts zur Verfügung die Kandidaten für die Löschung selektieren, danach können Sie noch manuell eingreifen
=== Kunden-Verlorene.OLAP.txt ===
--
-- Verlorene Kunden haben vor dem STICHTAG
-- was gekauft, seit dem aber nicht mehr
--
$STICHTAG='01.01.2011'
select distinct
  BE.PERSON_R
from
  posten PO
join beleg BE ON
  (BE.RID=PO.BELEG_R) and
  (BE.ANLAGE>=$STICHTAG) and
  (BE.PERSON_R is not null)
join PERSON on
  (BE.PERSON_R=PERSON.RID) and
  ((PERSON.A17 is null) or (PERSON.A17='N'))
where
  (PO.PREIS>0)
select distinct
  BE.PERSON_R
from
  posten PO
join beleg BE ON
  (BE.RID=PO.BELEG_R) and
  (BE.ANLAGE<$STICHTAG) and
  (BE.PERSON_R is not null)
join PERSON on
  (BE.PERSON_R=PERSON.RID) and
  ((PERSON.A17 is null) or (PERSON.A17='N'))
where
  (PO.PREIS>0)
subtract
-
complete
Anschrift(PERSON_R) Adressat1;Adressat2;Adressat3;Adressat4;Strasse;Ort 
-
excel
open
-
# Führen Sie das Script aus, im LibreOffice- Calc werden die entsprechenden Löschkandidaten angezeigt
# Sind alle Vorschläge OK
## wählen Sie ->Pflege->Reiter Stapeltransaktionen
## Kreuzen Sie "Personen löschen" an
## Laden sie die OLAP-Ergebnis.csv
## Drücken Sie "Ausführen"
# Falls Sie die Löschung von einzelnen verhindern wollen
## Wählen Sie -> Person -> grüner OLAP-Würfel -> OLAP-Ergebnis.csv
## Kreuzen Sie A17 an um die Aufnahme in das OLAP-Ergebnis beim nächsten Aufruf zu verhindern
## Wenn Sie alle Kandidaten geprüft und ggf. angekreuzt haben muss das OLAP-Statement nochmals ausgeführt werden
## Obwohl Sie A17 ankreuzen darf nicht die "alte" Liste zur Löschvorlage verwendet werden!!
=== Belege-Vor-Stichtag.OLAP.txt===
--
-- Belege die vor dem STICHTAG angelegt wurden
--
$STICHTAG='01.01.2011'
select
  RID
from
  BELEG
where
  ANLAGE<$STICHTAG
=== Kunden-Passive.OLAP.txt ===
--
-- Personen ...
--  die keinen Beleg haben
--  die keinen Order-Beleg haben
--  die nicht in A17 als "unlöschbar" angegeben sind
--  die vor dem Stichtag schon im System waren
--  die nicht grün eingefärbt sind
--
 
$STICHTAG='01.01.2011' 
               
select first 30
  RID as PERSON_R
from
  PERSON
where
  ((select count(RID) from BELEG where BELEG.PERSON_R=PERSON.RID)<1) and
  ((select count(RID) from BBELEG where BBELEG.PERSON_R=PERSON.RID)<1) and
  ((A17 is null) or (A17='N')) and
  (EINTRAG<$STICHTAG) and
  ((PAPERCOLOR is null) or (PAPERCOLOR not in (1111111,2222222)))
order by
  RID   
complete
Anschrift(PERSON_R) Adressat1;Adressat2;Adressat3;Adressat4;Strasse;Ort 
-
excel
open
-
# Führen Sie das OLAP-Skript "Personen ohne Umsatz" aus
* Die Personen werden alle gelöscht
* Für jede einzelne Löschung wird eine Dokumentations-Datei erstellt die in der Diagnose abgelegt wird
* Diese Lösch-Protokollierung landet langefristig in den "Ablage-" Zips der Datensicherung

Version vom 4. März 2021, 14:34 Uhr

  • Der Datenschutz fordert einen sensiblen Umgang mit Personenbezogenen Daten
  • Das Finanzamt fordert die Archivierung aller Belege für maximal 10 Jahre
  • Aus Gründen der Datensparsamkeit hilft der OrgaMon beim Aufräumen/Löschen der Daten

Vorgehensweise

  • Durch OLAP-Statements wird ein Löschumfang berechnet
  • Mit dem OLAP-Ergebnis.csv geht man dann in die Stapel-Transaktionen und nimmt Beleg- oder Personen-Löschungen vor

Beleg

  • Beleg-Vor-Stichtag.OLAP.txt
--
-- Belege die vor dem STICHTAG angelegt wurden
--

$STICHTAG='01.01.2009'

select
 RID
from
 BELEG
where
 ANLAGE<$STICHTAG
  • 🠖Pflege🠖Reiter Stapeltransaktionen🠖Haken bei Belege löschen🠖OLAP Ergebnis laden🠖Ausführen

Person

  • Kunden-Verlorene.OLAP.txt
--
-- Verlorene Kunden haben vor dem STICHTAG
-- was gekauft, seit dem aber nicht mehr
--

$STICHTAG='01.02.2011'

--
-- Liste der Käufer NACH dem Stichtag 
--
select distinct
 BE.PERSON_R
from
 posten PO
join beleg BE ON 
 (BE.RID=PO.BELEG_R) and
 (BE.ANLAGE>=$STICHTAG) and
 (BE.PERSON_R is not null)
join PERSON on
 (BE.PERSON_R=PERSON.RID) and
 ((PERSON.A17 is null) or (PERSON.A17='N')) 
where
 (PO.PREIS>0)   

--
-- Liste der Käufer VOR dem Stichtag
--
select distinct
 BE.PERSON_R
from
 posten PO
join beleg BE ON 
 (BE.RID=PO.BELEG_R) and
 (BE.ANLAGE<$STICHTAG) and
 (BE.PERSON_R is not null)
join PERSON on
 (BE.PERSON_R=PERSON.RID) and
 ((PERSON.A17 is null) or (PERSON.A17='N')) 
where
 (PO.PREIS>0)  
 
subtract
-

complete
Anschrift(PERSON_R) Adressat1;Adressat2;Adressat3;Adressat4;Strasse;Ort  
-

excel
open
-
  • 🠖Pflege🠖Reiter Stapeltransaktionen🠖Haken bei Personen löschen🠖OLAP Ergebnis laden🠖Ausführen

Turnus Löschung

  • Aus Gründen der Datensparsamkeit sollte ab und an geprüft werden, ob Personen/Belege weiterhin gespeichert werden sollen
  • Endloses, unnötiges Speichern von personenbezogenen Daten sollte vermieden werden, das ist eine Forderung des Datenschutzes
  • Als Hilfe stehen Ihnen 3 OLAP-Scripts zur Verfügung die Kandidaten für die Löschung selektieren, danach können Sie noch manuell eingreifen

Kunden-Verlorene.OLAP.txt

--
-- Verlorene Kunden haben vor dem STICHTAG
-- was gekauft, seit dem aber nicht mehr
--

$STICHTAG='01.01.2011' 

select distinct
 BE.PERSON_R
from
 posten PO
join beleg BE ON 
 (BE.RID=PO.BELEG_R) and
 (BE.ANLAGE>=$STICHTAG) and
 (BE.PERSON_R is not null)
join PERSON on
 (BE.PERSON_R=PERSON.RID) and
 ((PERSON.A17 is null) or (PERSON.A17='N')) 
where
 (PO.PREIS>0) 

select distinct
 BE.PERSON_R
from
 posten PO
join beleg BE ON 
 (BE.RID=PO.BELEG_R) and
 (BE.ANLAGE<$STICHTAG) and
 (BE.PERSON_R is not null)
join PERSON on
 (BE.PERSON_R=PERSON.RID) and
 ((PERSON.A17 is null) or (PERSON.A17='N')) 
where
 (PO.PREIS>0) 

subtract
-

complete
Anschrift(PERSON_R) Adressat1;Adressat2;Adressat3;Adressat4;Strasse;Ort  
-

excel
open
-
  1. Führen Sie das Script aus, im LibreOffice- Calc werden die entsprechenden Löschkandidaten angezeigt
  2. Sind alle Vorschläge OK
    1. wählen Sie ->Pflege->Reiter Stapeltransaktionen
    2. Kreuzen Sie "Personen löschen" an
    3. Laden sie die OLAP-Ergebnis.csv
    4. Drücken Sie "Ausführen"
  3. Falls Sie die Löschung von einzelnen verhindern wollen
    1. Wählen Sie -> Person -> grüner OLAP-Würfel -> OLAP-Ergebnis.csv
    2. Kreuzen Sie A17 an um die Aufnahme in das OLAP-Ergebnis beim nächsten Aufruf zu verhindern
    3. Wenn Sie alle Kandidaten geprüft und ggf. angekreuzt haben muss das OLAP-Statement nochmals ausgeführt werden
    4. Obwohl Sie A17 ankreuzen darf nicht die "alte" Liste zur Löschvorlage verwendet werden!!

Belege-Vor-Stichtag.OLAP.txt

--
-- Belege die vor dem STICHTAG angelegt wurden
-- 

$STICHTAG='01.01.2011' 

select
 RID
from
 BELEG
where
 ANLAGE<$STICHTAG


Kunden-Passive.OLAP.txt

--
-- Personen ...
--  die keinen Beleg haben
--  die keinen Order-Beleg haben
--  die nicht in A17 als "unlöschbar" angegeben sind
--  die vor dem Stichtag schon im System waren
--  die nicht grün eingefärbt sind
--
 
$STICHTAG='01.01.2011'  
               
select first 30 
 RID as PERSON_R
from
 PERSON
where 
 ((select count(RID) from BELEG where BELEG.PERSON_R=PERSON.RID)<1) and
 ((select count(RID) from BBELEG where BBELEG.PERSON_R=PERSON.RID)<1) and
 ((A17 is null) or (A17='N')) and
 (EINTRAG<$STICHTAG) and
 ((PAPERCOLOR is null) or (PAPERCOLOR not in (1111111,2222222)))
order by
 RID    

complete
Anschrift(PERSON_R) Adressat1;Adressat2;Adressat3;Adressat4;Strasse;Ort  
-

excel
open
-


  1. Führen Sie das OLAP-Skript "Personen ohne Umsatz" aus
  • Die Personen werden alle gelöscht
  • Für jede einzelne Löschung wird eine Dokumentations-Datei erstellt die in der Diagnose abgelegt wird
  • Diese Lösch-Protokollierung landet langefristig in den "Ablage-" Zips der Datensicherung