Мне нужна помощь. Я создал индивидуальный дизайн счета-фактуры для PSAProjInvoice. Я сделал копию PSAProjInvoice и поработал над уже созданным дизайном. Создал класс Controller и PrintMgmtDocTypeHandler. Создал расширение outputitem и перенаправил его на мой ProjInvoiceController
В axapta в параметрах формы ProjFormletterParameters он показывает мне имя моего настраиваемого отчета, но когда я go проецирую счета-фактуры и пытаюсь взглянуть на счет, который я только что получил ошибка: не удается найти дизайн отчета PSAProjInvoiceSZM.ReportPL.
class PSAProjInvoiceSZM
{
[PostHandlerFor(classStr(PSAProjAndContractInvoiceController),
staticMethodStr(PSAProjAndContractInvoiceController, construct))]
public static void ReportNamePostHandler(XppPrePostArgs arguments)
{
PSAProjAndContractInvoiceController controller = arguments.getReturnValue();
controller.parmReportName(ssrsreportstr(PSAprojinvoiceSZM, Report));
}
}
Я думаю, что это проблема моего класса контроллера, потому что я понятия не имею, как он должен выглядеть. Пытался сделать его на основе учебника по счету-фактуре, найденного в Microsoft docs, но мне это совершенно не помогло. Пытался сделать на основе этой статьи: https://blogs.msdn.microsoft.com/dynamicsaxbi/2017/01/01/how-to-custom-designs-for-business-docs/
My Controller:
class ProjInvoiceControllerSZM extends PSAProjAndContractInvoiceController
{
public static ProjInvoiceControllerSZM construct()
{
return new ProjInvoiceControllerSZM();
}
public static void main(Args _args)
{
SrsReportRunController formLetterController =
ProjInvoiceControllerSZM::construct();
ProjInvoiceControllerSZM controller = formLetterController;
controller.initArgs(_args);
Controller.parmReportName(ssrsReportStr(PSAProjInvoiceSZM, Report));
/* if (classIdGet(_args.caller()) ==
classNum(PurchPurchOrderJournalPrint))
{
formLetterController.renderingCompleted +=
eventhandler(PurchPurchOrderJournalPrint::renderingCompleted);
}*/
formLetterController.startOperation();
}
protected void outputReport()
{
SRSCatalogItemName reportDesign;
reportDesign = ssrsReportStr(PSAProjInvoiceSZM,Report);
this.parmReportName(reportDesign);
this.parmReportContract().parmReportName(reportDesign);
formletterReport.parmReportRun().settingDetail().parmReportFormatName(reportDesign);
super();
}
}