I have a problem in retrieving a field in a report. I create a report on several tables. I create some variables, one of which is SalesCredit with data type Record.
Here is my code:
In the OnAfterGetRecord of Return Order
SalesCredit.SETFILTER("Return Order No.", "Return Order"."No.");
IF SalesCredit.FIND('-') THEN BEGIN
"Return Order"."No." := SalesCredit."Return Order No.";
END;
The Sales Credit No. in all records is PS10001 when I retrieve the report.
Does anyone why my code doesn't work? Thanks in advance!
0
Comments
SalesCredit.SETFILTER("Return Order No.", "Return Order"."No.");
IF SalesCredit.FIND('-') THEN BEGIN
"Return Order"."No." := SalesCredit."Return Order No.";
END ELSE BEGIN
"Return Order"."No." := '';
END;
The variable "Return Order"."No." was not being reset.
//old
SalesCredit.SETFILTER("Return Order No.", "Return Order"."No.");
//new
SalesCredit.SETRANGE("Return Order No.", "Return Order"."No.");
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n
here is how I would do it.
onaftergetrecord()
MyReturnNo := '';
SalesCredit.setrange("Return Order No.", "Return Order"."No.");
IF SalesCredit.FIND('-') THEN
MyReturnNo := SalesCredit."Return Order No.";
add to the body section a text box with sourcexp MyReturnNo.
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n
Customer ID Return No.
PS10001
RED01 PS10001
SUN02 PS10011
Customer ID Return No.
PS10001
RED01 PS10001
SUN02 PS10011
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n
CreditItem :='' ;
CreditLineTable.SETFILTER("Document No.", SalesCreditTable."No.");
IF CreditLineTable.FIND('-') THEN BEGIN
CreditItem := CreditLineTable."No." ;
END;
CreditQuantity := 0 ;
CreditLineTable.SETFILTER("Document No.", SalesCreditTable."No.");
IF CreditLineTable.FIND('-') THEN BEGIN
CreditItem := CreditLineTable."Quantity." ;
END;
The First record just get one item and the rest of the records are repeated one item from the other record. Can you expert point it out? Thanks!
CreditItem :='' ;
CreditQuantity := 0 ;
CreditLineTable.SETRANGE("Document No.", SalesCreditTable."No.");
IF CreditLineTable.FIND('-') THEN BEGIN
CreditItem := CreditLineTable."No." ;
CreditItem := CreditLineTable."Quantity." ;
END;
I don't understand what you are looking for. there could be many sales credit line for a credit memo header. Do you want to print all the items? If yes then, you need to have two dataitems
Sales Cr. Header
-->Sales Cr. Line
Link them and in body section display the appropriete fields
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n
RA# Return Item Return Quantity
R10001 AC01 10
R10002 SD03 15
What's the problem of my code? Do I have to write something about Return Header to link the data? Thanks
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!