4. Juli 2011 13:27
Hallo,
wenn ich manuell in einem Feld ein F2 tippe, verändern sich andere Werte.
Jetzt will ich das im Code nachbilden. Ein einfaches REC.VALIDATE(FELD);
tut aber nicht das was ich möchte. Muss ich noch etwas anderes beachten?
Weiss jemand da Rat?
4. Juli 2011 13:32
Manche Validates unterscheiden sich je nachdem, ob es aus Code oder per Handeingabe aufgerufen wurde. Da musst du mal gucken, ob in dem Code irgendwo CurrFieldNo steht.
4. Juli 2011 13:36
Es kann auch sein, sofern du F2 auf einer Form (im Unterschied zur Tabelle-Run) machst, das im OnValidate der Form etwas programmiert ist.
4. Juli 2011 13:37
Das Feld ist Inventurmenge in Artikelbuchblattzeile.
Da steht:
TESTFIELD("Phys. Inventory",TRUE);
PhysInvtEntered := TRUE;
Quantity := 0;
IF "Qty. (Phys. Inventory)" >= "Qty. (Calculated)" THEN BEGIN
VALIDATE("Entry Type","Entry Type"::"Positive Adjmt.");
VALIDATE(Quantity,"Qty. (Phys. Inventory)" - "Qty. (Calculated)");
END ELSE BEGIN
VALIDATE("Entry Type","Entry Type"::"Negative Adjmt.");
VALIDATE(Quantity,"Qty. (Calculated)" - "Qty. (Phys. Inventory)");
END;
PhysInvtEntered := FALSE;
4. Juli 2011 13:52
Im OnValidate von Quantity wird die Funktion CheckItemAvailable aufgerufen, da verbirgt sich möglicherweise der Grund für das unterschiedliche Verhalten.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.