0
Doppelte Datensätze löschen und NUR aktuellsten behalten
Servus zusammen,
ich habe eine Tabelle Rechnungen. Mit einem Button erstelle ich eine Rechnung, welche in einer zweiten Tabelle Dokumente gespeichert wird. Nun möchte ich es aber vermeiden, dass ein Dokument mehrmals in der Tabelle Dokumente gespeichert wird und immer nur das aktuellste Dokument behalten.
Mein Skript sieht aktuell so aus, aber funktioniert leider nicht.
let myFileName := Rechnungsnummer + ".pdf";
let me := this;
let newDoc := (create Dokumente);
importFile(newDoc, printAndSaveRecord(me, "Rechnung_DC_DE"), myFileName);
newDoc.(
Dokument := myFileName;
Dokumentname := myFileName;
Dokumenttyp := 3;
Erstellungsdatum := today();
Rechnungen := me
);
popupRecord(newDoc) + ('Rechnung fällig' := today() + 14) +
for i in Dokumente order by now() - 'Zuletzt geändert' do
delete Dokumente[Dokumentname = i.Dokumentname and Dokumenttyp = i.Dokumenttyp and Nr != i.Nr and
not substring(Dokumentname, 0, 1)]
end
Copy
Freu mich auf euer Feedback.
Viele Grüße,
Andi
5 Antworten
-
Hallo Andi, mir ist zwar nicht klar, wie und warum eine Rechnung mehrfach erstellt wird, aber rein technisch gesehen würde ich es so versuchen (nach den newDoc-Zuweisungen):
[...] ); 'Rechnung fällig' := today() + 14; delete (select Dokumente where Dokumentname = newDoc.Dokumentname and Dokumenttyp = 3 and 'Zuletzt geändert' < newDoc.'Zuletzt geändert'); popupRecord(newDoc)
Vor dem Ausprobieren natürlich ein Backup der Datenbank machen oder mit Demodaten arbeiten.
Content aside
- Status Answered
- vor 1 JahrZuletzt aktiv
- 5Antworten
- 69Ansichten
-
2
Folge bereits