| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			 
			
			Подскажите пожалуйста как в CRM 4 получить имя сущности зная ее Type Code?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			В клиентском или серверном коде?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ах да, забыл сказать... В серверном коде.
		 
		
		
		
		
		
		
		
		
			Последний раз редактировалось ZooY; 03.09.2008 в 21:49.  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Если не надо делать этого динамически вы вполне можете обратиться к SDK чтобы узнать имя сущности по коду и жестко это закодировать. Если вам нужен универсальный код, то придется изучить CRM Metadata Service и как с ним работать.
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]()   MS Certified Dirty Magic Professional
			 | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			посмотрев в SDK статью по RetrieveAllEntities, можно состряпать такой вот метод: 
		
		
		
		
		
		
		
	Код:  
private string GetEntityName(int EntityTypeCode)
{
            // Create an authentication token.
            CrmAuthenticationToken token = new CrmAuthenticationToken();
            token.OrganizationName = "AdventureWorksCycle";
 
            // You can use enums.cs from the SDK\Helpers folder to get the enumeration for AD Authentication.
            token.AuthenticationType = 0;
 
            // Create the metadata Web service;
            MetadataService service = new MetadataService();
            service.Url = "http://<servername>:<port>/MSCRMServices/2007/MetadataService.asmx";
            service.CrmAuthenticationTokenValue = token;
            service.Credentials = System.Net.CredentialCache.DefaultCredentials;
            service.PreAuthenticate = true;
 
            // Create the request
            RetrieveAllEntitiesRequest allEntitiesRequest = new RetrieveAllEntitiesRequest();
            allEntitiesRequest.RetrieveAsIfPublished = true;
            allEntitiesRequest.MetadataItems = MetadataItems.EntitiesOnly;
            // Execute the request
            RetrieveAllEntitiesResponse allEntitiesResponse = (RetrieveAllEntitiesResponse)service.Execute(allEntitiesRequest);
            // Iterate through the retrieved entities
            foreach (EntityMetadata entity in allEntitiesResponse.CrmMetadata)
            {
                if (entity.ObjectTypeCode.Value == EntityTypeCode)
                {
                    return entity.LogicalName;
                }
            }
            return String.Empty;
} | 
| 
	
 | 
| 
	
	 | 
	
		
  |