Мне нужно реализовать в аксапте вот такой запрос:
Код:
SELECT * FROM OutlookTaskTable A
INNER JOIN EmplTable B ON A.User = B.EmplId
WHERE A.USER = 'ANV' OR B.HRMORGANIZATIONID = 'IS'
Проблема как добавить условие по OR
Подробнее:
Есть два запроса
такой:
X++:
StrRange = '(((OutlookTaskTable.Ot = "%1") || (OutlookTaskTable.User = "%2")))';
rq = OutlookTaskTable_q.dataSourceTable(TableNum(OutlookTaskTable)).addRange(FieldNum(OutlookTaskTable, RecId));
rq.value(strfmt(StrRange, CurUserId(), CurUserId()));
и такой:
X++:
ds = OutlookTaskTable_q.dataSourceTable(TableNum(OutlookTaskTable));
ds2 = OutlookTaskTable_q.dataSourceTable(TableNum(EmplTable));
if (!ds2)
{
ds2 = ds.addDataSource(TableNum(EmplTable));
ds2.addLink(FieldNum(OutlookTaskTable, User), FieldNum(EmplTable, EmplId));
ds2.joinMode(JoinMode::ExistsJoin);
ds2.addRange(FieldNum(EmplTable, HRMOrganizationId)).value(ArrayStr);
}
else ds2.findRange(FieldNum(EmplTable, HRMOrganizationId)).value(ArrayStr);
Если я их пишу вместе, то получается они работают как условие"И". Как сделать, чтобы второй запрос присоединялся к первому как условие"ИЛИ"?
Второй запрос смотрит поле User из таблицы OutlookTaskTable и проверяет по таблице EmplTable принадлежность к подразделению CurUserId().