30.07.2009, 15:43 | #1 |
Участник
|
Пользовательские атрибуты
Как получить доступ к пользовательскому атрибут из команды Retrieve???
|
|
30.07.2009, 16:04 | #2 |
Чайный пьяница
|
Цитата:
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
30.07.2009, 16:43 | #3 |
Участник
|
А как правильно получить DynamicEntity?
|
|
30.07.2009, 16:56 | #4 |
Чайный пьяница
|
Ну ведь всё есть в 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 |
Участник
|
Этот код я уже испробовал... вопрос в том, что я не могу к значениям полей получить доступ... могу только через Properties получить названия столбцов...
Поэтому я и написал... "как правильно получить динамическую сущность" Как получить значение поля? |
|
30.07.2009, 17:41 | #6 |
Участник
|
Ну надо знать тип поля и выполнить соответствующее приведение.
Вот так, например, можно получить значение lookup'а: Код: Guid accountId = ((Lookup)de.Properties["new_accountid"]).Value; |
|
30.07.2009, 17:50 | #7 |
Участник
|
Дело не в приведении типа... entity.Properties не понимает индексов....
Короче...entity.Properties содержит только свойство Name - название столбца... Когда пытаюсь записать вместо индекса название поле, то ошибка преобразования... |
|
30.07.2009, 18:10 | #8 |
Участник
|
Ну покажите Ваш кусок кода.
|
|
30.07.2009, 18:14 | #9 |
Участник
|
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 |
Чайный пьяница
|
А Вы уверены, что в той сущности, которую Вы пытаетесь таким образом зачитать - поля заполнены? Потому как если поле не заполнено - оно не возвращается в коллекции Properties...
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
Теги |
c#, custom entity, retrieve |
|
Похожие темы | ||||
Тема | Ответов | |||
Пользовательские кнопки на панели инструментов | 2 | |||
Новые атрибуты с объектах | 1 |
|