На всякий случай , может кому пригодится.. Не пытаться прикрутить 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();
Форма показывает наличие товара на складе с определенными параметрами (в моем случае A_LineCode = ACM на InventTable)
Повторюсь , это только для Ах 3.0, с четверкой надеюсь все проще.