Примерно так выглядит код:
Цитата:
void init()
{
super();
this.query(new Query(querystr(ProdRouteOprOverview2)));
criteriaTaskGroupId = this.query().dataSourceTable(tablenum(ProdRoute)).addRange(fieldnum(ProdRoute,TaskGroupId));
criteriaWrkCtrId = this.query().dataSourceTable(tablenum(ProdRoute)).addRange(fieldnum(ProdRoute,WrkCtrId));
criteriaOprId = this.query().dataSourceTable(tablenum(ProdRoute)).addRange(fieldnum(ProdRoute,OprId));
criteriaProdStatus = this.query().dataSourceTable(tablenum(ProdTable)).addRange(fieldnum(ProdTable,ProdStatus));
criteriaOprName = this.query().dataSourceTable(tablenum(ProdTable)).addRange(fieldnum(ProdTable,Name));
criteriaExpired = this.query().dataSourceTable(tablenum(ProdRoute)).addRange(fieldnum(ProdRoute,ToDate));
criteriaRouteOprName = this.query().dataSourceTable(tablenum(RouteOprTable)).addRange(fieldnum(RouteOprTable,Name));
...
После в методе executeQuery уже передаю значения...
Цитата:
void executeQuery()
{
if (ctrlLockTaskGroup.value())
criteriaTaskGroupId.value(queryValue(ctrlTaskGroupId.text()));
else
criteriaTaskGroupId.value(SysQuery::valueUnlimited());
if (ctrlLockOprId.value())
criteriaOprId.value(queryValue(ctrlOprId.text()));
else
criteriaOprId.value(SysQuery::valueUnlimited());
...