我想将 LedgerTrans.DocumentNum 字段添加到 BankAccountStatment 报告
BankAccountStatment 报告有一个数据源“BankAccountTable”
我该怎么做?
注意:LedgerTrans.DocumentNum 可以通过 BankAccountTrans.AccountId = BankAccountTable.AccountId 然后 LedgerTrans.voucher = BankAccountTrans.Voucher
我想将 LedgerTrans.DocumentNum 字段添加到 BankAccountStatment 报告
BankAccountStatment 报告有一个数据源“BankAccountTable”
我该怎么做?
注意:LedgerTrans.DocumentNum 可以通过 BankAccountTrans.AccountId = BankAccountTable.AccountId 然后 LedgerTrans.voucher = BankAccountTrans.Voucher
您可以尝试在调用之前在报告的方法中声明LedgerTrans ledgerTrans;并添加classDeclaration以下代码:fetchelement.send(bankAccountTrans)
select firstonly ledgerTrans
where ledgerTrans.TransDate == bankAccountTrans.TransDate
&& ledgerTrans.Voucher == bankAccountTrans.Voucher
&& ledgerTrans.DocumentNum != "";
之后,您只需要ReportDesign\AutoDesignSpecs\Body:_2使用以下代码在该部分中添加一个新的显示字段:
//BP Deviation Documented
display DocumentNum documentNum()
{
return ledgerTrans.DocumentNum;
}
我没有尝试过,但它应该可以工作。作为替代方案,您可以在fetch方法中声明 ledgerTrans,element.send(ledgerTrans)在选择 ledgerTrans 后添加,并在上面提到的部分中添加一个标准String字段,Table=LedgerTrans,DataField=DocumentNum。则不需要显示方法。
PS 我假设您使用的是 AX 2009,但对于其他版本的 AX,逻辑保持不变。
这很简单:
display DocumentNum documentNum()
{
return (select firstonly DocumentNum from ledgerTrans
where ledgerTrans.TransDate == bankAccountTrans.TransDate
&& ledgerTrans.Voucher == bankAccountTrans.Voucher
&& ledgerTrans.DocumentNum != "").DocumentNum;
}
将该方法拖动到所需的打印位置。