Skip to main content
Question

PXReportRequiredException.AddSibling not printing all reports in the Modern UI (multiple labels)

  • July 7, 2026
  • 2 replies
  • 30 views

We have a custom action that prints one label report per container when a user selects several containers at once (e.g., the "Print Container Labels" batch feature). To send all labels in a single request we build a PXReportRequiredException for the first container and chain the rest with AddSibling(...), then throw the exception.

This works as expected in the Classic UI (all containers are rendered), but in the Modern UI only the first report is shown — the siblings added with AddSibling are ignored. It looks like AddSibling may be deprecated or handled differently by the Modern UI report viewer.

Questions:

  1. Is AddSibling deprecated / unsupported in the Modern UI?
  2. What is the recommended way in the Modern UI to print multiple report instances (one per record) from a single action so that all of them are produced?

Environment: Acumatica 2025 R2, Modern UI.

Code we currently use:

public void PrintContainerLabel(List<FRContainerHeader> containerList, bool isMassProcess = false)
{
int? customerId = 0;
PXReportRequiredException report = null;

string actualReportID = "FR201001";

if (!isMassProcess)
{
customerId = FRContainerHeaderBatch.Current.UsrCustomerID;
actualReportID = CustomPrinterLabelFromContainer(customerId);
}
var count = 1;

var reportToPrint = containerList?.FirstOrDefault()?.Action ?? ContainerLabel.printContainerLabelID;
foreach (var container in containerList)
{
var parameters = new Dictionary<string, string>();
parameters["ContainerID"] = container.ContainerID;

switch (reportToPrint)
{
case ContainerLabel.printContainerLabel:
actualReportID = isMassProcess ? CustomPrinterLabel(container) : actualReportID;
break;
case ContainerLabel.printContainerLabelID:
default:
parameters["PageNumber"] = Convert.ToString(count++);
actualReportID = "FR201005";
break;
}

if (report == null)
report = new PXReportRequiredException(parameters, actualReportID, PXBaseRedirectException.WindowMode.NewWindow, "Report " + actualReportID);
else
report.AddSibling(actualReportID, parameters);
}

if (report != null)
throw report;
}

Where it fails: In the Modern UI only the first container label is displayed; the ones added through report.AddSibling(...) are not rendered.

2 replies

rkenna
Captain II
Forum|alt.badge.img+4
  • Captain II
  • July 7, 2026

Hi ​@mcoral62,

Have you tried adding these to print as Actions in the low/code off the screen rather than full code? I cannot speak to the Modern UI implications here, but I would recommend adding that action to the screen to print out the rxp file. You would just need to pass the parameters through.

Cheers,

RJ


darylbowman
Captain II
Forum|alt.badge.img+17

According to the compiled library, the AddSibling method you’re using is not obsolete. It may be a Modern UI bug.