|
![]() |
#1 |
Moderator
|
Цитата:
Сообщение от Space-06
![]() Спасибо за советы конечно, но это чуть чуть не совсем то что мне требуется. Я так понимаю что QueryByAttribute это уже C# разработка, а я таки пытаюсь все сделать через JS.
Если возможно сделать через C# то конечный продукт будет уже плагин? Плагин как раз решит почти все мои задачи. ![]()
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() ![]() |
|
![]() |
#2 |
Участник
|
Я изучил эту библиотеку, и использую для добавления данных, для установки фильтрации лукапа и т.д.
Попробую перефразировать свой вопрос по другому: Для того чтоб получить какое либо значение используем вот такой запрос 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 |
|
![]() |
#3 |
Участник
|
На форме текстовые значения для пиклистов уже есть, поэтому Вы можете их оттуда считать. Когда же вы считываете с crm другую сущность, неважно на C# или на javascript, и не важно с помощью какой библиотеки, в конечном счете вызывается метод Retrieve или RetrieveMultiple crm сервиса. А они не возвращают текстовые значения для пиклистов. Чтобы их получить нужно считать еще метаданные и в них по числу найти текст.
Чтобы считать метаданные с помощью Xrm.ServiceToolkit нужно воспользоваться методом Execute и выполнить с помощью него RetrieveEntityRequest. Пример как составить реквест можно посмотреть тут: http://mileyja.blogspot.ru/2011/05/h...or-entity.html |
|
![]() |
#4 |
Участник
|
Спасибо коллеги, все получается.
Хотел на последок уточнить такую информацию: в большинстве случаев у меня информация на форме обновляется на событии OnLoad с помощью скрипта, и необходимо перед самой работой данные на форму вытащить открывая и закрывая(с сохранением) . А возможно ли массово все эти данные таким образом обновить? Понимаю что в будущем эта задача решается плагином на событие pre Create. А в данной ситуации каким то образом возможно выполнить для массовой обработки? |
|
![]() |
#5 |
Участник
|
Нужно методом RetrieveMultiple вытащить все необходимые сущности, пройтись по ним циклом, для каждой посчитать нужные поля и сохранить изменения методом Update
|
|
![]() |
#6 |
Moderator
|
Для подобных целей рекомендуется использовать плагины (серверный код).
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() ![]() |
|
![]() |
#7 |
Заноза в заднице
|
Это может жестко стукнуть по производительности, поэтому такие процедуры настоятельно рекомендуют выполнять асинхронно на сервере.
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков! |
|
![]() |
#8 |
Чайный пьяница
|
Цитата:
Цитата:
Ну и стукнет. Аж 1 раз, когда надо будет обновить данные. Собственно всё.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit Последний раз редактировалось a33ik; 19.03.2013 в 16:19. |
|
|
За это сообщение автора поблагодарили: Anros (1). |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|