AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.03.2007, 10:59   #1  
moid is offline
moid
Участник
 
84 / 10 (1) +
Регистрация: 05.02.2007
Вот так:

[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]
Старый 22.03.2007, 11:38   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Да, примерно так.
Вместо метода ds2.addRange()
лучше использовать метод SysQuery::findOrCreateRange(...)

Дело в том, что range по этому полю уже может присутствовать (например, пользователь добавил или где-то в коде программист)
addRange безусловно добавит range. Но результат нескольких range будет совсем не тот, что вы ожидаете.
__________________
полезное на axForum, github, vk, coub.
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:12.