| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Получить id объекта вызвавшего PlugIn
			 
			
			Как получить уникальный идентификатор кокретного Entity который вызвал срабатывание PlugIn-а? 
		
		
		
		
		
		
			Такой метод даст результат?: public void Execute(IPluginExecutionContext context) ............................... context.InputParameters.Properties["id"].ToString() ............................... 
				__________________ 
		
		
		
		
	Сергей Осипов, MCTS:SQL Server 2005, ООО "Программные технологии", Самара  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Должен. Но проще проверить.  
		
		
		
		
		
		
			 
		
				__________________ 
		
		
		
		
	http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]()   MS Certified Dirty Magic Professional
			 | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Согласен что проще! 
		
		
		
		
		
		
			Но админ который может меня добавить в группу деплоймент администратор будет только завтра. Не могу плагин пока зарегестрировать а сроки поджимают - пишу в слепую с оглядкой на примеры в SDK, да на помощь в форуме...  
		
				__________________ 
		
		
		
		
	Сергей Осипов, MCTS:SQL Server 2005, ООО "Программные технологии", Самара  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Некий универсальный код...
			 
			
			Некий универсальный код... 
		
		
		
		
		
		
		
	Код: _message = context.MessageName;
switch(_message)
{
    case MessageName.Create:
    case MessageName.DeliverIncoming:
        if (context.InputParameters.Contains(ParameterName.Target) && context.InputParameters[ParameterName.Target] is DynamicEntity)
        {
            DynamicEntity entity = (DynamicEntity)context.InputParameters.Properties[ParameterName.Target];
            _entityName = entity.Name.ToLower();
        }
        if (context.Stage == MessageProcessingStage.BeforeMainOperationOutsideTransaction)
        {
            // EntityId is not available in Pre-stage
        }
        else
        {
            if(context.OutputParameters.Contains(ParameterName.Id))
                _entityId = (Guid)context.OutputParameters[ParameterName.Id];
            else if (context.OutputParameters.Contains(ParameterName.EmailId))
                _entityId = (Guid)context.OutputParameters[ParameterName.EmailId];
        }
        break;
    case MessageName.Update:
        if (context.InputParameters.Contains(ParameterName.Target) && context.InputParameters[ParameterName.Target] is DynamicEntity)
        {
            DynamicEntity entity = (DynamicEntity)context.InputParameters.Properties[ParameterName.Target];
            _entityName = entity.Name.ToLower();
            _entityId = ((Key)entity.Properties[_entityName + "id"]).Value;
        }
        break;
    case MessageName.Delete:
	case MessageName.Assign:
	case MessageName.GrantAccess:
	case MessageName.Handle:
		if (context.InputParameters.Contains(ParameterName.Target) && context.InputParameters[ParameterName.Target] is Moniker)
		{
			Moniker moniker = (Moniker)context.InputParameters[ParameterName.Target];
            _entityName = moniker.Name.ToLower();
			_entityId = moniker.Id;
		}
		break;
    case MessageName.SetState:
	case MessageName.SetStateDynamicEntity:
        if (context.InputParameters.Contains(ParameterName.EntityMoniker) && context.InputParameters[ParameterName.EntityMoniker] is Moniker)
        {
            Moniker moniker = (Moniker)context.InputParameters[ParameterName.EntityMoniker];
            _entityName = moniker.Name.ToLower();
            _entityId = moniker.Id;
        }
        break;
}_entityName - имя сущности записи  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Идём сюда: 
		
		
		
		
		
		
		
	http://code.msdn.microsoft.com/crmpl...?ReleaseId=443 Скачиваем SamplePlugins.zip Вынимаем оттуда PluginHelper.cs и вставляем в свой плагин Пользуемся на здоровье методом PluginHelper.GetEntityId ![]() Я так понял, ZooY оттуда код и взял.  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Не совсем оттуда, у меня в коде есть некоторые доработки  
		
		
		
		
		
		
		
	 
		 | 
| 
	
 |