0

我想将 LedgerTrans.DocumentNum 字段添加到 BankAccountStatment 报告

BankAccountStatment 报告有一个数据源“BankAccountTable”

我该怎么做?

注意:LedgerTrans.DocumentNum 可以通过 BankAccountTrans.AccountId = BankAccountTable.AccountId 然后 LedgerTrans.voucher = BankAccountTrans.Voucher

4

2 回答 2

0

您可以尝试在调用之前在报告的方法中声明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,逻辑保持不变。

于 2011-02-22T13:45:06.727 回答
0

这很简单:

display DocumentNum documentNum()
{
     return (select firstonly DocumentNum from ledgerTrans
         where ledgerTrans.TransDate     == bankAccountTrans.TransDate
            && ledgerTrans.Voucher       == bankAccountTrans.Voucher
            && ledgerTrans.DocumentNum   != "").DocumentNum;
}

将该方法拖动到所需的打印位置。

于 2011-02-27T06:56:26.297 回答