|
![]() |
#1 |
Участник
|
Согласна, firstonly там действительно не нужен
![]() Усложняем задачу. X++: //qbds = query.addDataSource(tablenum(FactureTrans_RU)); qbds = query.addDataSource(tablenum(FactureTransLines)); //заменили на мап qbds.orderMode(OrderMode::GroupBy); qbds.addSelectionField(fieldnum(FactureTransLines, LineAmountMST), SelectionField::Sum); qbds.addRange(fieldnum(FactureTransLines, FactureId)).value(_factureJour.FactureId); qbds.addRange(fieldnum(FactureTransLines, Module)).value(SysQuery::value(_factureJour.Module)); // и другие addRange qr = new QueryRun(query); while(qr.next()) { factureTrans = qr.get(tablenum(FactureTransLines)); //разные действия } Аналогичная конструкция с просто таблицей, а не мапом, работает. |
|
![]() |
#2 |
Ищущий знания...
|
Цитата:
Сообщение от alicedr
![]() Согласна, firstonly там действительно не нужен
![]() Усложняем задачу. X++: //qbds = query.addDataSource(tablenum(FactureTrans_RU)); qbds = query.addDataSource(tablenum(FactureTransLines)); //заменили на мап qbds.orderMode(OrderMode::GroupBy); qbds.addSelectionField(fieldnum(FactureTransLines, LineAmountMST), SelectionField::Sum); qbds.addRange(fieldnum(FactureTransLines, FactureId)).value(_factureJour.FactureId); qbds.addRange(fieldnum(FactureTransLines, Module)).value(SysQuery::value(_factureJour.Module)); // и другие addRange qr = new QueryRun(query); while(qr.next()) { factureTrans = qr.get(tablenum(FactureTransLines)); //разные действия } Аналогичная конструкция с просто таблицей, а не мапом, работает. X++: info(qbds.toString());
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#3 |
Участник
|
И какую из двух замапленных таблиц вы ожидаете квери должен кверить?
|
|
![]() |
#4 |
Участник
|
Мап не содержит данных, данные хранятся в таблицах. Поэтому запросы работают корректно, возвращают пусто.
Если вы хотите сделать с помощью query, то воспользуйтесь советом EVGL - использование объекта MappingsInfo_RU. Посмотрите использование в стандарте метода MappingsInfo_RU::createMapWithFieldId. В вашем случае будет примерно так : X++: Map map = MappingsInfo_RU::createMapWithFieldId(_fTrans.TableId,tablenum(FactureTransLines)); ; ... qbds.query.addDataSource(_fTrans.tableId); if (map.exists(fieldIdpname(FactureTransLines, FactureId))) { qbds.addRange(map.lookup(fieldIdpname(FactureTransLines, FactureId))).value(_factureJour.FactureId) } ...
__________________
Sergey Nefedov Последний раз редактировалось SRF; 29.01.2013 в 19:47. |
|
|
За это сообщение автора поблагодарили: alicedr (1). |
Теги |
group by, map, query |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|