AXForum  
Go Back   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 09.11.2008, 15:04   #1  
ZooY is offline
ZooY
Участник
ZooY's Avatar
 
379 / 46 (2) +++
Join Date: 24.06.2008
Location: Россия, Москва
Тип ошибки при программном создании записи
CRM 4.0
На событие Pre-Create сущности зарегистрирован плагин.
Можно ли при программном создании записи этой сущности, в случае ошибки создания, определить, что это именно ошибка плагина, а не какая-то системная ошибка, или хотя бы получить текст ошибки, а не просто "Server was unable to process request".
Old 10.11.2008, 09:01   #2  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Артем Enot Грунин's Avatar
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Join Date: 16.08.2007
Location: Пермь!
Blog Entries: 151
Если речь идет об отладке, то можно подключить дебаггер к процессу w3wp.exe CRM сервера. Если вам надо просто показывать пользователю код ошибки, то поместите весь код в try catch и заворачивайте пойманные исключения в InvalidPluginExecutionException
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Old 11.11.2008, 10:29   #3  
ZooY is offline
ZooY
Участник
ZooY's Avatar
 
379 / 46 (2) +++
Join Date: 24.06.2008
Location: Россия, Москва
Хм... Видимо я не совсем понятно объяснил задачу...
Имеется в виду ситуация, когда я вообше из другого приложения (из какого-нибудь ASP.NET расширения) создаю запись, на которую зарегистрирован плагин.
Old 11.11.2008, 10:39   #4  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Артем Enot Грунин's Avatar
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Join Date: 16.08.2007
Location: Пермь!
Blog Entries: 151
Тогда вряд ли.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Old 12.11.2008, 16:04   #5  
Белый Михаил is offline
Белый Михаил
Участник
 
2 / 10 (1) +
Join Date: 01.10.2008
Для точного определения, что ошибка при создании или изменении объекта произошла в плагине, я использую блок try {} catch {}, и в блоке catch генерирую исключение типа InvalidPluginExecutionException, где прописываю свой текст сообщения. Пример:

voidIPlugin.Execute(IPluginExecutionContext context)
{
try
{
// Реализация плагина
}
catch (SoapHeaderException se)
{
throw new InvalidPluginExecutionException("Ошибка в плагине.", se);
}
catch (Exception ex)
{
throw new InvalidPluginExecutionException("Ошибка в плагине.", ex);
}
}

Текст сообщения "Ошибка в плагине", передаваемый исключению позволяет определить, что ошибка произошла во время выполнения плагина.
Old 12.11.2008, 17:42   #6  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Артем Enot Грунин's Avatar
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Join Date: 16.08.2007
Location: Пермь!
Blog Entries: 151
Невнимательно читаете, Михаил. Нужно из другого приложения получить код ошибки. Веб сервис CRM вернет только общую ошибку.
Кроме того у вас код с душком. Второй catch ловит то, что выкидывает первый.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Old 13.11.2008, 09:07   #7  
Alexandr Zhuravlev is offline
Alexandr Zhuravlev
Участник
 
16 / 10 (1) +
Join Date: 10.11.2008
Location: Питер
У SoapException есть свойство Detail типа XmlElement. Из него можно дернуть код ошибки и описание.
__________________
"Hello World!" 17 errors, 31 warnings
Old 13.11.2008, 11:29   #8  
Белый Михаил is offline
Белый Михаил
Участник
 
2 / 10 (1) +
Join Date: 01.10.2008
Вопрос был в том, как я понял, как определить, что ошибка произошла именно в плагине. И второй catch никак не поймает первый.
 

Similar Threads
Thread Thread Starter Forum Replies Last Post
Не удаляются записи,хотя у меня админские права Системы! Alexey-IT Dynamics CRM: Функционал 7 05.08.2009 18:18
Тип сущности, использующей плагин Казарин Александр Dynamics CRM: Разработка 2 02.04.2009 20:29
Ошибка в плагине при создании связей N:N SJK Dynamics CRM: Разработка 4 18.03.2009 20:19
Событие "Назначение записи" для бизнес-процесса Lazarus Dynamics CRM: Функционал 1 22.01.2009 19:54
Общий доступ на записи tirex Dynamics CRM: Функционал 2 25.04.2007 13:34

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 01:49.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.