【发布时间】:2015-05-21 15:24:42
【问题描述】:
我在 AX2012 中制作了一个自定义报告,以替换 WHS 运输拣货清单。自定义报告基于 RDP。我直接运行它没有问题(使用参数对话框),但是当我尝试使用控制器(WHSPickListShippingController)时,我收到一条错误消息“找不到预处理的 RecId。无法处理报告。表示开发错误。”
错误是因为在类SrsReportProviderQueryBuilder(setArgs方法)中,地图变量reportProviderParameters为空。我不知道为什么会这样。我的数据提供程序中的代码运行正常。这是我运行报告的代码:
WHSWorkId id = 'LAM-000052';
WHSPickListShippingController controller;
Args args;
WHSShipmentTable whsShipmentTable;
WHSWorkTable whsWorkTable;
clWHSPickListShippingContract contract; //My custom RDP Contract
whsShipmentTable = WHSShipmentTable::find(whsWorkTable.ShipmentId);
args = new Args(ssrsReportStr(WHSPickListShipping, Report));
args.record(whsShipmentTable);
args.parm(whsShipmentTable.LoadId);
contract = new clWHSPickListShippingContract();
controller = new WHSPickListShippingController();
controller.parmReportName(ssrsReportStr(WHSPickListShipping, Report));
controller.parmShowDialog(false);
controller.parmLoadFromSysLastValue(false);
controller.parmReportContract().parmRdpContract(contract);
controller.parmReportContract().parmRdpName(classStr(clWHSPickListShippingDP));
controller.parmReportContract().parmRdlContract().parmLanguageId(CompanyInfo::languageId());
controller.parmArgs(args);
controller.startOperation();
我不知道我是否足够清楚......但我一直在寻找解决方案几个小时没有成功,所以我想我会在这里问。这个变量(来自方法参数 AifQueryBuilderArgs)为空有什么原因吗?
【问题讨论】:
标签: reporting axapta dynamics-ax-2012