AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.07.2009, 15:43   #1  
Dark_Angel is offline
Dark_Angel
Участник
 
30 / 10 (1) +
Регистрация: 14.04.2009
Пользовательские атрибуты
Как получить доступ к пользовательскому атрибут из команды Retrieve???
Старый 30.07.2009, 16:04   #2  
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
Цитата:
Сообщение от Dark_Angel Посмотреть сообщение
Как получить доступ к пользовательскому атрибут из команды Retrieve???
Для работы с кастомными аттрибутами используйте DynamicEntity.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 30.07.2009, 16:43   #3  
Dark_Angel is offline
Dark_Angel
Участник
 
30 / 10 (1) +
Регистрация: 14.04.2009
А как правильно получить DynamicEntity?
Старый 30.07.2009, 16:56   #4  
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
Цитата:
Сообщение от Dark_Angel Посмотреть сообщение
А как правильно получить DynamicEntity?
Ну ведь всё есть в SDK или поисковиках... Неужели трудно напрячься и поискать?

Код такой:

Код:
            CrmService service = new CrmService();
            
            TargetRetrieveDynamic target = new TargetRetrieveDynamic();
            target.EntityId = Guid.NewGuid();
            target.EntityName = "Название кастомной энтити";

            RetrieveRequest request = new RetrieveRequest();
            request.ColumnSet = new AllColumns();
            request.ReturnDynamicEntities = true;
            request.Target = target;

            RetrieveResponse response = (RetrieveResponse)service.Execute(request);
            DynamicEntity result = (DynamicEntity)response.BusinessEntity;
            object propertyvalue = result["название кастомной проперти"];
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 30.07.2009, 17:08   #5  
Dark_Angel is offline
Dark_Angel
Участник
 
30 / 10 (1) +
Регистрация: 14.04.2009
Этот код я уже испробовал... вопрос в том, что я не могу к значениям полей получить доступ... могу только через Properties получить названия столбцов...
Поэтому я и написал... "как правильно получить динамическую сущность"
Как получить значение поля?
Старый 30.07.2009, 17:41   #6  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Ну надо знать тип поля и выполнить соответствующее приведение.
Вот так, например, можно получить значение lookup'а:
Код:
Guid accountId = ((Lookup)de.Properties["new_accountid"]).Value;
Старый 30.07.2009, 17:50   #7  
Dark_Angel is offline
Dark_Angel
Участник
 
30 / 10 (1) +
Регистрация: 14.04.2009
Дело не в приведении типа... entity.Properties не понимает индексов....
Короче...entity.Properties содержит только свойство Name - название столбца...
Когда пытаюсь записать вместо индекса название поле, то ошибка преобразования...
Старый 30.07.2009, 18:10   #8  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Ну покажите Ваш кусок кода.
Старый 30.07.2009, 18:14   #9  
Dark_Angel is offline
Dark_Angel
Участник
 
30 / 10 (1) +
Регистрация: 14.04.2009
TargetRetrieveDynamic target = new TargetRetrieveDynamic();
RetrieveRequest retrieveRequest = new RetrieveRequest();
RetrieveResponse retrieveResponse = null;
DynamicEntity entity = null;

Guid appointmentGuid = new Guid("A970380F-F07C-DE11-9838-00E0812D4948");

target.EntityName = "appointment";

target.EntityId = appointmentGuid;


//initialize request parameters
retrieveRequest.ColumnSet = new AllColumns();
retrieveRequest.ReturnDynamicEntities = true;
retrieveRequest.Target = target;
//build the response object
retrieveResponse = (RetrieveResponse)service.Execute(retrieveRequest);


//retrieve the service order item from the response
entity = (DynamicEntity)retrieveResponse.BusinessEntity;
foreach(Property p in entity.Properties)
{
Console.WriteLine(p.name);
}
Старый 30.07.2009, 19:57   #10  
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
А Вы уверены, что в той сущности, которую Вы пытаетесь таким образом зачитать - поля заполнены? Потому как если поле не заполнено - оно не возвращается в коллекции Properties...
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Теги
c#, custom entity, retrieve

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Пользовательские кнопки на панели инструментов tatra Dynamics CRM: Разработка 2 05.06.2008 17:54
Новые атрибуты с объектах Faina Dynamics CRM: Разработка 1 19.06.2006 10:42

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:52.