|
![]() |
#1 |
Участник
|
Вот так:
[codebox] ds = OutlookTaskTable_q.dataSourceTable(TableNum(OutlookTaskTable)); ds2 = OutlookTaskTable_q.dataSourceTable(TableNum(EmplTable)); if (!ds2) { ds2 = ds.addDataSource(TableNum(EmplTable)); StrRange = '((((OutlookTaskTable.Ot = "%1") || (OutlookTaskTable.User = "%2") || (HRMOrganizationId = "%3")) && (EmplId = OutlookTaskTable.User)))'; ds2.addRange(FieldNum(EmplTable, RecId)).value(strfmt(StrRange, CurUserId(), CurUserId(), "ИС")); }[/codebox] |
|
![]() |
#2 |
Участник
|
Да, примерно так.
Вместо метода ds2.addRange() лучше использовать метод SysQuery::findOrCreateRange(...) Дело в том, что range по этому полю уже может присутствовать (например, пользователь добавил или где-то в коде программист) addRange безусловно добавит range. Но результат нескольких range будет совсем не тот, что вы ожидаете. |
|