|
03.09.2008, 09:54 | #1 |
Участник
|
Имя сущности по коду
Подскажите пожалуйста как в CRM 4 получить имя сущности зная ее Type Code?
|
|
03.09.2008, 13:02 | #2 |
Участник
|
В клиентском или серверном коде?
|
|
03.09.2008, 18:41 | #3 |
Участник
|
Ах да, забыл сказать... В серверном коде.
Последний раз редактировалось ZooY; 03.09.2008 в 21:49. |
|
04.09.2008, 11:52 | #4 |
Moderator
|
Если не надо делать этого динамически вы вполне можете обратиться к SDK чтобы узнать имя сущности по коду и жестко это закодировать. Если вам нужен универсальный код, то придется изучить CRM Metadata Service и как с ним работать.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
04.09.2008, 14:24 | #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; } |
|
|
|