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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.11.2008, 18:50   #1  
Alir is offline
Alir
Участник
 
47 / 14 (1) ++
Регистрация: 02.08.2008
Адрес: Санкт-Петербург
Не создается email в плагине
При попытке создать email в плагине вылетает с ошибкой: "Server was unable to process request", CRM сообщает "Ошибка SQL сервера".
Сам код создания валидный: проверял, например, в win-приложении - все создает.

Кто-нить создавал email'ы в плагине?

P.S. проверял на всех провах пользователей при регистрации плагина.
Старый 18.11.2008, 21:22   #2  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Приведите код, пожалуйста. Так будет проще понять в чем может быть проблема.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 19.11.2008, 10:30   #3  
Alir is offline
Alir
Участник
 
47 / 14 (1) ++
Регистрация: 02.08.2008
Адрес: Санкт-Петербург
Артем Enot Грунин

Код здесь обычный, как пример SDK:
X++:
            WhoAmIRequest systemUserRequest = new WhoAmIRequest();
            WhoAmIResponse systemUser = (WhoAmIResponse)service.Execute(systemUserRequest);
 
            activityparty party = new activityparty();
            party.partyid = new Lookup();
            party.partyid.type = EntityName.systemuser.ToString();
            party.partyid.Value = systemUser.UserId;
 
            email email = new email();
            email.to = new activityparty[] { party };
            email.from = new activityparty[] { party };
            email.subject = "My test subject";
            email.description = "My test send e-mail message";
 
            CrmBoolean direction = new CrmBoolean();
            direction.Value = true;
            email.directioncode = direction;
 
            // создаем так:
            TargetCreateEmail targetCreate = new TargetCreateEmail();
            targetCreate.Email = email;
            CreateRequest request = new CreateRequest();
            request.Target = targetCreate;
            service.Execute(request);
            
            //либо так:
            //service.Create((BusinessEntity)email);
Строчка где Create или Execute падает. Абсолютно этот же код отрабатывает в win приложении, а в плагине нет. Потому думаю дело тут не в коде, а именно в плагине.

Причем любая другая сущность создается, а email нет.

Плагин регестрировался Plugin Resistration Tool на Update одного поля - собственно все как обычно.
Старый 19.11.2008, 14:25   #4  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Что в логах сервера (детальное сообщение об ошибке)? Как вы сервис создаете? В плагине его надо создавать так:
Код:
public void Execute(IPluginExecutionContext context)
{
     ICrmService service = context.CreateCrmService(true);
     service.<операции>;
}
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 19.11.2008, 15:51   #5  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Перед Create'ом заполните поле Owner вот так:

Код:
 
mail.ownerid = new Owner();
mail.ownerid.type = "systemuser";
mail.ownerid.Value = systemUser.UserId;
По умолчанию плагин выполняется от имени пользователя SYSTEM, а он почему-то не может быть ответственным в письме. Поэтому, лучше в явном виде указывать ответственным адресата.
Старый 19.11.2008, 18:53   #6  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Кстати, так тоже не прокатит.
В данном случае systemUser.UserId это и есть SYSTEM.
Вообщем, определитесь кому Вы хотите послать письмо и его же пропишите в Owner мэйла.
А если в поле from Вы хотите указать пользователя, по чьей "вине" был вызван плагин, то надо его GUID не из WhoAmIRequest получать, а из context'а плагина.
За это сообщение автора поблагодарили: Alir (1).
Старый 20.11.2008, 11:38   #7  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Что в логах сервера (детальное сообщение об ошибке)? Как вы сервис создаете? В плагине его надо создавать так:
Код:
public void Execute(IPluginExecutionContext context)
{
     ICrmService service = context.CreateCrmService(true);
     service.<операции>;
}
Позволю не согласиться с Вами, Артём. Почему - описано в топике
http://forums.microsoft.com/Dynamics...0889&SiteID=27
За это сообщение автора поблагодарили: Артем Enot Грунин (1), Likefire (1).
Старый 24.11.2008, 11:55   #8  
Alir is offline
Alir
Участник
 
47 / 14 (1) ++
Регистрация: 02.08.2008
Адрес: Санкт-Петербург
Действительно в случае, когда создаем email в plug-in'e, надо явно прописывать owner у письма, тогда все корректно создается.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема с установкои Email Router на CRM 4 Kosta100 Dynamics CRM: Администрирование 1 22.02.2009 14:00
Email router подвисает с ошибкой на некоторых из писем Смирнов Денис Dynamics CRM: Администрирование 6 10.12.2008 20:56
Microsoft Dynamics CRM Team Blog: Microsoft Dynamics CRM, Email correlation and smart matching Blog bot Dynamics CRM: Blogs 0 12.11.2008 04:08
получение полей to,from из Email MFCшный Wizard Dynamics CRM: Разработка 3 12.09.2008 16:35
Поле - Email контакта. tatra Dynamics CRM: Разработка 5 15.10.2007 11:55
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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