Как установить параметр отчета в зависимости от типа печатного носителя? - PullRequest
1 голос
/ 11 декабря 2019

Мне нужно переключить некоторые представления в моем отчете SSRS на основе печатного носителя, на котором будет сгенерирован отчет.

Я должен сделать это для нескольких отчетов (SalesInvoice, SalesConfirm, SalesQuotation).

Проблема в том, что я не могу найти точку доступа, где у меня есть доступ к обоим вещам:

  • В классе SalesInvoiceJournalPost у меня есть доступ к printmedium, но нет SalesInvoiceContract
  • В классе SalesInvoiceController у меня есть доступ к SalesInvoiceContract, но параметры печати дают мне ложные значения

В SalesInvoiceJournalPost.init Я пытаюсь:

printSettings = SysOperationHelper::base64Decode(chainFormletterContract.parmPrintersettingsFormletter());
printDestinationSettings = new SRSPrintDestinationSettings(printSettings);

if (printDestinationSettings.printMediumType() == SRSPrintMediumType::Email)
{
    // Can't access Report Parameter from here
}

В SalesInvoiceController.mainЯ пытаюсь:

printDestination = formLetterController.parmReportContract().parmPrintSettings();
salesInvoiceContract = formLetterController.parmReportContract().parmRdpContract() as SalesInvoiceContract;
salesInvoiceContract.paramMyValue(
    // this is always false because printMedium is always Screen
    printDestination.printMediumType() == SRSPrintMediumType::Email
);

1 Ответ

1 голос
/ 16 декабря 2019

Оказывается, вы можете получить SRSPrintDestinationSettings от контроллера после нескольких степеней разделения. Это SalesInvoiceController.outputReport:

PrintMgmtPrintSettingDetail printSettingDetail;
SRSPrintDestinationSettings printDestinationSettings;

printSettingDetail = formLetterReport.getCurrentPrintSetting();
printDestinationSettings = printSettingDetail.parmPrintJobSettings();
salesInvoiceContract.paramMyValue(
    printDestinationSettings.printMediumType() == SRSPrintMediumType::Email
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...