14. März 2014 14:08
14. März 2014 14:20
IF Rec."Inactive Date" <= TODAY THEN
Rec.Status := 1; // falls es ein Option-Feld ist, dann besser: Rec.Status := Rec.Status::"1";
14. März 2014 14:36
14. März 2014 15:16
Employee.RESET;
Employee.SETCURRENTKEY(Status,"Inactivate Date"); // Diesen Key gibt es im Standard noch nicht!
Employee.SETFILTER(Status,'<>%1',Employee.Status::Inactive);
Employee.SETFILTER("Inactivate Date",'>%1&<=%2',0D,TODAY);
IF Employee.FINDSET(TRUE) THEN BEGIN
REPEAT
Employee.Status := Employee.Status::Inactive;
Employee.MODIFY;
UNTIL Employee.NEXT = 0;
END;
14. März 2014 16:27
14. März 2014 16:44
14. März 2014 16:45
Ich hatte in meinem Code noch die REPEAT-Schleife vergessen. Diese habe ich jetzt gerade nachgetragen.Peter Klein hat geschrieben:vielen Dank für den Code Vorschlag.
Das war meine Vermutung, da sonst alle Instanzen alle Jobs abarbeiten würden, was mit sehr hoher Wahrscheinlichkeit zu Fehlern und/oder Abbrüchen (durch gegenseitiges Sperren) führen würde.Peter Klein hat geschrieben:Wir haben uns aber die JobQueue erweitern lassen, so dass wir eben mehrere JobQueue's gleichzeitig laufen lassen können. (siehe Screenshot)
14. März 2014 16:46
Upps, na klar. Habe ich oben geändert.Peter Klein hat geschrieben:Wenn im Feld Datum Inaktivität kein Wert steht, muss der Status auf aktiv bleiben. Derzeit wird dies nun auch geändert. Hast Du hierfür auch noch einen Tipp für mich?
17. März 2014 12:16
17. März 2014 12:34
Peter Klein hat geschrieben:Ich habe zwei globale Variablen definiert (Employee und Inactivate Date)
17. März 2014 12:55
17. März 2014 13:12
17. März 2014 14:14
17. März 2014 16:48