Hello Experts,
Good day.
I have created a custom button on a default page of BC365, this button runs a custom report too. See code below
action("AR Voucher")
{
trigger OnAction();
var
rptJournalVoucher: Report "Journal Voucher";
GenJnlLine: Record "Gen. Journal Line";
begin
Clear(rptJournalVoucher);
GenJnlLine.Reset;
GenJnlLine.SetRange("Journal Template Name", Rec."Flexie Temp. Name");
GenJnlLine.SetRange("Journal Batch Name", Rec."Flexie Temp. Batch Name");
GenJnlLine.SetRange("Document No.", Rec."Flexie Doc. No.");
rptJournalVoucher.SetTableview(GenJnlLine);
rptJournalVoucher.SetJournalTypeAndTitle(2, 'AR Voucher');
rptJournalVoucher.UseThisTable(Rec);
rptJournalVoucher.RunModal();
end;
}
SetJournalTypeAndTitle function inside custom report
procedure SetJournalTypeAndTitle(P_JournalType: Option " ",Purchase,Sale,Settlement; P_ReportTitle: Text[50])
begin
optJournalType := P_JournalType;
txtReportTitle := P_ReportTitle;
end;
UseThisTable function inside custom report
procedure UseThisTable(var P_TempGLEntry: Record "G/L Entry" temporary)
begin
GLEntry1.Copy(P_TempGLEntry, true);
end;
After passing the values on these functions on a custom report, upon running the request page. These variables have values,
- GLEntry1 = (have 3 records on it. by the way this is a temporary table)
- optJournalType = 'SALES'
- txtReportTtile = 'AR Voucher'
Now, after inputted manual text values on request page (Prepared by) and clicking preview, inside trigger OnPreReport(), the 3 values are now empty.
- GLEntry1 = 0 record/data
- optJournalType = ''
- txtReportTtile = ''
In short, after running the request page, these variables are being cleared.
I really don't know why these variables are being emptied without changing or passing new values on it.
Also I noticed that as I set the USEREQUESTPAGE as FALSE inside the custom report, it runs perfectly and the said variables above works fine and variables not being cleared.
Does anyone know what are the possible reason for this kind of behavior?