I just tried to print using the Client Printer, and this is the error I got? This is another printer we have on our server, but not the main one I am trying to get Epicor linked to. Well I would eventually want to get Epicor linked to all, but right now I am just trying our main printer.
Can you hit detail on that error and copy/paste it here?
Application Error
Exception caught in: System.Drawing
Error Detail
Message: Settings to access printer â\BRAD\Sharp Brads Officeâ are not valid.
Program: System.Drawing.dll
Method: GetHdevmodeInternal
Client Stack Trace
at System.Drawing.Printing.PrinterSettings.GetHdevmodeInternal(String printer)
at System.Drawing.Printing.PrinterSettings.GetHdevmodeInternal()
at System.Drawing.Printing.PrinterSettings.GetHdevmode()
at System.Drawing.Printing.PageSettings.GetPaperSize(IntPtr modeHandle)
at System.Drawing.Printing.PageSettings.get_PaperSize()
at Ice.Lib.Report.PrinterPageSettings.FromPageSettings(PageSettings pageSettings)
at Ice.Lib.Report.ClientPrinterManager.FillPrinterInformation(String printerName, PrinterSettings printerSettings, PrintersDataTable printersTable)
at Ice.Lib.Report.ClientPrinterManager.<>c__DisplayClass8_0.b__0()
at Ice.Lib.Report.SSRSDialogPropertiesManager.TimeAction(Action action, String label, Boolean indent)
at Ice.Lib.Report.ClientPrinterManager.FillAllPrintersInformation()
at System.Lazy1.CreateValue() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Lazy
1.get_Value()
at Ice.Lib.Report.ClientPrinterManager.FillClientPrinters(PrintersDataTable printersTable, PrinterPaperSourcesDataTable paperSourcesTable, PrinterPaperSizeDataTable paperSizesTable)
at Ice.Lib.Report.SSRSDialogPropertiesManager.b__38_0()
at Ice.Lib.Report.SSRSDialogPropertiesManager.TimeAction(Action action, String label, Boolean indent)
at Ice.Lib.Report.SSRSDialogPropertiesManager.resetMode(String companyId, Int32 styleNum, String reportID)
at Ice.Lib.Framework.EpiReportTransaction.setPrinterOptionsSSRS(String reportID, Int32 styleNum, PrinterDialogMode mode, Boolean initializeSettings)
Is \BRAD\Sharp Brads Office installed as a printer under the Windows user profile of the appserverâs application pool identity? Additionally, does the application pool identity have access to that printer? (if it isnât a domain user, you may wish to change it).
Some high-level guidelines with screenshots I put together for users trying to use a BPM to autoprint to a server-side printer can be reviewed here: https://www.evernote.com/shard/s3/nl/475443/eab18edd-51a4-4037-b09a-a17d37064cc8
I would remove the spaces from the share name on the server. Warning, changing the share name will be reconnecting to this printer from each PC that uses it.
You could create a new shared printer on the server without spaces for testing first.
Mark Damen
ERP System Manager
[cid:BVDairy-OfficialLogo_bbec4553-4e4a-43e7-baef-7ba65e64810211111111.png]
MarkDamen@bvdairy.co.uk
Mobile: +44 (0) 7790 806926
BV Dairy ? Wincombe Lane ? SHAFTESBURY ? Dorset ? SP7 8QD ? UK
Switchboard: +44 (0) 1747 851855
Fax: +44 (0) 1747 851002
[cid:AllAccresiationsSmaller_b479dd40-feb0-4971-b164-424e34ca64c4.jpg]
This message is intended for the use of only the person(s) (âIntended Recipientâ) to whom it is addressed. It may contain information that is privileged and confidential. Accordingly any dissemination, distribution, copying or other use of this message or any of its content by any person other than the Intended Recipient may constitute a breach of civil or criminal law and is strictly prohibited. If you are not the Intended Recipient, please contact the sender as soon as possible.
Nathan makes a good point. I know that in my case, the printer is actually installed on the Epicor server, even though it is physically attached to a different PC. Maybe try that if you havenât already.
Install the desired printer as a network printer on the server, then try to share from server and use that address:
\EpiServer\PrinterShare
Admittedly it seems a little convoluted, but if nothing else has worked, itâs worth 15 minutes to try
Just curious if you got this sorted out, and if so, what the issue was.
Iâve had this error. I needed to add the shared printer on the Epicor server, and if it was a custom report, I had to restart the report monitor service. I believe thereâs an Answerbook on the topic.
I am wondering if you are still get this error or did you were able to fix it? because I have this same error , it happens to me and some other users .
By the way i have an open ticket with epicor because everytime I try to print using the client I get this exception.
Exception caught in: System.Drawing
Message: No printers are installed.
Program: System.Drawing.dll
Method: GetHdevmodeInternal
Hi Guys,
Now i am getting this issue, any idea how can it be fixed, is it because the printer has spaces? also sometimes it gets fixed when we removed printers that we arenât using.
Application Error
Exception caught in: System.Data
Error Detail
Message: Syntax error: Missing operand after âsâ operator.
Program: System.Data.dll
Method: Parse
Client Stack Trace
at System.Data.ExpressionParser.Parse()
at System.Data.DataExpressionâŚctor(DataTable table, String expression, Type type)
at System.Data.DataView.set_RowFilter(String value)
at Ice.Lib.Report.SSRSDialogPropertiesManager.resetPaperSourcesForPrinter(String printerID)
at Ice.Lib.Report.SSRSDialogPropertiesManager.getPrinterSettings(String printerID)
at Ice.Lib.Report.SSRSDialogPropertiesManager.Printers_ColumnChanged(Object sender, DataColumnChangeEventArgs e)
at System.Data.DataTable.OnColumnChanged(DataColumnChangeEventArgs e)
at System.Data.DataRow.set_Item(DataColumn column, Object value)
at System.Data.DataRowView.SetColumnValue(DataColumn column, Object value)
at System.Data.DataRowView.set_Item(String property, Object value)
at Ice.Lib.Framework.EpiReportTransaction.setPrinterOptionsSSRS(String reportID, Int32 styleNum, PrinterDialogMode mode, Boolean initializeSettings)
@ Jaime_Hernandez,
If you review your Windows printer names, do you have any with an apostrophe or have a printer that is offline? If so, can you rename the printer as to not have an apostrophe (and if any are offline, can you uninstall that printer or turn it on), log out of the client and back in, and try to print again?
COMPLETELY INCORRECT AND CONTRIVED BACKGROUND:
We felt it was our moral imperative to try to help change public opinion towards printers in the earlier versions of ERP 10. At the time, it was our position that it was dangerous for anyone to THINK that they could ever truly own any of these happiness destroying devices that I contend were sent from the scary place as a check to humanityâs technological arrogance. Admittedly, our contribution towards âprinters cannot be trustedâ awareness is nothing compared to what this cinematic masterpiece accomplished (safe for work clip: Office Space - Printer Scene (Clean Version) - YouTube), but, we were just doing what we could within our sphere of influence to draw attention to this important cause.
MORE ACCURATE BACKGROUND:
In our older ERP10 versions, we werenât properly escaping apostrophes in the printer name list and donât recall the specific release, but, sometime in the early ERP 10.xâs we fixed the glitch.
On a completely unrelated note, this time of year is my absolute without question favorite from a work perspectiveâitâs the longest stretch of time before the next W2/1099 season begins.
Right, printer names should not have special characters, especially single quotes.
The reason for this is it can mislead programming - in SQL the single quote is used for text constant values. So if you have something like :
concatenate (âserverâ, ââ, printer name) this would translate to
server\Chewi and then have âs Printer!â which would have absolutely no meaning to the program.
SO avoid using single quotes , ! and even spaces in printer names in any occasion. Instead you can use big caps and small caps, eventually also _ to make it reasily readable like Chewi_s_Printer.
Same rule goes also for other places where you need to use custom ID (ex: BAQ ID).
Regards,
MIhai