0

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

null
    • Claus.1
    • vor 1 Monat
    • Gemeldet - anzeigen

    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

    • Ninox-Professional
    • planoxpro
    • vor 1 Monat
    • Gemeldet - anzeigen

    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
    • Claus.1
    • vor 1 Monat
    • Gemeldet - anzeigen

    Vielen Dank so klappt es. 

Content aside

  • Status Answered
  • vor 1 MonatZuletzt aktiv
  • 3Antworten
  • 61Ansichten
  • 2 Folge bereits