Есть такое условие в CountPrim
PHP код:
if (countQuery.dataSourceCount() == 1)
qbds.addSelectionField(FieldNum(Common,recId),SelectionField::COUNT);
Т.е. появляется интелект только когда в запросе 1 таблица
Могу предложить такой вариант:
PHP код:
static int prk_lineNumber2(FormDataSource fds, Common tmpTable = null)
{
Query query;
Query countQuery;
QueryRun queryRun;
QueryBuildDataSource qbds;
QueryBuildFieldList qbfl;
int sourceNum;
int i;
;
if (fds.queryRun())
query = fds.queryRun().query();
else
query = fds.query();
countQuery = new Query(query);
sourceNum = countQuery.dataSourceCount();
for ( i = 1; i <= sourceNum; i++ )
{
qbds = countQuery.dataSourceNo(i);
qbfl = qbds.fields();
qbfl.clearFieldList();
qbfl.addField(FieldName2Id(qbds.table(),"RecId"), SelectionField::COUNT);
}
queryRun = new QueryRun(countQuery);
select TmpTable;
if (TmpTable)
queryRun.setCursor(TmpTable);
queryRun.next();
return queryRun.getNo(1).RecId;
}