Skip to main content
Question

Combine Reports and send to DeviceHub (with Custom Code)

  • April 1, 2026
  • 2 replies
  • 28 views

We are working on a custom form/workflow to print the Pick List (SO642000) and Packing Slip (SO644000) via a processing form to DeviceHub. The problem we are having is that for some reason, devicehub will print these out of order.

If I don’t print to devicehub it is combining the reports and will show them in a single window. Both are set to use PDF. When this goes to devicehub it prints each report as a separate job and then often they are no longer in order.

Is there a way to 1) get this combined report to print as a single job on devicehub or 2) have better control of what order devicehub is printing in? Obviously I’d love both to be true, but will settle for one.

The code looks like this:

                    // Define report parameters (keys must match report parameters in RPX)

                    Dictionary<string, string> parameters = new Dictionary<string, string>();

                    parameters["ShipmentNbr"] = theShipment.ShipmentNbr;

                    PXTrace.WriteInformation("Printer ID: " + theShipmentExt.UsrSpeedyPrinterID);

                    PrintSettings printSettings = new PrintSettings()

                    {

                        PrinterID = Guid.Parse(theShipmentExt.UsrSpeedyPrinterID),

                        NumberOfCopies = 1,

                        PrintWithDeviceHub = false,

                        DefinePrinterManually = false

                    };

                    theToken = new CancellationToken();

                    PXTrace.WriteInformation("Report Number: " + theShipmentExt.UsrSpeedyReportNbr);

                    actualReportID = theShipmentExt.UsrSpeedyReportNbr;

                    ex = null;

                    // Work Order (AKA Pick List).

                    PXTrace.WriteInformation("Add WO");

                    ex = PXReportRequiredException.CombineReport(ex, actualReportID, parameters);

                    // Packing List.

                    PXTrace.WriteInformation("Add Packlist");

                    ex = PXReportRequiredException.CombineReport(ex, "SO642000", parameters);

                    PXTrace.WriteInformation("Send to printer");

                    SMPrintJobMaint.CreatePrintJobGroup(printSettings, ex, "Print: " + theShipment.ShipmentNbr, theToken);

2 replies

Naveen Boga
Captain II
Forum|alt.badge.img+20
  • Captain II
  • April 1, 2026

Hi ​@travisk91  You can combine the multiple .pdf files into a single file and send that report to devicehub.

By default Acumatica, we have a screen where it combine the multiple documents and download the final combined report. You can refer and use the same logic and send the file document to devicehub.

Screen ID: PM650050

 


Zoltan Febert
Jr Varsity I
Forum|alt.badge.img+4

Hi ​@travisk91,

We had this issue for two clients recently. The only foolproof solution was adding a custom group field to the shipment, populating it before printing, and passing this group to the report instead of the shipment number. We also had to modify the report and order the shipments there.
Unfortunately the combined report didn't help, and converting everything to PDF before sending to Device Hub was too slow for a few hundred pick lists at a time.