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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.03.2010, 18:04   #1  
xmarina is offline
xmarina
Участник
 
53 / 10 (1) +
Регистрация: 15.05.2009
Как получить ID текущего пользователя в плагине?
Здравствуйте, уважаемые знатоки!
Вопрос следующий:
мне нужно получить в плагине Id текущего пользователя.

Задаю:
ICrmService crmService = (ICrmService)context.CreateCrmService(true);

при регистрации Message - Calling User

Запрос

WhoAmIRequest userRequest = new WhoAmIRequest();
WhoAmIResponse user = (WhoAmIResponse)crmService.Execute(userRequest);
Guid userid = user.UserId;

возвращает Id пользователя System.
Что я делаю неправильно?
(На *.aspx - странице этот запрос работает нормально)

Заранее спасибо.
Старый 30.03.2010, 19:19   #2  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
А чем context.UserId не устроил?
Старый 31.03.2010, 10:54   #3  
xmarina is offline
xmarina
Участник
 
53 / 10 (1) +
Регистрация: 15.05.2009
Он тоже возвращает Id пользователя SYSTEM.
Похоже, несмотря на заданные ICrmService crmService = (ICrmService)context.CreateCrmService(true) и Calling User для Message, плагин все равно от имени текущего пользователя не выполняется. Может еще какие-то наcтройки нужны?
Старый 31.03.2010, 11:03   #4  
ZooY is offline
ZooY
Участник
Аватар для ZooY
 
379 / 46 (2) +++
Регистрация: 24.06.2008
Адрес: Россия, Москва
В контексте есть два свойства, возвращающие пользователя: UserId и InitiatingUserId.
Параметр UserId возвращает пользователя, инициировавшего запуск плагина (тоесть пользователя, который сделал над записью какие-то действия, которые и привели к запуску плагина).
Параметр InitiatingUserId возвращает пользователя, указанного при регистрации плагина. При регистрации можно указать какого то конкретного пользователя или текущего. Если указать текущего, то в большинстве случаев UserId будет равен InitiatingUserId.

Последний раз редактировалось ZooY; 31.03.2010 в 11:06.
За это сообщение автора поблагодарили: xmarina (1).
Старый 31.03.2010, 11:21   #5  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Цитата:
Сообщение от xmarina Посмотреть сообщение
Он тоже возвращает Id пользователя SYSTEM.
Похоже, несмотря на заданные ICrmService crmService = (ICrmService)context.CreateCrmService(true) и Calling User для Message, плагин все равно от имени текущего пользователя не выполняется. Может еще какие-то наcтройки нужны?
А что вызывает срабатывание плагина?
Сохранение карточки в crm или у вас какой-то код создает/апдейтит объект?
За это сообщение автора поблагодарили: xmarina (1).
Старый 31.03.2010, 11:53   #6  
xmarina is offline
xmarina
Участник
 
53 / 10 (1) +
Регистрация: 15.05.2009
Да, другой плагин создает объект.
Насколько я поняла, в этом и ошибка.
Надо привязаться именно к изменяемому пользователем полю?
Старый 31.03.2010, 12:01   #7  
xmarina is offline
xmarina
Участник
 
53 / 10 (1) +
Регистрация: 15.05.2009
Спасибо Вам обоим огромное!!!
Вариант с изменяемым пользователем полем работает!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Определение текущего пользователя системы Lud Dynamics CRM: Разработка 8 31.08.2010 16:09
Как задать текущего пользователя Elka Dynamics CRM: Разработка 3 29.08.2009 12:03

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

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

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