6. April 2011 13:20
Hallo zusammen,
ich verzweifle gerade an meinen Programmierkünsten.
Ich möchte bei uns die Kreditlimitprüfung für das Feld "Unit Price" in der Tabelle 37 aktivieren. Im Standard funktioniert das, bei uns leider nicht, es ist aber erforderlich.
Im validate-Trigger des Feldes habe ich folgendes programmiert:
- Code:
COMMIT;
SalesLine.COPY(Rec);
lCduCustCheckCreditLimit.SalesLineCheck(SalesLine);
Damit funktioniert der Aufruf der Kreditlimitprüfung auch. Wenn die Meldung "Maximales Kreditlimit des Debitors wurde überschritten..." mit 'Ja' beantwortet wird funktioniert alles, wie gewünscht.
Ein kleines Problem bekomme ich aber, wenn ich auf 'Nein' klicke. Das System springt zurück in die Auftragserfassung, und ich kann den Verkaufspreis wieder ändern. Wenn ich an der Stelle Esc drücke, um den alten Wert zu bekommen, wird dieser angezeigt, sobald ich den Satz verlasse, steht aber wieder der vorherige Wert drin.
Beispiel:
Es steht 80,00 als Verkaufspreis drin. Ich ändere den Preis auf 130,00 wodurch das Kreditlimit überschritten wird. Die Meldung erscheint und ich beantworte diese mit 'Nein'. Beim Druck auf Esc erscheint wieder 80,00, wenn ich den Satz verlasse oder die Auftragskarte verlasse, erscheint wieder 130,00 und dieser Wert wird auch gespeichert.
Hat jemand eine Idee, wie ich das abfangen könnten?
Mir ist klar, dass durch das commit der Wert 130,00 gespeichert wird, dieses commit ist aber erforderlich, weil in der Kreditlimitprüfung diese Zeile steht:
- Code:
OK := CustCheckCreditLimit.RUNMODAL = ACTION::Yes;
und da muss vorher das commit erfolgen.
Gruß
Alexander
Zuletzt geändert von zannaleer am 6. April 2011 15:44, insgesamt 1-mal geändert.