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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.09.2011, 00:32   #1  
Gennadi is offline
Gennadi
Участник
 
31 / 11 (1) +
Регистрация: 01.04.2009
CRM 2011. Вопрос. Обновление значений полей связанных объектов
Здравствуйте!
Подскажите, пожалуйста, кто знает.
Есть задача с помощью Javascript обновить значения полей связанных объектов (пользовательских).
Скажем на форме основного объекта, например, Счета, есть поле с числовым значением.
Есть связанный объект, например, Оплата (1:N).
Надо во всех связанных с данным счетом Оплатах обновить какое-либо поле, например, умножить его значение на значение из счета.
Запускаться скрипт будет из счета.

Использовать плагины нельзя.
Как это сделать с помощью бизнес-процессов известно, но есть минусы, хотелось с помощью javascript.

Спасибо!
Старый 04.09.2011, 00:57   #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
Здравствуйте.

Вычитайте дочерние записи и обновите их используя примеры, которые предоставлены следующей ссылкой - http://technet.microsoft.com/en-us/l.../gg309549.aspx
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 05.09.2011, 14:26   #3  
Gennadi is offline
Gennadi
Участник
 
31 / 11 (1) +
Регистрация: 01.04.2009
Спасибо за ответ!
Вычитал все значения. Количество (json.results.length) показывает правильное, но обновить удается только одно, т.е. цикл не отрабатывает больше одного раза.

Вот код цикла:
for (var i = 0; i < json.results.length; i++)
{
alert (i);

var json = json.results[i];

var n = Xrm.Page.getAttribute("new_n").getValue();
var ta = json.new_ta;

var changes = new Object();
changes.new_f1 = ta * n;
alert (json.new_fId);
updateF(json.new_fId, changes);

}

Функция обновления:
function updateF(id, fObject)
{ //Parse the entity object into JSON
var jsonEntity = window.JSON.stringify(fObject);
//Asynchronous AJAX function to Update a CRM record using OData
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8", datatype: "json", data: jsonEntity, url: Xrm.Page.context.getServerUrl() + "/XRMServices/2011/OrganizationData.svc/new_fSet(guid'" + id + "')", beforeSend:
function (XMLHttpRequest)
{ //Specifying this header ensures that the results will be returned as JSON.
XMLHttpRequest.setRequestHeader("Accept", "application/json");

//Specify the HTTP method MERGE to update just the changes you are submitting.
XMLHttpRequest.setRequestHeader("X-HTTP-Method", "MERGE");
}
});
}

Подскажите, пожалуйста, в чем может быть проблема.

Спасибо!
Старый 05.09.2011, 14:34   #4  
KP0H is offline
KP0H
Участник
 
41 / 11 (1) +
Регистрация: 11.08.2011
Адрес: Тюмень
А всего параметров случаем не 2?
Старый 05.09.2011, 14:36   #5  
Gennadi is offline
Gennadi
Участник
 
31 / 11 (1) +
Регистрация: 01.04.2009
Не очень понял вопрос.
Вы спрашиваете про количество возвращенных строк? Их, например, 4.
Или не про них?
Старый 05.09.2011, 15:10   #6  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от Gennadi Посмотреть сообщение
var json = json.results[i];
Вы переопределяете здесь Вашу глобальную переменную.
Поэтому у Вас цикл и бежит один раз.
Попробуйте использовать другое имя.
__________________
Читайте SDK!!!
Старый 05.09.2011, 15:25   #7  
Gennadi is offline
Gennadi
Участник
 
31 / 11 (1) +
Регистрация: 01.04.2009
Н-да ...
Спасибо!
Помогло-
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
CRM DE LA CREME! CRM 4.0 Disaster Recovery Blog bot Dynamics CRM: Blogs 2 26.02.2016 08:23
Leon's CRM Musings: Review of the Latest Dynamics CRM Statement of Direction (May 2011) Blog bot Dynamics CRM: Blogs 0 22.05.2011 04:13
ukcrm: CRM 4.0 Client Upgrade To CRM 2011 Blog bot Dynamics CRM: Blogs 0 23.04.2011 07:11
Microsoft Dynamics CRM Team Blog: Testing your Microsoft Dynamics CRM 2011 Apps Blog bot Dynamics CRM: Blogs 0 01.12.2010 03:14
Microsoft Dynamics CRM Team Blog: Building Rich-Client Dashboards for Microsoft Dynamics CRM with Windows Presentation Foundation Blog bot Dynamics CRM: Blogs 1 31.03.2009 13:24
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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