Показать сообщение отдельно
Старый 20.07.2009, 12:42   #1  
stalker25 is offline
stalker25
Участник
 
20 / 15 (1) ++
Регистрация: 04.03.2009
lookup для ItemId iz InventTable + InventDim + InventSum
Здравствуйте, есть одна проблема может кто знает
для ItemId сделать lookup с выборкой по AvailPhysical из InventSum,
я в коде в коментарии оставил вопрос на последнем этапе
X++:
queryBuildDataSource = query.addDataSource(tablenum(InventTable));

   
    queryBuildRange = queryBuildDataSource.addRange(fieldnum(InventTable, ItemId));
    queryBuildRange.value(Criteria1);

    //addn new data source
    queryBuildDataSource1 = queryBuildDataSource.addDataSource(tablenum(InventItemLocation));
    queryBuildDataSource1.addLink(fieldnum(InventTable, ItemId),fieldnum(InventItemLocation,ItemId));
    queryBuildDataSource1.joinMode(JoinMode::InnerJoin);
    queryBuildDataSource1.addRange(fieldnum(InventItemLocation, wMSPickingLocation)).value(criteria2);

    queryBuildDataSource2 = queryBuildDataSource1.addDataSource(tablenum(InventDim));
    queryBuildDataSource2.addLink(fieldnum(InventItemLocation,InventDimId),fieldnum(InventDim,InventDimId));
    queryBuildDataSource2.joinMode(JoinMode::InnerJoin);
    queryBuildDataSource2.addRange(fieldnum(InventDim, InventLocationId)).value(criteria3);

//вот тут join получается  тока для InventDim либо InventTable, а мне нужно что б брал //значение с 2 таблиц сразу InventDim.InventDimId i  InventTable.ItemId
   
 queryBuildDataSource3 = queryBuildDataSource.addDataSource(tablenum(InventSum));
    queryBuildDataSource3.addlink(fieldnum(InventTable, ItemId),fieldnum(InventSum,ItemId));
queryBuildDataSource3.addlink(fieldnum(InventDim, InventDimId),fieldnum(InventSum,InventDimId));
    queryBuildDataSource3.joinMode(JoinMode::InnerJoin);
    
    queryBuildDataSource3.addRange(fieldnum(InventSum, AvailPhysical)).value(strfmt("%1",">0"));