I am trying to print the Customer Shipment Entry Report to the Windows Default Printer in the BPM or function. I am not able find the Default Printer Name or Page Settings in the function.
System.Drawing.Printing.PrintDocument pd = new System.Drawing.Printing.PrintDocument();
Basically in Classic when we ship a product the pack slip gets printed automatically to the printer connected to the Computer , it’s a client side customization , now we are converting the screen to Kinetic and am trying to do the same
Using no customisations, if using counter sales from the sales order depending on the settings of the pack and invoice it will automatically load the pack and invoice print screens. The user can click the print button (which defaults to the client print option) and it will automatically select the default printer.
Typically for auto printing the autoprintready flag is the field is used with a condition that can be used to trigger the autoprint from the standard data directive. So provided the field is exposed on the form (and by default on Customer Shipment Entry it is not), and the user has a configured workstation applied to their session (either by defaulting in their user account or selecting a workstation when they login), the auto print data directive will print to the correct printer. So very little customisation need if at all. Just configuration and training.
If you really wanted to save the user from having to select the workstation, then possibly some form of lookup of that translated the client machine to the workstation may be in order (not sure how that would work from the browser. Either by adding a ud field to sysprinters or using User Codes.
Workstations work really well and also allows you to designate label printers and scales for your pack out stations.
Might not work in a function but it does work in a BPM. You can access the local printers on a client from a BPM. Assuming that we are not talking cloud anyway.
It’s no where near an great way to do things, but it will work in a pinch.
If the printers are/can be networked, that’s the best solution by far.
If you are using the smart client (even in the cloud) you can do it, but it’s not a great option. I have one scenario currently using this for a USB label printer, but it’s such a bad choice, you even get a popup message telling you so when you choose it. The other caveat is that it will only print if the user has Epicor open since it is delivered via the client.
Frankly I don’t know why that option event exists. Unless you had a very simple system or a really complex decision tree to work out where everything needed to be printed to.