Query - класс, который содержит всю структуру запроса
QueryBuildDataSоurce - источник данных (таблица), то что содержится в FROM. Сколько таблиц, столько и QBDS должно быть в Query. QBDS содержит также список полей, сортировок, ограничений (QueryBuildRange), связей с др. таблицами.
QueryRun - класс, который позволяет исполнить запрос и получить результат.
Простой пример:
PHP код:
static void Job43(Args _args)
{
Query q = new Query();
QueryRun qr;
InventTable inventTable;
InventItemGroup inventItemGroup;
QueryBuildDataSource qbDS;
QueryBuildRange qbRange;
;
qbDS = q.addDataSource(tableNum(InventItemGroup));
qbDS.orderMode(OrderMode::GROUPBY);
qbDS.addSortField(fieldNum(InventItemGroup, Name));
qbDS = qbDS.addDataSource(tableNum(InventTable));
qbDS.addLink(fieldNum(InventItemGroup, ItemGroupId), fieldNum(InventTable, ItemGroupId));
qbDS.orderMode(OrderMode::GROUPBY);
qbDS.addSortField(fieldNum(InventTable, ItemGroupId));
qbDS.addSelectionField(fieldNum(InventTable, RecId), SelectionField::COUNT);
qbRange = qbDS.addRange(fieldNum(InventTable, ItemId));
qbRange.value("*0");
qr = new QueryRun(q);
while(qr.next())
{
inventTable = qr.get(tableNum(InventTable));
inventItemGroup = qr.get(tableNum(InventItemGroup));
print inventItemGroup.Name + " : " + int2str(inventTable.RecId);
}
pause;
}
И почитайте System Documentation \ Classes