19. Juni 2008 15:12
Hi Alex,
wenn ich mir nicht sicher bin, wie ich Tabellen per Programmcode füllen muss, "simuliere" ich immer die Benutzereingaben.
-> Wie würde ein Anwender den Beleg ausfüllen?
- Neuen Datensatz anlegen:
Record.INIT; - Neuen Datensatz einfügen:
Record.INSERT(TRUE); // TRUE, damit der Trigger durchlaufen wird. - Felder füllen:
Record.VALIDATE(Feld1,NeuerWert);
Record.VALIDATE(Feld2,NeuerWert);
[...] - Änderungen speichern:
Record.MODIFY(TRUE);
Bei Bestellungen das Ganze natürlich für Kopf als auch Zeilen.
Dadurch, dass du den INIT, INSERT(TRUE), VALIDATE und MODIFY(TRUE) ausführst, machst du (fast immer) dasselbe, als wenn ein Anwender es über eine Form eintippen würde.
Ausnahmen gibt es natürlich auch, z. B. Automatische Textbausteine würden nicht gezogen (das müsste noch zusätzlich per C/AL-Code gemacht werden).