Printing 3 reports at a time.

I developed 3 reports (Invoice, Bill of Lading and Packing Slip) that are needed to be printed out altogether at a time. These reports are specifically design to meet the requirements from big customer.

I am struggling to integrate/connect those 3 reports altogether when printing. What I am expecting the system to do is printing the Bill of Lading and Packing Slip right after the invoice was printed out.

Please help.

Thanks,

ZEN [:)]

You should be able to change the set up

Application Setup → Sales & Marketing

→ Report Selection

select Invoice and add your two additional reports to the sequence

We are under 3.60.

I had tried your suggestion but there is nothing happened. Did I miss something?

In addition, the system must run the reports by invoice. If there are 10 invoices, then, Navision will print 3 times for each invoice; 1st print is for invoice itself, 2nd is BOL and 3rd is Packing Slip. Also for the second invoice, third invoice,…and so on.

ZEN

What is the basis of the Bill of lading and the packing slip? The invoice prints after the processing and the sales order if Fullfilled goes away.

Normally a packing slip and bill of lading would generate first, then would come the invoice.

That’s a very good question.

For this customer; we apply different procedure. We invoice them in advance before the items were shipped. The invoice is send to Acct/Finance Dept. in Atlanta,GA. Bill of Lading and Packing Slip are send to Distribution Center in Dallas, TX (I believe is for Custom Clearance).

Hopes this explain.

ZEN

Is the invoice you created being generated from the post and print routine? (is the data coming from the sales header table (36) or from the sales invoice table (112)?

What table is the bill of lading coming from?

All the report are using the same tables i.e. posted Sales Invoice tables. The different is the content for each report and the appearance/layout required.

ZEN

Then “themave” is correct you should only have to put these reports in the selection and they should print after the posting. They will print for each invoice in the order listed in the selection. This is controled through codeunit 82.

Did they not print for you when you tried it?

I tried it again. It didn’t work for me.

Is there any other setup need to be done?

ZEN

No there should be no other setup required. It could be the report itself. Codeunit 82 passes the invheader record to the report to generate it. Does the invoice print? is the bill of lading constructed the same way as the invoice with the invoice header record as a dataitem?

I got it now. I think Report Selection Sales is only works if you only have 1 invoice report.

For our case, we have 2 different report IDs.:

1st. The standard invoice report that apply for most transactions.

2nd. The customized invoice report for particular customer that I asked under this subject.

ZEN

Thats good, then you are now able to print all three at the same time?

Yes, it does but I can’t use that function.

If I setup the new invoice report under Report Selection; then, the system will use this format to print also the regular invoices, which is wrong.

This report is created only for particular customer and I have developed a menu (with permission) for the User to print these invoices (separate from the regular invoices) but I still can’t able to print all three at the same time.

ZEN

Can’t you just create a forth report (processing only) that calls each of the three reports to print from it?

I don’t know if I can make that.

Please explain more detail on how.

Thanks,

ZEN

create a report with the sales invoice header as the data item. set the report property Process Only to yes.

Add a Sales Invoice global variable type record.

enter the following code:

Sales Invoice Header - OnPreDataItem()

Sales Invoice Header - OnAfterGetRecord()
SalesInvoice.SETRANGE(“No.”,“No.”);
REPORT.RUNMODAL(50001,FALSE,FALSE,SalesInvoice);
REPORT.RUNMODAL(50002,FALSE,FALSE,SalesInvoice);
REPORT.RUNMODAL(50002,FALSE,FALSE,SalesInvoice);

Sales Invoice Header - OnPostDataItem()

You might also try this same concept by “Chaining” the existing reports to call on the OnPostReport Trigger.

This is great John [Y]! It’s exactly what I want. The coding was printing out all the reports.

What about if User want to preview instead of printing?

Thanks,

ZEN

If they are to preview the reports you need to change the first “false” in each report call to “true”.

Thank you John so very much [:D]. You are rock!

ZEN