Hi there
I would like to be able to print a kind of invoice supplement for certain customers. The supplement contains additional information on historic invoices for that customer, so it's also based on the sales invoice header table.
Depending on a boolean field on the customer card, I can choose whether a supplement (just a form with some ) must be printed or not. I want it to be printed right after the invoice.
I can't use the report selection table because the printing is conditional.
My solution: putting some code in the printrecords-function in the sales invoice header table:
WITH SalesInvoiceHeader DO BEGIN
COPY(Rec);
ReportSelection.SETRANGE(Usage,ReportSelection.Usage::"S.Invoice");
ReportSelection.SETFILTER("Report ID",'<>0');
ReportSelection.FIND('-');
REPEAT
REPORT.RUNMODAL(ReportSelection."Report ID",ShowRequestForm,FALSE,SalesInvoiceHeader);
//start mycode: i left out the retrieval of the customer boolean
//that determines whether the supplement has to be printed
IF BoolPrintSupplement THEN
REPORT.RUN(59999,TRUE,FALSE,SalesInvoiceHeader); UNTIL ReportSelection.NEXT = 0;
END;
The problem is that SalesInvoiceHeader seems to be empty when report 1234567 is called. The first Dataitem of that report is Sales Invoice Header, but the filter on invoice no. in that report is empty !
What am I missing here? I think it's something simple...
Thanks
Josh
0
Comments
Does it print OK?
Try put in Report.RUNMODAL instead of Report.RUN
You can also add an extra field to the report selection table and put an extra filter on that field, instead of hard coding this report.
MVP - Dynamics NAV
My BLOG
NAVERTICA a.s.