Цитата:
Сообщение от
S.Kuskov
В общем случае подцепить к имеющемуся query ещё один CustTable с типом связи exists join и наложить уже на него условие "КлиентАБВ". Затем, сделав один раз queryRun.next(), посмотреть вернулось ли что-нибудь.
Цитата:
Сообщение от
Владимир Максимов
К сожалению, это ничего не гарантирует. Если исходный запрос относительно сложен и имеет несколько таблиц-источников с "не линейной" схемой объединения, то подключение еще одного источника по Exists Join может привести к тому, что запросу "снесет крышу". Результат может оказаться парадоксальным.
А если использовать не ExistsJoin, а InnerJoin?
X++:
boolean findSuperCust(Query _srcQuery, CustAccount _custAccount = "КлиентАБВ")
{
Query q;
QueryRun qr;
QueryBuildDataSource qbds,qbds2;
;
q = new Query(_srcQuery);
qbds = q.dataSourceTable(tablenum(custTable));
qbds2 = qbds.addDataSource(tablenum(custTable));
qbds2.fields().addField(fieldNum(custTable, AccountNum));
qbds2.fetchMode(JoinMode::INNERJOIN);
qbds2.relations(true);
qbds2.addRange(fieldNum(custTable, AccountNum)).value(_custAccount);
qr = new QueryRun(q);
return qr.next();
}