Автоматическая печать отчета SSRS на обеих сторонах страницы в AX 2012 - PullRequest
0 голосов
/ 08 мая 2019

Я автоматически печатаю отчет 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();
}

1 Ответ

0 голосов
/ 08 мая 2019

Я не знаю точного ответа на ваш вопрос, но я могу сказать вам хороший способ, чтобы вы могли понять это.

Создайте нижеприведенную работу и запустите ее.Затем выберите параметры двусторонней печати принтера и все в точности так, как вы хотите, а затем изучите два объекта, перечисленных ниже, и он должен указать вам правильное направление.

Еще один вариант после выбора параметров, которые вам нравятся, сохранить контейнер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;
    }

}

enter image description here

...