Developing for Dynamics GP

by David Musgrave (Perth, WA, Australia) and the Microsoft Dynamics GP Developer Support Team (Fargo, ND, USA)

Microsoft Dynamics GP 2013, Printer Selection, Named Printers, Page Orientation and the System Print Dialog

Microsoft Dynamics GP 2013, Printer Selection, Named Printers, Page Orientation and the System Print Dialog

Rate This
  • Comments 11

David Meego - Click for blog homepageMicrosoft Dynamics GP 2013 added a long awaited feature, the ability to change the printer selection for a report after it has printed to the screen output.

However, this change has introduced some side effects. Microsoft is aware of the side effects and they should be resolved in an upcoming release.

To explain the side effects we need to look at how the system worked before GP 2013 and then look at the changes made.

 

Before Microsoft Dynamics GP 2013

Before GP 2013, the printer for a report was already set once the screen output window was open and changing it via File >> Print Setup after printing to screen but before printing to printer would have no effect.

The behaviour for selecting the printer and settings for Microsoft Dynamics GP 2010 and before was as follows:

  • The destination printer would be selected at the time the Dexterity run report command is executed.
     
  • The printer would either be the application default printer (which is based on the Windows default printer at the time the application is launched, but can be changed via File >> Print Setup), or it would be based on the Named Printer for that report (if Named Printers is setup and a printer is specified for the report).
     
  • If the report definition has a default page orientation (portrait or landscape), this will also be updated into the printer settings.

Then when printing to the printer, the user would be presented with the System Print Dialog (unless it has been disabled).


Microsoft Dynamics GP 2010 System Print Dialog

Many customers disable this dialog as they never changed any settings anyway and so it was just an extra click for no reason. Disabling the dialog could be achieved with the Dex.ini setting NoPrintDialogs=TRUE. You could also use the Named Printer Options window (Tools >> Setup >> System >> Named Printers, then click on the Machine ID hyperlink) and tick the "Do Not Display System Print Dialog" checkbox (see below).


Named Printer Options window

If the System Print Dialog is disabled, the report is printed to the printer immediately without requiring an extra mouse click.

 

Microsoft Dynamics GP 2013 (RTM and SP1)

With GP 2013, all the above behaviour still occurs, but the updated System Print Dialog now offers the ability to change the printer and settings as well.


Microsoft Dynamics GP 2013 System Print Dialog

Whether the System Print Dialog is displayed still depends on the Dex.ini setting NoPrintDialogs.

 

The Issue

So, now we come to why I wrote this article.

If you print and the Microsoft Dynamics GP 2013 System Print Dialog is displayed, any settings from Named Printers and the page orientation settings from the report definition will be ignored. If you just click OK, the current application default printer and its settings will be used to print the report.

The problem is that the window opens with the application default printer selected, rather than the Named Printer and settings selected.

Until this issue is fixed, the feature to Select a printer when printing cannot be used in conjunction with Named Printers functionality.

 

The Workaround Solution 

Disabling the System Print Dialog and so disabling the ability to change the printer and/or settings just prior to printing the report will allow Named Printers and the page orientation settings to work as expected. But changing the NoPrintDialogs Dex.ini setting has become a little more complex with Microsoft Dynamics GP 2013.

GP 2013 introduces System Level and User Level Dex.ini settings and unless specifically coded to look at the System Level, Dexterity will look first at the User Level Dex.ini and then (if the setting is not found) at the System Level Dex.ini.

What this means is that just manually adding NoPrintDialogs=TRUE to the System Level Dex.ini file will not stop the System Print Dialog from being displayed if the User Level Dex.ini contains NoPrintDialogs=FALSE.

