В вашей ситуации я вижу следующий порядок действий:
1) Сделать наследник класса InventPrintLabel2, который вместо того чтобы самостоятельно заполнять данными временную таблицу, будет содержать метод для передачи ему уже готовой таблицы. Метод initTmpInventPrintLabel() наследника должен просто возвращать уже готовую таблицу.
2) Запускать отчёт напрямую без класса, а класс передавать в качестве параметра args.caller().
X++:
Args args;
SysReportRun reportRun;
InventPrintLabel2_Child InventPrintLabel2;
;
InventPrintLabel2 = new InventPrintLabel2_Child();
InventPrintLabel2.parmTable(InventPrintLabel);
args.name(reportstr(MyReport));
args.caller(InventPrintLabel2)
reportRun = ClassFactory.ReportRunClass(args);
reportRun.query().interactive(false);
reportRun.report().interactive(false);
reportRun.setTarget(PrintMedium::Printer);
reportRun.run();