For decades printing has been relatively easy for AX users because we were running a client application. So all the normal troubleshooting techniques worked: drivers, print settings, et cetera. Now that our beloved Microsoft Dynamics 365 for Finance and Operations (FinOps) runs as Software as a Service (Saas) we need to plan on how to handle printing as we implement the software.
The first strategy should be to print directly from the web browser or from a generated PDF (tip: keep scaling at 100%). This uses the client’s print driver and does not require any setup; this approach works without additional configuration. However, any reports which need to be scheduled or users who print to printers in other locations must be handled a different way. We need our cloud-hosted ERP to be able to print to a printer on our corporate network.
The Document Routing Agent (DRA) is a Windows service provided by Microsoft which runs inside of your corporate network and establishes a secure connection to Azure so that it can poll for documents which need to be printed. When the report is generated, it gets saved in Azure blob storage along with the print settings. The DRA then picks those print jobs up by way of an Azure Service Bus in Queue Mode. Here are some tips when considering this option:
Use multiple DRAs for high availability – a DRA can be installed on two servers and both of those servers can present the same printer to FinOps. This provides both high availability as well as an incremental speed improvement.
Stick to 50 printers max per DRA and 5 DRAs per AOS – DRAs polling the Azure Service Bus every 5 seconds for new documents to print and when you go beyond these numbers additional latency is added
Security for Printers? There is a delegate on the SysPrintForm printing dialog to extend in order to limit who can use which printer.
Drivers and print settings need to be the same on all DRAs if you hope to have consistent printouts.
Installing DRAs: Servers – There was a point during which the DRAs were not completely uninstalled and could not be upgraded. Although I think we are beyond this point, install the DRA on dedicated servers which will only handle printing from FinOps. This isolates problems and limits the effect of a server rebuild or upgrade; do not risk your main print server for corporate with additional software and load.
Installing DRAs: Security – The account under which the DRA will run requires elevated privileges during the installation. Pay careful attention to the installation instructions, “The Microsoft Azure Active Directory (Azure AD) account that is used to configure the Document Routing Agent must share the same domain as the Azure tenant.”
- Microsoft D3465FO Docs page on printing
- Document Routing Agent error “Key not valid for use in specific state”
Thanks to @TonyEndres and FastTrack for some of these important tips.