X++:
q = new Query();
qbds = q.addDataSource(tablenum(InventTrans));
qbds.addRange(fieldnum(InventTrans, StatusIssue)).value(queryValue(StatusIssue::Sold));
qbds.addRange(fieldnum(InventTrans, StatusReceipt)).value(queryValue(StatusReceipt::None));
qbds.addRange(fieldnum(InventTrans, TransType)).value(queryValue(InventTransType::Sales));
qbds.addSelectionField(fieldnum(InventTrans, Qty), SelectionField::Sum);
qbds = qbds.addDataSource(tablenum(InventTable));
qbds.relations(true);
qbds.addSortField(fieldnum(InventTable, ItemGroupId));
qbds.orderMode(OrderMode::GroupBy);
qbds = qbds.addDataSource(tablenum(SalesTable));
qbds.relations(true);
qbds.addRange(fieldnum(SalesTable, SalesResponsible)).value(_emplId);
qr = new QueryRun(q);