Показать сообщение отдельно
Старый 02.03.2006, 13:13   #1  
andkud is offline
andkud
Участник
 
13 / 10 (1) +
Регистрация: 05.07.2005
Запрос в отчёте
У меня следующая задача. В отчёте сгрупировать строки по определённым полям и вывести сумму одного из полей.

Для этого я переопределяю метод 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))

И в итоге ничего запрос не возвращает.
Не подскажите в чём дело? Как правильно нужно делать. Или другие варианты решения подобной задачи.