Показать сообщение отдельно
Старый 01.06.2004, 15:04   #1  
Pegiy is offline
Pegiy
Участник
 
159 / 10 (1) +
Регистрация: 22.04.2003
Связанные формы
Есть 2 формы:
В первой выбирается номер отгрузки DeliveryId
Во второй (датасорс SalesTable) - отображаются заказы для которых указан этот DeliveryId:

void fillLine()
{
deliveryQBR.value(TmpDelivery.DeliveryId);
SalesTable_ds.executeQuery();
}

теперь хотелось бы, чтобы выбирались лишь те заказы по которым есть сформированные, но не зарегистрированные отгрузочные накладные:

PHP код:
query = new Query();
qbST query.addDataSource(tableNum(SalesTable));

qbST.orderMode(OrderMode::GroupBy);
qbST.addSortField(fieldNum(SalesTableSalesId));
qbST.addSortField(fieldNum(SalesTableSalesName));
qbST.addSortField(fieldNum(SalesTableSalesPoint));

qbST.addRange(fieldNum(SalesTableDeliveryId)).value(TmpDelivery.DeliveryId);
qbPT qbST.addDataSource(tableNum(SalesPickingListJournalLine));
qbPT.addLink(fieldNum(SalesTableSalesId), fieldNum(SalesPickingListJournalLineSalesId));
qbPT.joinMode(JoinMode::INNERJOIN);
qbPT.fetchMode(0);
qbPT.addRange(fieldNum(SalesPickingListJournalLineUpdated)).value('No');
qbPT.addRange(fieldNum(SalesPickingListJournalLineDeliveryDate)).value(deliveryDate);
SalesTable_ds.query(query);
SalesTable_ds.executeQuery(); 
Показывается то что надо, но нельзя в строках 2-й формы у заказов менять DeliveryId - Axapta ругается что не заполнены счет, валюта и т.д. - все правильно так как из-за группировки выбираются не все данные.
Как это можно обойти не формируя временную таблицу?