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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.10.2012, 20:44   #1  
drongo is offline
drongo
Участник
 
35 / 12 (1) ++
Регистрация: 20.05.2012
Адрес: Россия, Москва
Ошибка создания продукта сделки при выполнении плагина.
Доброго времени суток!

Возникла следующая проблема.

Создаю плагин для сущности OpportunityProduct, событие Create, этап PreCreate, синхронный. Код плагина:

X++:
public class TestPlugin : IPlugin
{
        public void Execute( IServiceProvider serviceProvider )
        {
            throw new InvalidPluginExecutionException( "Test Exception" );
        }
}
При создании строки сделки (строки сделки создаю из карточки сделки) получаю ошибку (см. вложение), а не вывод сообщения об ошибке с текстом исключения.

Трейс прилагается.

В чем может быть проблема?

Версия CRM 2011, стоит роллап 10.
Изображения
 
Вложения
Тип файла: txt tracelog.txt (12.7 Кб, 369 просмотров)
Старый 12.10.2012, 10:20   #2  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Всё логично
А указанный тип исключения (InvalidPluginExecutionException) как тип определяется в Visual Studio?
Каким образом создавался плагин?
Event Log смотрели? Что в нём есть в указанное время?
Судя по записям из трассировки, я сделал вывод о том, что вызываемое исключение неизвестно.

Естественно, я понимаю, что данный вид исключения необходим для отладки, но попробуйте исключить из выполнения плагина строку throw, заменив её каким-нибудь предсказуемым вариантом исполнения. Думаю, что ошибка перестанет иметь место.

Попробуйте вызвать данную ошибку на разных рабочих местах - возможно дело в конфигурации именно той машины, на которой Вы пытались исполнять действие по созданию продукта.
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!

Последний раз редактировалось Likefire; 12.10.2012 в 10:49. Причина: переосмыслил тему
За это сообщение автора поблагодарили: drongo (1).
Старый 12.10.2012, 11:14   #3  
drongo is offline
drongo
Участник
 
35 / 12 (1) ++
Регистрация: 20.05.2012
Адрес: Россия, Москва
Добрый день!

Не совсем понял, что значит "как именно определяется исключение в VS"?

Плагин создавал в VS, как вручную, так и через CRM Developer Toolkit - результат идентичен. Если не выбрасывать исключение - ошибка не появляется. Но дело в том, что мне нужно прервать при определенных условиях создание продукта для сделки. поэтому необходимо сгенерировать исключение. Кстати, такая ошибка появляется не только при использовании InvalidPluginExecutionException, но и при использовании Exception.

Еще заметил одну странность - при создании продукта сделки, почему-то в списке параметров Target отсутствует "Количество" (поле quantity)....

Я сам полагаю, что проблема в каких-то особенностях именно моего сервера, но где именно искать - пока неясно...

За совет посмотреть EventLog - спасибо, попробую, может быть там что найдется
Старый 12.10.2012, 13:23   #4  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Цитата:
Сообщение от drongo Посмотреть сообщение

Не совсем понял, что значит "как именно определяется исключение в VS"?

... - при создании продукта сделки, почему-то в списке параметров Target отсутствует "Количество" (поле quantity)....
В VS при вводе интеллисенс нормально "опознаёт" ввод типа исключения? Подает хинт, что тип его Microsoft.Xrm.Sdk.InvalidPluginExecutionException? Я подумал, мало ли: может в Using упоминается библиотека, в которой такой тип тоже присутствует, но если Вы говорите, что с простым Exception такая же ерунда, то тут сто процентов какой-то системный глюк. Надо смотреть EventViewer и уже по имеющимся там данным об ошибке (если таковая зарегистрирована) пробовать гуглить.

В списке параметров Target отсутствуют те параметры, значения которых не определены. Если у Вас количество явно определено, то такого конечно быть не должно.
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!
Старый 12.10.2012, 14:23   #5  
drongo is offline
drongo
Участник
 
35 / 12 (1) ++
Регистрация: 20.05.2012
Адрес: Россия, Москва
Проблему решил, хотя и довольно "мутным" способом.

Вначале поставил Rollup 11 - это не помогло.
Затем снес сервер CRM и все что с ним связано, и поставил сервер заново (но не роллапы). Установил плагин - все работает, плагин выбрасывает исключение (как и должен), в плагин передаются все заданные параметры.

Далее поставил rollup 6, rollup11 - вновь возник сбой, описанный в первом сообщении.
Удалил rollup 11 (но не "подтянутые" им при установке роллапы 8 и 10) - все вновь заработало, как надо.

Ошибка, видимо, возникает при установке роллапов, только не совсем понятно какого именно, т.к. изначально стоял роллап 10.

Надеюсь, кому-то этот способ поможет...
Старый 12.10.2012, 14:27   #6  
drongo is offline
drongo
Участник
 
35 / 12 (1) ++
Регистрация: 20.05.2012
Адрес: Россия, Москва
Цитата:
Сообщение от Likefire Посмотреть сообщение
В VS при вводе интеллисенс нормально "опознаёт" ввод типа исключения? Подает хинт, что тип его Microsoft.Xrm.Sdk.InvalidPluginExecutionException? Я подумал, мало ли: может в Using упоминается библиотека, в которой такой тип тоже присутствует, но если Вы говорите, что с простым Exception такая же ерунда, то тут сто процентов какой-то системный глюк. Надо смотреть EventViewer и уже по имеющимся там данным об ошибке (если таковая зарегистрирована) пробовать гуглить.

В списке параметров Target отсутствуют те параметры, значения которых не определены. Если у Вас количество явно определено, то такого конечно быть не должно.
Да, конечно, IntelliSense нормально "видит" исключение, подает хинт.

В EventViewer ничего толком не нашел, поэтому пришлось опробовать более радикальный способ (см. мое предыдушее сообщение).

При создании продукта сделки, кол-во указывал. Поэтому и удивился, что его нету в списке параметров плагина...

На данный момент проблема не возникает.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
CRM 2011, "нет места на диске" при загрузке формы продукта для возможной сделки mistah Dynamics CRM: Функционал 5 08.11.2012 01:44
CRM 4.0 Ошибка выполнения плагина probka Dynamics CRM: Разработка 18 10.08.2012 11:59
Ошибка с таблицей EmailSearchBase при работе плагина на создание Account KP0H Dynamics CRM: Разработка 8 27.02.2012 22:20
Ошибка при закрытии возможной сделки с длинным названием Why not? Dynamics CRM: Администрирование 12 02.06.2011 19:58
Ошибка создания связаной записи Talisman2005 Dynamics CRM: Администрирование 1 07.07.2008 21:15

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

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

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