|
![]() |
#1 |
MCTS
|
Цитата:
Как добавить агрегатное поле на грид(из AOT_query) ?
Создал форму с двумя ds InventSum и InventDim В ините InventSum датасорса прописал следующее X++: public void init() { Query query = new Query(queryStr(InventSum)); ; query.dataSourceNo(1).addRange(fieldNum(InventSum, ItemId)).value('0_Frog'); query.dataSourceNo(1).addSelectionField(fieldNum(InventSum, PostedQty), SelectionField::Sum); query.dataSourceNo(1).addSortField(fieldNum(InventSum, ItemId)); query.dataSourceNo(1).orderMode(OrderMode::GroupBy); InventSum_ds.query(query); super(); }
__________________
![]() В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню |
|
|
За это сообщение автора поблагодарили: radya (1). |
![]() |
#2 |
Участник
|
На всякий случай , может кому пригодится.. Не пытаться прикрутить AOT_query на форме. Лучше прописать все связи , группировки и фильтры на самой форме. Что я сделал : на ExecuteQuery родительского датасорса :
X++: Query query = new Query(); QueryRun qr ; QueryBuildDataSource qbds1,qbds2; ; if (InventTable_ds.queryRun()) query = InventTable_ds.queryRun().query(); else query = InventTable_ds.query(); qbds1 = query.dataSourceTable(tablenum(InventTable)); if (Query.dataSourceCount() < 2) qbds1.addDynalink(fieldnum(InventTable,ItemId),InventSum,fieldnum(InventSum,ItemId)); qbds2 = query.dataSourceTable(tablenum(InventSum)); qbds1.addRange(fieldnum(InventTable,A_LineCode)).value("ACM"); qbds2.addRange(fieldnum(InventSum,Closed)).value("0"); qbds1.addSortField(fieldnum(InventTable,A_PartNumber)); qbds1.addSortField(fieldnum(InventTable,NameAlias)); qbds1.addSortField(fieldnum(InventTable,ItemId)); qbds1.orderMode(orderMode::GroupBy); qbds2.addSelectionField(fieldnum(InventSum,AvailPhysical),SelectionField::Sum); qbds2.addSortField(fieldnum(InventSum,ItemId)); qbds2.orderMode(orderMode::GroupBy); super(); Повторюсь , это только для Ах 3.0, с четверкой надеюсь все проще. |
|
Теги |
ax3.0 |
|
|