|  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 | 
| Консультант-джедай | 
			
			Извините, что вмешиваюсь, а разве Ваша задача не решается бизнес-процессами?
		 
				__________________ Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать!  Блога | 
|  |