To change the User Level Dex.ini, you will need to use one of the following methods:

  • Use the Named Printers Options window for each user manually.
     
  • Use the Dex.ini Configuration window of the Support Debugging Tool (http://aka.ms/SDT) to roll down the setting to the User Level Dex.ini.
     
  • Manually modify the syUserDexIniSettings (SY01405) table in the system database. Make sure the users are logged out before updating the table otherwise any changes made will be overwritten when the user exits Dynamics.

Once the System Print Dialog has been disabled, Named Printers and page orientation settings will work.

  

This issue is logged as Problem Report 68382 and is currently scheduled for GP 2013 Service Pack 2. If you are facing this issue please log a support case referencing the problem report number to get your details logged in the system. This case would be non-chargeable as it is linked to a bug. Also, the higher the customer count, the higher the priority the bug will be assigned.

David

04-Oct-2013: Just a confirmation that this issue has been resolved in Microsoft Dynamics GP 2013 Service Pack 2, see post Microsoft Dynamics GP 2013 Service Pack 2 fixes Named Printers and Page Orientation settings not being honoured.

12-Nov-2013: While Service Pack 2 does fix some issues, there are still some other related issues with settings not being honoured. This is Problem Report 72319 and is scheduled to be fixed in GP 2013 R2 (SP3)

  • David,

    Thanks for the heads up on this. Here's another example of how you make us all look smart :)

    Now, if a client calls with this problem, I will be at the ready with the answer.

    Thanks for another gem!

    Kind regards,

    Leslie

  • Posting from Mark Polino at DynamicAccounting.net

    mpolino.com/.../microsoft-dynamics-gp-2013-printer-selection-named-printers-page-orientation-and-the-system-print-dialog-developing-for-dynamics-gp-site-home-msdn-blogs

  • Hey David, once again thanks for the great info!.  I ran into a situation today where the customer upgraded to GP2013 and the new window for the print dialog was not coming up at all where they could select the number of copies.  So I used this article, started with the simplest of trying the Dex.ini.  They did have this statement in the Dex.ini so I changed it from true to false.  (NoPrintDialogs=FALSE).  That worked and now they get the print dialog window on everything they print to the printer so they can now change the number of copies(invoices) they want to print.  YEAH!

    However, they called again later and said now the CHECKS aren't going to the bypass tray.  Could changing the setting from TRUE to FALSE or the NoPrintDailogs setting affect Named printers and the tray?  I looked at her named printers setup, and the Setup ID if I look at the preferences of the setup id itself does have the bypass tray in there.  And payables is still using that ID in named printers.  But it isn't automatically going to the bypass tray.

    Right now I have her changing the tray when the printer options window comes up.

    Any suggestions to get it to use the Bypass tray set in named printers?

    Sheila

  • Sheila

    At this time the print dialog and Named Printers are mutually exclusive. They just don't work together.

    Once SP2 is released, they should work at the same time.

    David

  • Hi David -- I don't see this Problem Report included on the GP 2013 Service Pack 2 fix list (and have a SP 2 client experiencing it).  Is there an update on the bug?

  • Hi Lisa

    Yes, this issue has been fixed in Microsoft Dynamics GP 2013 Service Pack 2.

    David

  • Hi David,

    Have you received any feedback that after updating to SP2 people are having issues printing and being allowed to change the tray selection in the print dialogue box?  We have a client that isn't using Named Printers, the dex.ini is set to FALSE on the NoPrintDialogs entry and in some cases don't get a dialog box and can only print after they first print to the screen and then they can print, but it still won't allow them to change the tray selection.  Just curious if there is another bug at play or just something odd with my client's setup.  Thanks!

    Cindy

  • Hi Cindy

    There are still some issues after SP2, see the comments on the follow up post.

    Also note that there are two Dex.ini files for GP 2013. There is the system level Dex.ini and the user level Dex.ini.

    The setting in the user level Dex.ini will override the system level Dex.ini if the setting exists at the user level.

    I suggest looking at the Named Printers Setup options (where the Machine ID is set) to see if the System Print Dialog is enabled or disabled.  You want it enabled if you want to be able to change the printer after printing to the screen. Note that due to the bug, this means that any settings from Named Printers (if used) or from the Report Definition (paper orientation) will be ignored.

    David

  • Thanks for the information, David.  So, I have confirmed that Named Printers is not setup for my client.  What I have found is that they were setting the tray for the printer in the Print Setup window and then printing.  They weren't making a change in the new Print Dialog box.  So, there must be something that is now ignoring the Print Setup window and pushing the default try from the printer to the print dialogue box, where with GP 2013 SP1, they could still do this and it would flow to the print dialogue box.  Is this a bug or a feature :)  

    Cindy

  • Hi Cindy

    This is a bug. Please log a case, so we can make sure this situation is tested when they fix the other related issues.

    David

  • We are on GP2013 R2 12.00.1745.  I have tried to print multiple copies of our SOP Invoices .Our issue is that when we print using Named Printers or when we create a macro and try to print multiple copies, the system will only print 1. My macro file shows 2 copies, but it is ignored, only 1 will print. We are utilizing terminal services and each user has their own Dex.ini file.

    Is this still a bug?

Page 1 of 1 (11 items)
Comments Information

PLEASE READ BEFORE POSTING

Please only post comments relating to the topic of this page.

If you wish to ask a technical question, please use the links in the links section (scroll down, on right hand side) to ask on the Newsgroups or Forums. If you ask on the Newsgroups or Forums, others in the community can respond and the answers are available for everyone in the future.

Leave a Comment
  • Please add 2 and 7 and type the answer here:
  • Post