| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			 
			
			Господа, подскажите пожалуйста 
		
		
		
		
		
		
		
		
			Столкнулся с такой проблемой. Есть объект звонок, при его сохранении создается объект кастомной сущности, прав на чтение и создание которой у данного пользователя не должно быть. Можно ли заставить плагин работать из под админа? В Plugin Registration Tool - выбираю в поле Run in User Context админа, но все равно не срабатывает, выдает ошибку. Подскажите, как можно это обойти ? Заранее благодарен Пробовал поступить через IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); string t = "73E3BB87-55B3-E011-9B86-00155D053B37"; - айдишник админа Guid CallUserId=Guid.Parse(t); _serviceProxy.CallerId = CallUserId; _service = serviceFactory.CreateOrganizationService(context.UserId); //(context.UserId); orgContext = new OrganizationServiceContext(_service); ITracingService trace = (ITracingService)serviceProvider.GetService(typeof(ITracingService)); Но плагин не отрабатывает вообще. object reference not set to an instance of an object Последний раз редактировалось 2rik; 05.01.2012 в 21:26.  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Да, можно запустить плагин от имени админа, вот пример работающего кода: 
		
		
		
		
		
		
		
	X++: IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); IOrganizationService serviceAdmin = serviceFactory.CreateOrganizationService(new Guid ("73E3BB87-55B3-E011-9B86-00155D053B37"));  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: 2rik (1). | |
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Спасибо, как только окажусь возле срм - попробую. 
		
		
		
		
		
		
		
	Где именно вылетает - так и не успел найти.  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от 2rik
			 
 
			Господа, подскажите пожалуйста 
		
	Столкнулся с такой проблемой. Есть объект звонок, при его сохранении создается объект кастомной сущности, прав на чтение и создание которой у данного пользователя не должно быть. Можно ли заставить плагин работать из под админа? В Plugin Registration Tool - выбираю в поле Run in User Context админа, но все равно не срабатывает, выдает ошибку. Подскажите, как можно это обойти ? Заранее благодарен Пробовал поступить через IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); string t = "73E3BB87-55B3-E011-9B86-00155D053B37"; - айдишник админа Guid CallUserId=Guid.Parse(t); _serviceProxy.CallerId = CallUserId; _service = serviceFactory.CreateOrganizationService(context.UserId); //(context.UserId); orgContext = new OrganizationServiceContext(_service); ITracingService trace = (ITracingService)serviceProvider.GetService(typeof(ITracingService)); Но плагин не отрабатывает вообще. object reference not set to an instance of an object Guid можно создавать через конструкцию Код: Guid CallUserId = new Guid("73E3BB87-55B3-E011-9B86-00155D053B37");
				__________________ 
		
		
		
		
	http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]()   MS Certified Dirty Magic Professional
			 | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Вы правы, спасибо. Действительно ошибка была в коде, а не в контексте. Все работает, благодарю
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
	
	 | 
	
		
  |