This is the second article on Print management in D365FO, describing some of the advanced features of Print management. If you are new to Print management, please read the first article, Print Management in Simple Words, which describes the basics.
Conditional Print management setting
Conditional Print management settings give you a great deal of flexibility in determining which Print management setting to use at runtime based on a particular set of conditions. The only limitation is that you can specify about twenty conditions per Original/Copy setting. For each of these conditions, you can then select an individual Print destination (Print archive, Screen, Printer, File, Email), as well as the Report format if you have more than one.
Setting up a Query for a Conditional Print management setting
Use the Query form to enter the conditions. You can select the table and field where you want to set the conditions and enter the criteria or select from the available values (see #1 below). Use Joins (see #2 below) for complex conditions using data from related tables.
When defining the conditions, you start from a top-level record, which is an underlying journal with all available fields. In cases where the field which you want to filter on is not in the journal, you can expand the query based on the relationships from the underlying journal. Both one-to-many and many-to-one relationships are available, and you can drill down into these relationships as deeply as necessary to enter a condition.
For a description of how to create a conditional query using relationships, see our blog article that provides step-by-step instructions how to create a conditional query on Financial dimensions data.
There is also an interesting article for AX 2012 where you can see how to configure a condition to filter only customers who have an email address with a specific purpose. Even though it refers to AX 2012, the same principle is applicable to D365FO as well.
Order of evaluation of the conditional PM settings
Conditional settings are evaluated in the same order in which they are listed in the tree structure. In the example below we have settings for customer groups 10, 20, and 30. If we are printing for a customer with one of these groups, the appropriate setting will be applied. When we are printing for a customer from any other group, the Original <Default> setting is used.
The next screenshot shows a scenario where customers with group 10 or 20 triggers the first conditional setting. This means that the second conditional setting for customers with group 20 will never be reached, because the first setting has already found the match and the evaluation would stop there. To modify the order of execution, you can right-click on the setting and move it up or down as needed.
Print management overrides
The module-level Print management settings are used by default, unless exceptions are specified on account- or transaction-level. These exceptions are called overrides.
Sometimes you need settings other than those specified at the module level. For example, if you have set the settings for Free text invoice at the module level, the Free text invoices that you create will be sent by email, but you have a customer who wants to receive a printed copy. In such a case, create an account-level override for that customer.
A familiar Print management setup form opens, but now you get a list of all documents that are customer-specific. They can be found in different modules: Accounts receivable, Inventory management, and Project management. What you configure here will be applied to the documents printed for the customer US-001.
The image below shows how to override the setting for the Free text invoice. Expand the Free text invoice node and select the setting you want to override (#1 in the image). While it is selected, you see on the right side the setting that is inherited from the module-level setting (#2), hence it is shown as read-only. Right-click the Original <Default> setting and then click the Override menu item in the context menu (#3).
Once you create an Override, it becomes editable, and you can open the Print destination form to specify how to handle Free text invoice for this customer. The screenshot below shows the final result where the override has been set for the Original <Default> setting for the Free text invoice document. The Destination now points to Printer.
You can also set Print management overrides at the transaction level. You can use these overrides if you need to specifically set the printing of a particular document instance, such as an invoice, sales order confirmation, purchase order, and so on.
It is possible to specify a Print management override for all document types that are supported by the Print management framework (about 40 of them), but it can be tricky to figure out how to do it. You need to look for a Print management menu item on the main form for a document type, i.e. All free text invoices, All purchase orders, but you will soon notice that this menu item is not available for each document type.
For example, how would you create an override for a Sales order packing slip? You typically post and print it, and once it is available in the journal, printing has already been done. Therefore, you need to configure the override on its source document, which is Sales order. If you open the General > Set up > Print management menu item found on All sales orders form, you will find a node for that transaction (Sales order 000356 in the image below – or use your numbering #1) and below that node you will see all document types that can be generated out of this particular Sales order.
This is the place where you create the overrides for the resulting document types, in a same way as you did it in case of the account-level overrides: expand the document node, find the setting you want to override, right-click, select Override, and finally modify the now editable Report format and Print destination setting on the right side.
Below is a list of forms where you can find the Print management menu item for adding the transaction-level overrides for their resulting documents:
- All sales orders (General > Set up > Print management)
- All quotations (General > Set up > Print management)
- All free text invoices (Invoice > Print management > Print management)
- All purchase orders (General > Set up > Print management)
- All requests for quotations (RFQ detail view > General > Set up > Print management)
- Project contracts (Project contract > Set up > Print management)
- Project invoice proposals (Print > Print management)
- Item requirements (Manage > Setup > Print management)
The table below shows possible combinations of settings and the effective printing result.
|Effective printing result
Overrides are very powerful and give you great flexibility. But a forgotten setting may cause you to wonder why the print management settings don’t work as expected. Perhaps it's because there's an override somewhere. Simply open the Print management settings form on a transaction. Then check the transaction-, account-, and module-level settings, all of which are available on this form.
To remove an override, either for a vendor, customer, or a transaction, first click the Print management button on opened vendor, customer or document transaction form. This opens Print management setup form, where you can select the node with the override and remove it by right-clicking it and selecting Remove override (see #4 below).
The screenshot below shows how to remove the override on the current document (#1). Note, that you can use this form to also set or remove overrides on the account level (#2) or even the setting on the module level (#3).
View original/copy vs. Use print management
You may have noticed that when printing using View original or View copy you did not always get the expected output.
The journal forms have three menu items that allow you to reprint the journal that was probably already printed during the posting process: View copy (sometimes: Copy preview), View original (sometimes: Original preview) and Use print management (sometimes: Print).
The Use print management menu item triggers the Print management framework, which decides which Print management setting, including any conditional and override setting should be applied. The report format and print destination specified on that particular Print management setting will be applied at runtime.
However, the View original/View copy menu items will always use a default report format and the screen print destination. There might be multiple SSRS report formats, and one of them is set by a developer as a default. Depending on how the developer implemented the customization, a default SSRS format may not be the same as the one selected (or even: only available) in the SSRS Report format field of Print management settings. As a result, View original/View copy may produce a different result than printing through Print management.
The Customer invoice in the screenshot below has the original setting with three conditional settings. Conditional setting for Group 10 is configured to use the Sales invoice (Excel) report format. There is also the SalesInvoice.Report report format, which is a default SSRS report.
Let’s look at what happens when we print an invoice by using different menu items.
Use print management
When we print a report for group 10 through print management, we get the report generated by the Electronic Reporting framework, as set in the Print management setting form. See next two screenshots below for details.
Printing the same invoice using Copy preview or Original preview gives us a different result: a standard SSRS report format.
Please note that in the specific example below the menu items are Original preview and Copy preview. The menu items vary on different forms (i.e. View original and View copy), but they always use the same logic.
These two menu items use the default SSRS report design, as defined by the developer, ignoring the Print management settings.
The Print management preview menu item is a useful extension that you get by installing the Docentric AX Free Edition. For details check the Docentric goodies section below.
You may already know that there is also a Free Edition of Docentric AX, the reporting solution for D365FO, which offers significant improvements over D365FO's standard reporting features.
Print management preview menu item
Earlier in this article, you learned about the possible inconsistencies in previewing reports (see View original/copy). Docentric AX elegantly solves this gap by introducing the Print management preview menu item on the most frequently used journal forms. When you use this menu item, the correct Print management setting is identified and the report format specified on it is used, but the screen print destination is enforced. In other words, we take the report format from the Print management, and then preview it (print it to screen).
Direct access to Print management settings from Docentric AX workspace
Instead of looking for Print management settings in different modules, you can just find them all together on Docentric AX workspace, just one click away.
The yellow-highlighted part in the screenshot below shows the count of Print management settings in each of the modules. The Accounts receivable module, for example, contains 17 Print management settings.
In the bottom of the screenshot above you see the Next count button. It loops between 3 count types: (1) total number of Print management settings per module, as in the image above, (2) number of Print management settings with overrides and (3) number of Print management document types, as shown in the screenshots below.
You can see in the left image, Accounts receivable module on my system contains 23 settings, so there are six overrides in this module.
Print management access from Docentric AX reports setup form
Instead of opening the Print management setup form at the module level, where you see all document types together, you can open the Print management setup form only for the document type you are currently working with. Select the report and click Settings > Print management menu item. This will open the Print management settings form with only the settings filtered for the matching document type.
Export and import of Print management settings
Docentric AX provides data entities for exporting and importing Print management settings.
This feature is typically used after copying the database from production to non-production environment, because Microsoft resets all Print management settings on the target environment.
Use the Docentric Print Management Settings Package data entity to copy the settings between the environments or between legal entities.
Bulk updates of Print management settings
Another data entity, Docentric Print Management Settings, supports some advanced bulk update or modification scenarios, for example changing the target print destination in bulk. You can read this article for more information.
Review all Print management settings
Because there can easily be several hundreds or even thousands Print management settings in your D365FO environment, it is important to get an overview over them. D365FO doesn’t give you some tool for that. But with Docentric AX installed, you can have the overview over all existing Print management settings in the system, particularly if you have some unpredicted behavior and you suspect that there are some overrides that kick in, but you can’t find them.
Simply export all Print management settings to Excel and easily identify overrides, all in one place. There is an article on Docentric blog describing that as well.
Figure out your Print management setup
In case you have a complex Print management setup with heavily used conditional setting and account- or transaction-level overrides, it might happen that you keep getting unexpected results and simply cannot figure out which particular setting is picked by the framework. That is why we created a tracing mechanism that logs the loaded Print management setting for a report that is being printed. You can configure whether you will see the results in the Infolog or database.
Print management utilities
Its main features are:
- Grid-style overview of all Print management settings in the system, similar to Excel export via the Docentric Print Management Settings data entity.
- All unpacked fields from the Print destinations are displayed in a grid.
- User can sort and filter the grid by any unpacked field.
- User can modify the unpacked fields directly in the grid (Docentric Full Edition)
- User can modify the settings in bulk through copy-paste mechanism (Docentric Full Edition)
- User can delete the selected settings in bulk (Docentric Full Edition)
- User can open the Print destination form on a single record and view/edit the settings in it (view: Docentric Free Edition, edit: Docentric Full Edition)
- Diagnostics over the Print management records
- Diagnostics over the Account email addresses
After reading this article, you should have pretty good understanding of Print management settings. This knowledge will be very useful in your daily work related to report output management.
You have learned about conditional settings, about overrides at various levels and how to add or delete them.
You also learned that the View original and View copy menu items ignore the Print management settings, but you can solve the problem with the Print management preview menu item, which Docentric adds to the existing set of menu items.
Finally, the Docentric goodies showed you faster access to Print management settings and explained your options for exporting and importing Print management settings.