Показать сообщение отдельно
Старый 20.07.2009, 14:19   #6  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
проверил у себя, вот получился рабочий вариант построения запроса, подцепились все датасорсы

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);
    queryBuildDataSource1.fetchMode(QueryFetchMode::One2One);

    queryBuildDataSource2 = queryBuildDataSource1.addDataSource(tablenum(InventDim));
    queryBuildDataSource2.addLink(fieldnum(InventItemLocation,InventDimId),fieldnum(InventDim,InventDimId));
    queryBuildDataSource2.joinMode(JoinMode::InnerJoin);
    queryBuildDataSource2.addRange(fieldnum(InventDim, InventLocationId)).value(criteria3);
    queryBuildDataSource2.fetchMode(QueryFetchMode::One2One);
//вот тут 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"));
    queryBuildDataSource3.fetchMode(QueryFetchMode::One2One);
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: stalker25 (1).