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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.03.2013, 17:37   #1  
Space-06 is offline
Space-06
Участник
 
57 / 10 (1) +
Регистрация: 23.01.2013
Вопрос по возвращению данных с помощью библиотеки Xrm.ServiceToolkit
Пытаюсь на форму получить значение пиклиста.
Для примера расскажу как я это делаю. В нашей СРМ системе с помощью действия кампании создаются массово звонки. Так вот в идеале хотелось бы на саму форму звонка подтянуть данные из самой кампании. Делаю все через действия кампании, дабы на звонке можно получить значение GUID действия кампании и как следствие GUID кампании. но не могу получить значение пиклиста который находится на форме Кампании. Каким образом с помощью вышеуказанной бибилиотечки возможно получить значение пиклиста.
Старый 11.03.2013, 18:32   #2  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Используйте функцию QueryByAttribute или Fetch. На форме звонка созданного из действия вы можете получить id действия кампании. Далее через QueryByAttribute вы можете запросить id кампании для известного id действия кампании. Далее аналогичным запросом вы можете получить любое нужное поле кампании по ее идентификатору. Используя функцию
Fetch вы можете получить интересующие вас данные одним запросом.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 11.03.2013, 23:45   #3  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Возможно значение пиклиста получаются как [имя поля].Value
в CRMRestKit это так.
__________________
Мой блог https://procrm.tv
Старый 12.03.2013, 08:03   #4  
Space-06 is offline
Space-06
Участник
 
57 / 10 (1) +
Регистрация: 23.01.2013
Спасибо за советы конечно, но это чуть чуть не совсем то что мне требуется. Я так понимаю что QueryByAttribute это уже C# разработка, а я таки пытаюсь все сделать через JS.

Если возможно сделать через C# то конечный продукт будет уже плагин?

Плагин как раз решит почти все мои задачи. тут то и хотелось бы у вас проконсультироваться: Плагин необходимо будет настроить на Create событие звонка, при котором он будет получать все значения из Кампании - минуя действие кампании?
Старый 12.03.2013, 10:12   #5  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Можно. Вам необходимо создать плагин на событие PreCreate сущности звонок. проверить, что звонок связан именно с кампанией и методом Retrieve получить кампанию.

Что касается ответа Артема, то метод в Xrm.ServiceToolkit существует.
http://mmcrm.ru/?p=2004 Здесь описание на русском языке и метод, перечислен. так что можете использовать то, что Вам больше подходит.
__________________
Мой блог https://procrm.tv
Старый 12.03.2013, 11:15   #6  
Space-06 is offline
Space-06
Участник
 
57 / 10 (1) +
Регистрация: 23.01.2013
Методами Fetch и Retrive мне необходимо получить как раз таки текстовое значение выбранного пиклиста. Текстовые поля и ID из сущности получаю без проблем. Проблема с Пиклистом.

Хорошо, если не обойтись с помощью JS то как можно получить нужные значения с сущности кампания, находясь на форме Звонка. С Плагинами пока не разбирался, если вдруг подтолкнете или подскажете как реализовать, было бы здорово. С помощью SDK установил надстройку в VS 2010, и с ее помощью создаю плагин, но не разобрался с конструкцией логики работы. В Интернете много примеров создания плагинов не из надстройки. тут то и затруднения в написании. Если подскажете как и с чего начать, далее думаю разберусь сам ..
Старый 12.03.2013, 11:30   #7  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Может Вам поможет это?
http://guruprasadcrm.blogspot.ru/201...ata-using.html

http://danielcai.blogspot.ru/2011/07...r-toolkit.html
__________________
Мой блог https://procrm.tv

Последний раз редактировалось g.Naukovych; 12.03.2013 в 12:36.
Старый 12.03.2013, 15:52   #8  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Цитата:
Сообщение от Space-06 Посмотреть сообщение
Спасибо за советы конечно, но это чуть чуть не совсем то что мне требуется. Я так понимаю что QueryByAttribute это уже C# разработка, а я таки пытаюсь все сделать через JS.

Если возможно сделать через C# то конечный продукт будет уже плагин?

Плагин как раз решит почти все мои задачи. тут то и хотелось бы у вас проконсультироваться: Плагин необходимо будет настроить на Create событие звонка, при котором он будет получать все значения из Кампании - минуя действие кампании?
Я так понимаю что вы решили использовать библиотеку которую не изучили. На главной странице этого проекта на codeplex есть список функций, которые использует эта библиотека
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 13.03.2013, 08:10   #9  
Space-06 is offline
Space-06
Участник
 
57 / 10 (1) +
Регистрация: 23.01.2013
Я изучил эту библиотеку, и использую для добавления данных, для установки фильтрации лукапа и т.д.


