Показать сообщение отдельно
Старый 06.10.2010, 16:10   #1  
Prophetic is offline
Prophetic
Участник
 
113 / 15 (1) ++
Регистрация: 08.12.2009
Вопрос об addDataSource, и JoinMode
Здравия всем.

Есть таблица, к примеру, Table 1, которая содержит по три записи на каждый незаблокированный для закупок артикул. Необходимо выбрать из InventTable те записи, для которых записей в Table1 нет.
Как добавить qdbsTable1?
Вот что уже есть:
X++:
    qbdsInventTable = q.addDataSource(tableNum(InventTable));
    qbdsInventTableModule = qbdsInventTable.addDataSource(tableNum(InventTableModule));
    qbdsInventTableModule.joinMode(JoinMode::INNERJOIN);
    qbdsInventTableModule.relations(true);
    
    qbdsInventTableModule.addRange(fieldnum(InventTableModule, ModuleType)).value(queryValue(ModuleInventPurchSales::Purch));
    qbdsInventTableModule.addRange(fieldNum(InventTableModule, Blocked)).value(queryValue(NoYes::No));

    qbdsTable1 = qbdsInventTable.addDataSource(tableNum(Table1));
    qbdsTable1.relations(true);
    qbdsTable1.joinMode(JoinMode::NoExistsJoin);
    qbdsTable1.addLink(fieldnum(InventTable, ItemId),fieldnum(Table1,ItemId));
Возвращются все записи из InventTable.

Последний раз редактировалось Prophetic; 06.10.2010 в 16:16.