|
|
#1 |
|
Участник
|
Разница в работе селектов/запросов в джобах и на формах
В джобе:
Код: SalesPickingListJournalTable spt;
SalesPickingListJournalLine spl;
InventTable it;
;
while select spt
where spt.BD_InventJournalId != ""
join spl
where spl.PickingListId == spt.PickingListId
exists join it
where it.ItemId == spl.Itemid
&& it.ItemType == ItemType::Service
{
info(spt.PickingListId);
}На форме поместил один dataSource SalesPickingListJournalTable, в init источника данных сделал следущее: Код: QueryBuildDataSource qSPT, qSPL, qIT;
super();
qSPT = this.query().addDataSource(tablenum(SalesPickingListJournalTable));
qSPL = qSPT.addDataSource(tablenum(SalesPickingListJournalLine));
qSPL.addLink(fieldnum(SalesPickingListJournalTable, PickingListId),
fieldnum(SalesPickingListJournalLine, PickingListId));
qIT = qSPL.addDataSource(tablenum(InventTable));
qIT.addRange(fieldnum(InventTable, ItemType)).value(queryValue(ItemType::Service));
qIT.addLink(fieldnum(SalesPickingListJournalLine, ItemId),
fieldnum(InventTable, ItemId));
qIT.joinMode(JoinMode::ExistsJoin);Код: SELECT * FROM SalesPickingListJournalTable JOIN * FROM SalesPickingListJournalLine WHERE SalesPickingListJournalTable.PickingListId = SalesPickingListJournalLine.PickingListId EXISTS JOIN * FROM InventTable WHERE SalesPickingListJournalLine.Itemid = InventTable.ItemId AND ((ItemType = Услуга))
Последний раз редактировалось Dronas; 23.06.2008 в 09:59. |
|
|
|
|
|