поле "невидимо" в расширенном диапазоне запроса
Добрый день. Создаю форму, основная таблица связана с таблицей истории действий. Мне надо отсеить данные, которые содержатся в истории одного типа и позже не появилась история другого типа(открыли, закрыли туда-сюда)
Пишу exists join History, notexists join History2 но когда составляю условие
То ругается поле (StartDate) невидимое.
Как переделать запрос формы?
ExistsJoin был переписан на join с group by по полям ( потому что вроде логично не видеть поля из условия exists в where), но ошибка таже
qbds = this.query().dataSourceTable(tableNum(ManagerLocation));
qbds.clearDynalinks();
historyExistsDS = qbds.addDataSource(tableNum(ManagerLocationHistory));
historyExistsDS.joinMode(JoinMode::ExistsJoin);
historyExistsDS.relations(true);
hrange = SysQuery::findOrCreateRange(historyExistsDS, fieldNum(ManagerLocationHistory, StartDate));
hrange.value(queryRange(dateNull(), beginDate));
hrange = SysQuery::findOrCreateRange(historyExistsDS, fieldNum(ManagerLocationHistory, TypeAction));
hrange.value(queryValue(1));
historyNotExistsDS = historyExistsDS.addDataSource(tableNum(ManagerLocationHistory));
historyNotExistsDS.joinMode(JoinMode::NoExistsJoin);
historyNotExistsDS.relations(true);
hrange = SysQuery::findOrCreateRange(historyNotExistsDS, fieldNum(ManagerLocationHistory, TypeAction));
hrange.value(queryValue(0));
hrange = SysQuery::findOrCreateRange(historyNotExistsDS, fieldNum(ManagerLocationHistory, StartDate));
hrange.value('('+historyNotExistsDS.name()+ '.' + fieldStr(ManagerLocationHistory, StartDate) + ' >= ' +
historyExistsDS.name() + '.' + fieldStr(ManagerLocationHistory, StartDate) + ')'); -- ругается на вторую startdate из exists join
|