Показать сообщение отдельно
Старый 06.05.2004, 17:38   #1  
Pegiy is offline
Pegiy
Участник
 
159 / 10 (1) +
Регистрация: 22.04.2003
Не удается разобраться с query
Нужно получить данные из SalesPickingListJournalLine сгруппировать по ItemId, получить сумму по InventQty и вывести в отчет:
- - ItemGroup (из InventTable)
- - ItemId - - Name - - Qty

Практически то что нужно и получил, но появились дублирующие строки:

- - ItemId1 - - Name1 - - Qty1
- - ItemGroup1
- - ItemId1 - - Name1 - - Qty1
- - ItemId2 - - Name2 - - Qty2
- - ItemGroup2
- - ItemId2 - - Name2 - - Qty2

как от них избавиться?

PHP код:
   qbd query.dataSourceTable(tableNum(SalesPickingListJournalLine));
   
qbd.orderMode(OrderMode::GroupBy);
    
qbd.addSortField(fieldNum(SalesPickingListJournalLineItemId));
    
qbd.addSortField(fieldNum(SalesPickingListJournalLineName));
    
qbd.addSelectionField(fieldNum(SalesPickingListJournalLine,InventQty), SelectionField::Sum);
    
qbi qbd.addDataSource(tableNum(InventTable));
    
qbi.relations(true);
    
qbi.joinMode(JoinMode::INNERJOIN);
    
qbi.fetchMode(0);

    
qr = new QueryRun(element.query());
    while (
qr.next())
    {
        
_tmp qr.get(TableNum(SalesPickingListJournalLine));
        
_tmpGr qr.get(TableNum(InventTable));
        
ItemId _tmp.ItemId;
        
ItemName _tmp.Name;
        
ItemGroup _tmpGr.ItemGroupId;
        
qty num2str(_tmp.InventQty12223);
        
element.execute(1);
    }