29.07.2009, 17:00 | #1 |
Участник
|
Статус экземпляров сущностей
Задача следующая: Необходимо при изменении статуса действия (встречи) на значение "закрыто" выполнить некоторые проверки... , в зависимости от проверки необходимо отменить изменение статуса...
Как в плагине получить статус экземпляра сущности? |
|
29.07.2009, 17:05 | #2 |
Чайный пьяница
|
Для этого необходимо написать плагин, который будет обрабатывать сообщение SetState и SetDynamicState. Тот статус на который будет изменен текущий статус записи приходит в контексте плагина.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
29.07.2009, 17:24 | #3 |
Участник
|
Это ясно... как получить статус из контекста... хотелось бы пример кода...
|
|
29.07.2009, 17:44 | #4 |
Чайный пьяница
|
Цитата:
State из контекста можно получить при помощи такого кода - context.InputParameters["state"] - string Status - context.InputParameters["status"] - int
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
29.07.2009, 18:20 | #5 |
Участник
|
Пишу в плагине
int status = (int)context.InputParameters["status"]; throw new InvalidPluginExecutionException(status.ToString()); При выполнении возникает ошибка The given key was not present in the dictionary. |
|
29.07.2009, 18:22 | #6 |
Чайный пьяница
|
На какое из сообщений Вы регистрируете шаг?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
29.07.2009, 18:38 | #7 |
Участник
|
На Update
|
|
29.07.2009, 18:44 | #8 |
Чайный пьяница
|
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
29.07.2009, 18:51 | #9 |
Участник
|
Та же ошибка...
|
|
29.07.2009, 18:57 | #10 |
Чайный пьяница
|
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
30.07.2009, 11:35 | #11 |
Участник
|
Ок... разобрался...
Только не могу понять почему в результате выполнения инструкции throw new InvalidPluginExecutionException у меня вылезает окно с подробной информацией об ошибке, вместо обычного сообщения... В чем дело? И еще... а как полям текущей записи обратиться? DynamicEntity target = (DynamicEntity)context.InputParameters[ParameterName.Target]; выдает ошибку, которую я уже писал.... Последний раз редактировалось Dark_Angel; 30.07.2009 в 11:41. |
|
30.07.2009, 11:56 | #12 |
Чайный пьяница
|
Цитата:
Сообщение от Dark_Angel
Ок... разобрался...
Только не могу понять почему в результате выполнения инструкции throw new InvalidPluginExecutionException у меня вылезает окно с подробной информацией об ошибке, вместо обычного сообщения... В чем дело? И еще... а как полям текущей записи обратиться? DynamicEntity target = (DynamicEntity)context.InputParameters[ParameterName.Target]; выдает ошибку, которую я уже писал.... По поводу самих полей - тут 2 пути. 1 - зарегистрировать Image (но с этим я не экспериментировал, просто предположил, что возможно). 2 - имея идентификатор сущности, который есть в контексте - вычитать саму сущность.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
30.07.2009, 13:20 | #13 |
Участник
|
Отлдачик не работает... Когда я регистрирую плагин на диске... то при срабатывании он не может найти сборку... Я проверил путь по которому он ищет... все ок...
По ссылке, которую ты мне давал на отладку, там вообще про это ничего не сказано... |
|
30.07.2009, 13:24 | #14 |
Чайный пьяница
|
Цитата:
2. В какой каталог Вы копируете сборку и pdb файл для отладки?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
30.07.2009, 13:30 | #15 |
Участник
|
C:\Program Files\Microsoft Dynamics CRM\Server\bin\assembly
|
|
30.07.2009, 13:44 | #16 |
Чайный пьяница
|
Да. Это правильно.
Можете показать скришот, каким образом регистриуется сборка на сервере?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
30.07.2009, 13:48 | #17 |
Участник
|
Было бы замечательно... почта darkangel.box@mail.ru
|
|
30.07.2009, 14:15 | #18 |
Чайный пьяница
|
Цитата:
Сообщение от Dark_Angel
Было бы замечательно... почта darkangel.box@mail.ru
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
30.07.2009, 14:33 | #19 |
Участник
|
Вообщем разобрался я с отладкой... не работало из-за того, что я к другому процессу конектился... у меня было 5 процессов w3wp
А как сообщение нормальное выдать пользователю? Последний раз редактировалось Dark_Angel; 30.07.2009 в 15:12. |
|
30.07.2009, 16:24 | #20 |
Консультант-джедай
|
Извините, что вмешиваюсь, а разве Ваша задача не решается бизнес-процессами?
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|