У меня следующая задача. В отчёте сгрупировать строки по определённым полям и вывести сумму одного из полей.
Для этого я переопределяю метод init в Query:
Код:
public void init()
{
Query q;
QueryBuildDatasource qbds;
super();
q = this.query();
qbds = q.dataSourceTable(tablenum(LedgerJournalTrans));
qbds.orderMode(OrderMode::GROUPBY);
qbds.addSortField(fieldnum(LedgerJournalTrans, TransDate));
qbds.addSortField(fieldnum(LedgerJournalTrans, CurrencyCode));
qbds.addSelectionField(fieldnum(LedgerJournalTrans, InvoiceAmountCur), SelectionField::SUM);
}
но запрос почему-то получается таким:
SELECT SUM(InvoiceAmountCur), SUM(InvoiceAmountCur), SUM(InvoiceAmountCur) FROM LedgerJournalTrans GROUP BY LedgerJournalTrans.OffsetAccountType DESC, LedgerJournalTrans.OffsetAccount DESC, LedgerJournalTrans.TransDate DESC, LedgerJournalTrans.CurrencyCode DESC, LedgerJournalTrans.Txt ASC, LedgerJournalTrans.AmountCurDebit ASC, LedgerJournalTrans.AmountCurCredit ASC, LedgerJournalTrans.PaymentStatus ASC WHERE ((JournalNum = ПА00005))
И в итоге ничего запрос не возвращает.
Не подскажите в чём дело? Как правильно нужно делать. Или другие варианты решения подобной задачи.