AssistEdit(OldOpenPO : Record "Purchase Rate Agreement Header") : Boolean WITH OpenPO DO BEGIN OpenPO := Rec; //why this PurchSet.GET; PurchSet.TESTFIELD("Agreement Nos."); IF NoSeriesMgt.SelectSeries(PurchSet."Agreement Nos.",OldOpenPO."No. Series","No. Series") THEN BEGIN NoSeriesMgt.SetSeries("Agreement No."); Rec :=OpenPO; //why this EXIT(TRUE); //why exit used here [s] [/s] END; END; OpenPO:Record variable purchase rate agreement header(custom table ) PurchSet: Record varable purchase and payble setup
Answers
Assignments between Rec and OpenPO are done to protect Rec from accidental change in case function SelectSeries returns FALSE, but return the change done by it in case it returns TRUE (have you noticed the WITH OpenPO statement which makes the "No. Series" parameter (the last one) part of this record?)
The EXIT(TRUE); statement is to return the success state as the functions value. If the function terminates without executing an EXIT statement, the function returns FALSE by default (in general it would return the type's default initialization value).
Have a look at the OnAssistEdit trigger on the "No." field on page 42 to see an example on how this is used.