Reihenfolge Script ausführen
guten Tag Ninoxler. Komm wieder mal mit einem neuen Problem. Die Abarbeitung eines Button Script macht komische Sachen. Im ersten Teil lösche ich alle Duplikate (in Tabelle "Dezember") und danach kopiere ich die gesäuberten Daten in die Tabelle "Leer". Interessanterweise (für mich) wird der Erste Teil erst nach dem kopieren ausgeführt und kopiert so die doppelten Einträge in die Tabelle "LEER"mit. Anschliessend säubert er mir die Tabelle "Dezember" korrekt. In der Tabelle "Leer" sind aber die doppelten Einträge dann noch vorhanden. Kann mir bitte jemand sagen woran es liegen könnte. Bin nicht der Experte das Script kann verändert oder angepasst werden. Vielen dank für Eure Hilfe.
do as server
let me := this;
for e in select Dezember do
let result := min((select Dezember)[Steuernummer = e.Steuernummer].number(Nr));
if result != e.number(Nr) then
delete e;
'Doppel Check' := "ok";
delete (select Leere);
for i in select Dezember do
let CTB := (create Leere);
CTB.(Name := i.Name);
CTB.(CI := i.CI);
CTB.('<COD_COMPRENSORIO>' := i.'<COD_COMPRENSORIO>');
end
end
end
end
3 Antworten
-
hat hier keiner einen Vorschlage wie man das Erste "For" Befehl ausführt und dann erste den 2. "For" Befehl abschliesst?
Vielen Dank für Hilfe und Tipps
-
Hallo Claus, ich verstehe so auf Anhieb nicht, was das Script genau macht, aber von der Grundlogik her würde ich‘s mal so versuchen (in Testtabelle oder vorher Backup!):
do as server let me := this; for e in select Dezember do let result := min((select Dezember)[Steuernummer = e.Steuernummer].number(Nr)); if result != e.number(Nr) then delete e; else e.'Doppel Check' := "ok"; end end; delete (select Leere); for i in select Dezember do let CTB := (create Leere); CTB.(Name := i.Name); CTB.(CI := i.CI); CTB.('<COD_COMPRENSORIO>' := i.'<COD_COMPRENSORIO>'); end end
-
Vielen Dank so klappt es.
Content aside
- Status Answered
- vor 9 MonatenZuletzt aktiv
- 3Antworten
- 64Ansichten
-
2
Folge bereits