I am testing some auto-print functionality in our test environment, but I’m unable to get the desired form to print. I’ve got job travelers set to auto print when clicking in to a job. The system task agent shows the print job but errors out. I’ve tried the default printer option and the server printer option.
The error I get from the default printer option is
Program Ice.Services.Lib.RunTask raised an unexpected exception with the following message: RunTask: No printer found in the printer settings. Printer is optional only if Email or Fax settings are present.
The error I get when the printer is selected in the server option is
Program Ice.Services.Lib.RunTask raised an unexpected exception with the following message: RunTask: The report could not be printed because of the following reason:
Printer doesn’t exist.
I have tried both unc name and ip address in the network path field in the printer management screen, but I get the same error.
I have the printer connected to by share to my profile and can print to it just fine.
If I switch to “Auto Preview” it works as expected opening a pdf in the default viewer.
This is NOT my area of expertise, but I am wondering… does the printer exist on the SERVER? I think (but not sure) that the auto-print function is printing from the server side when the data change happens… not from your client, which may explain why you can print/review, but the auto-print doesnt work. (just a theory).
I’ve tried it that way as well, here is the error I got
Program Ice.Services.Lib.RunTask raised an unexpected exception with the following message: RunTask: The report could not be printed because of the following reason:
Printer doesn’t exist.
I pasted that path in to an explorer window and the printer queue came up, so I know it’s right. I also added the printer (mapped) the epicor server as TimShuwy suggested.
Change your Printer to Server and pick GAL-P06 or “Use Default Printer” which will use the Printer the user has set under the Workstation if they have one assigned.
If it’s worth anything, we had problems autoprinting and the only way we got it to work was to install the printer on the appserver locally then sharing it so we could use it for the workstations. We couldn’t just go to our printer server, where we typically had all of our other organization printers installed, and add it from there.
The locally appserver installed printer was still pointed to the same IP address as the one on the printer server. We had to duplicate the printers on each appserver we had.
So basically we couldn’t Auto Print to any network shared printers unless it was the locally installed printer on the appserver.
I had case open with Epicor, CS0000628763 just after go live with 10.1.600. It was closed after a month because I didn’t respond with a resolution(my fault) but we got it working so I didn’t worry about it to much and had to move on. I wasn’t going to fight the fight with them on this one.
Be sure which AppServer is doing the Report/Print Processing. Many installations have an AppServer dedicated to the Task Agent and/or your Report job can be redirect to a Reporting AppServer so that the Interactive AppServer is not impacted by Reporting.
(Most Important) - Just because you attach a printer to an machine doesn’t make it available to all users of that machine. The User that is in Play when selecting “Server Printing” is the User associated with the AppPool Identity for the AppServer. You must ensure that the AppPool User Account has access to the printer you are trying to use. IIS / Microsoft have funny rules about Printer Permissions on the AppPool Identity - I believe that by default the AppPool Identity does not have printer permissions. When the Epicor SetupEnvironment routine runs for an AppServer and the SSRS Reports are updated/added to the system, all printers available to the User running the Setup Environment process (Admin Console) are added as available to the AppPool Identity. I believe this is documented in the Epicor Installation guide - if not pester Tech Support (or Google) for how to add Printers to the AppPool User.
Change your Auto-Print to use “Queued” instead of “Immediate”. Immediate is supposed to print “within process” and there are several issues with that including running the Print job on the Interactive Server. Queued Auto-Prints are submitted for processing like any other print job.