我想将LedgerTrans.DocumentNum字段添加到BankAccountStatment报告
BankAccountStatment报告有一个数据源“BankAccountTable”
我该怎么做呢?
注意:LedgerTrans.DocumentNum可以通过BankAccoutTrans.AccountId = BankAccountTable.AccountId到达LedgerTrans.voucher = BankAccountTrans.Voucher
答案 0 :(得分:0)
您可以尝试在LedgerTrans ledgerTrans;
中声明classDeclaration
并在调用fetch
之前在报告的element.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,在选择ledgerTrans后添加element.send(ledgerTrans)
,并在上述部分String
= LedgerTrans中添加标准Table
字段, DataField
= DocumentNum。然后不需要显示方法。
P.S。我假设您使用的是AX 2009,但对于其他版本的AX,逻辑仍然相同。
答案 1 :(得分:0)
这很简单:
display DocumentNum documentNum()
{
return (select firstonly DocumentNum from ledgerTrans
where ledgerTrans.TransDate == bankAccountTrans.TransDate
&& ledgerTrans.Voucher == bankAccountTrans.Voucher
&& ledgerTrans.DocumentNum != "").DocumentNum;
}
将方法拖动到所需的打印位置。