добавить поле LedgerTrans.DocumentNum в отчет BankAccountStatment - PullRequest
0 голосов
/ 22 февраля 2011

Я хочу добавить поле LedgerTrans.DocumentNum в отчет BankAccountStatment

В отчете BankAccountStatment есть источник данных "BankAccountTable"

Как мне выполнить это?

Примечание: LedgerTrans.DocumentNum может быть достигнут через BankAccoutTrans.AccountId = BankAccountTable.AccountId then LedgerTrans.voucher = BankAccountTrans.Voucher

Ответы [ 2 ]

0 голосов
/ 27 февраля 2011

Это просто:

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

Перетащите метод в нужное место печати. ​​

0 голосов
/ 22 февраля 2011

Вы можете попробовать объявить 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;
}

Я не пробовал, но оно должно работать.В качестве альтернативы вы можете объявить ledgerTrans в методе fetch, добавить element.send(ledgerTrans) после выбора ledgerTrans и добавить стандартное поле String в упомянутом разделе, Table = LedgerTrans, DataField = DocumentNum.Тогда никакой метод отображения не требуется.

PS Я предполагал, что вы используете AX 2009, но для других версий AX логика остается той же.

...