Попробую перефразировать свой вопрос по другому:
Для того чтоб получить какое либо значение используем вот такой запрос retrievedContact = XrmServiceToolkit.Soap.Retrieve("contact", contactId, cols);
а получаем наши значения retrievedContact.attributes['middlename'].value
а что если поле middlename - набор параметров или пиклист с кучей записей.
на стандартной форме без этой библиотечки получить значение выбранного пиклиста можно Xrm.Page.data.entity.attributes.get("middlename").getText();
именно getText выводит значение. А XrmServiceToolkit.Soap.Retrieve выводит цифровое значение. я понимаю что с помощью плагина используя QueryByAttribute можно получить абсолютно любые данные. Может быть кто то сталкивался с получением как раз таки значения используя XrmServiceToolkit.Soap
Старый 13.03.2013, 13:21   #10  
Anros is offline
Anros
Участник
 
54 / 28 (1) +++
Регистрация: 01.07.2009
На форме текстовые значения для пиклистов уже есть, поэтому Вы можете их оттуда считать. Когда же вы считываете с crm другую сущность, неважно на C# или на javascript, и не важно с помощью какой библиотеки, в конечном счете вызывается метод Retrieve или RetrieveMultiple crm сервиса. А они не возвращают текстовые значения для пиклистов. Чтобы их получить нужно считать еще метаданные и в них по числу найти текст.
Чтобы считать метаданные с помощью Xrm.ServiceToolkit нужно воспользоваться методом Execute и выполнить с помощью него RetrieveEntityRequest.
Пример как составить реквест можно посмотреть тут: http://mileyja.blogspot.ru/2011/05/h...or-entity.html
Старый 14.03.2013, 09:41   #11  
Space-06 is offline
Space-06
Участник
 
57 / 10 (1) +
Регистрация: 23.01.2013
Спасибо коллеги, все получается.
Хотел на последок уточнить такую информацию:
в большинстве случаев у меня информация на форме обновляется на событии OnLoad с помощью скрипта, и необходимо перед самой работой данные на форму вытащить открывая и закрывая(с сохранением) . А возможно ли массово все эти данные таким образом обновить? Понимаю что в будущем эта задача решается плагином на событие pre Create. А в данной ситуации каким то образом возможно выполнить для массовой обработки?
Старый 15.03.2013, 13:26   #12  
Anros is offline
Anros
Участник
 
54 / 28 (1) +++
Регистрация: 01.07.2009
Нужно методом RetrieveMultiple вытащить все необходимые сущности, пройтись по ним циклом, для каждой посчитать нужные поля и сохранить изменения методом Update
Старый 15.03.2013, 18:00   #13  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Цитата:
Сообщение от Anros Посмотреть сообщение
Нужно методом RetrieveMultiple вытащить все необходимые сущности, пройтись по ним циклом, для каждой посчитать нужные поля и сохранить изменения методом Update
Для подобных целей рекомендуется использовать плагины (серверный код).
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 19.03.2013, 09:51   #14  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Цитата:
Сообщение от Anros Посмотреть сообщение
Нужно методом RetrieveMultiple вытащить все необходимые сущности, пройтись по ним циклом, для каждой посчитать нужные поля и сохранить изменения методом Update
Это может жестко стукнуть по производительности, поэтому такие процедуры настоятельно рекомендуют выполнять асинхронно на сервере.
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!
Старый 19.03.2013, 15:55   #15  
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
Цитата:
Сообщение от Anros Посмотреть сообщение
вызывается метод Retrieve или RetrieveMultiple crm сервиса. А они не возвращают текстовые значения для пиклистов. Чтобы их получить нужно считать еще метаданные и в них по числу найти текст
Неправы вы, коллега. Есть у возвращённой сущности есть коллекция FormattedValues, которая содержит текстовые значения пиклистов.

Цитата:
Сообщение от Space-06 Посмотреть сообщение
А возможно ли массово все эти данные таким образом обновить? Понимаю что в будущем эта задача решается плагином на событие pre Create. А в данной ситуации каким то образом возможно выполнить для массовой обработки?
Я бы использовал следующий тул - http://www.kingswaysoft.com/products...t-dynamics-crm.

Цитата:
Сообщение от Likefire Посмотреть сообщение
Это может жестко стукнуть по производительности, поэтому такие процедуры настоятельно рекомендуют выполнять асинхронно на сервере.
Ну и стукнет. Аж 1 раз, когда надо будет обновить данные. Собственно всё.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

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

Последний раз редактировалось a33ik; 19.03.2013 в 16:19.
За это сообщение автора поблагодарили: Anros (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Microsoft Dynamics CRM Team Blog: New Xrm.Utility Functions in Update Rollup 8 for Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online Blog bot Dynamics CRM: Blogs 0 19.07.2012 01:11
gustafwesterlund: Some interesting questions on xRM functionality Blog bot Dynamics CRM: Blogs 0 14.07.2011 04:14
Microsoft Dynamics CRM Team Blog: Whitepaper Comparing xRM Application Framework and Force.com Blog bot Dynamics CRM: Blogs 0 25.01.2011 22:11
jodonnell: If we can manage cows imagine the possibilities with Microsoft Dynamics xRM Blog bot Dynamics CRM: Blogs 1 01.08.2009 11:05
Dynamics AX: What is xRM? Blog bot Dynamics CRM: Blogs 0 31.03.2009 00:05
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:09.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.