Показать сообщение отдельно
Старый 17.07.2008, 13:45   #5  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Lightbulb Получение имени сущщности из полученного аттрибута
Предварительно в проект кидаем Web Reference на MetaDataService
(http://msdn.microsoft.com/en-us/library/cc151043.aspx)

Собственно дальше выполнение:
//создание экземпляра сервиса метаданных:

Код:
        MetaCRM.MetadataService _metaservice = null;
                    MetaCRM.CrmAuthenticationToken token = new MetaCRM.CrmAuthenticationToken();
                    token.AuthenticationType = 0;
                    token.OrganizationName = <Your Organization Name>;

                    _metaservice = new MetaCRM.MetadataService();
                    _metaservice.Url = "http://<You CRM Server>/MSCRMServices/2007/MetadataService.asmx";
                    _metaservice.CrmAuthenticationTokenValue = token;
                    _metaservice.Credentials = System.Net.CredentialCache.DefaultCredentials;
                    _metaservice.UnsafeAuthenticatedConnectionSharing = true;
//создание запроса на чтение Сущности

Код:
            MetaCRM.RetrieveEntityRequest entityRequest = new MetaCRM.RetrieveEntityRequest();
            entityRequest.RetrieveAsIfPublished = true;
//Сущность контрагента
Код:
            entityRequest.LogicalName = CRM.EntityName.account.ToString();
//Включение получени сущности и её аттрибутов
Код:
            entityRequest.EntityItems = MetaCRM.EntityItems.IncludeAttributes;
//Получение сущности
MetaCRM.RetrieveEntityResponse entityResponce =
Код:
(MetaCRM.RetrieveEntityResponse)_metaservice.Execute(entityRequest);
//для демонстрации работы дальше выполнен поиск всех лукапов и выведение
//кодов сущностей лукапов

Код:
            string LookupEntities = string.Empty;

            foreach (MetaCRM.AttributeMetadata attribut in entityResponce.EntityMetadata.Attributes)
                if (attribut is MetaCRM.LookupAttributeMetadata)
                    LookupEntities += ((MetaCRM.LookupAttributeMetadata)attribut).Targets[0] + Environment.NewLine;

            MessageBox.Show(LookupEntities);
Если чтото не заработает - не серчайте ) Первый раз юзаю Мета сервис. У меня всё заработало.