首页 > 解决方案 > 在 AX 2012 中自动在页面的两面打印 SSRS 报告

问题描述

用户执行操作后,我会自动打印 SSRS 报告,效果很好。但是,我希望它打印 2 面。这可能吗?我在网上或 SRSPrintDestinationSettings 类的文档中找不到任何内容

private static client void runOnClient(ProdId _prodId)
{
    controllerEx  reportRunController;
    DCExmaple   parmData;
    Args            args = new Args();
    //get users default printer from User options
    LM_PrinterName printerName = SysUserInfo::find().lm_PrinterName;

    // Create the report run controller
        reportRunController = new controllerEx();
        reportRunController.parmReportName(ssrsReportStr(CMA_Traveller, CHTravellerReportEnhanced));
        reportRunController.parmLoadFromSysLastValue(false);

        // Set printer settings (you can print to file, format, filename, etc).
        reportRunController.parmReportContract().parmPrintSettings().printMediumType(SRSPrintMediumType::Printer);
        reportRunController.parmReportContract().parmPrintSettings().printerName(printerName);

        //More settings to print 2 sided?

        args.record(ProdTable::find(_prodId));
        reportRunController.parmArgs(args);

        parmData = new DCExmaple();
        parmData.parmProdId(_prodId);

        //set the execution mode to Synchronous
        reportRunController.parmExecutionMode(SysOperationExecutionMode::Synchronous);

        reportRunController.parmReportContract().parmRdpContract(parmData);
        // Run the report
        reportRunController.run();
}

标签: x++dynamics-ax-2012dynamics-ax-2012-r3

解决方案


我不知道你的问题的确切答案,但我可以告诉你一个好方法,你可能能够弄清楚。

创建以下作业并运行它。然后选择打印机双面打印设置和您想要的东西,然后检查下面列出的两个对象,它应该指向正确的方向。

选择您喜欢的设置后的另一个选项,将容器存储c在某个表中作为“双工设置”,然后在上面的代码中从容器中加载。

确保选中该Override default settings框,否则您可能无法配置任何内容。

static void JobPrinterSettings(Args _args)
{
    SRSPrintDestinationSettings         settings = new SRSPrintDestinationSettings();
    container                           c;
    XML                                 printerXML;

    if (SrsReportRunUtil::showSettingsDialog(settings))
    {
        // Examine this container
        c = settings.pack();

        // Examine this XML
        printerXML = SRSProxy::getDefaultPrinterPageSettingsForPrinter(settings.printerName());

        breakpoint;
    }

}

在此处输入图像描述


推荐阅读