レポートが生成される印刷媒体に基づいて、SSRSレポートの一部のプレゼンテーションを切り替える必要があります。
一連のレポート(SalesInvoice、SalesConfirm、SalesQuotation)に対してこれを行う必要があります。
問題は、両方にアクセスできるアクセスポイントが見つからないことです。
ではSalesInvoiceJournalPost.init
I試してみてください。
printSettings = SysOperationHelper::base64Decode(chainFormletterContract.parmPrintersettingsFormletter());
printDestinationSettings = new SRSPrintDestinationSettings(printSettings);
if (printDestinationSettings.printMediumType() == SRSPrintMediumType::Email)
{
// Can't access Report Parameter from here
}
ではSalesInvoiceController.main
I試してみてください。
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
);
結局、数度の間隔を空けて、コントローラーからSRSPrintDestinationSettingsを取得できることがわかりました。これはSalesInvoiceController.outputReport
:
PrintMgmtPrintSettingDetail printSettingDetail;
SRSPrintDestinationSettings printDestinationSettings;
printSettingDetail = formLetterReport.getCurrentPrintSetting();
printDestinationSettings = printSettingDetail.parmPrintJobSettings();
salesInvoiceContract.paramMyValue(
printDestinationSettings.printMediumType() == SRSPrintMediumType::Email
);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加