Когда запись Microsoft Dynamics CRM открыта в отношении к какой-то записи, можно получить доступ к ней используя window.opener. Это также работает когда страница открыта по нажатию на кнопку, созданную через isv.config на таскбаре родительской записи.

Task открыта через панель переходов сущности Account
Рассмотрим такой пример. Создаем Организацию (сущность Account) с именем Account1. В области переходов этой Организации выбираем Действия (Activities) и создаем новую Задачу (Task). При этом в поле В отношении (Regarding) этой Задачи пропишется автоматически Организация Account1.
Напишем код, который будет автоматически при создании Задачи из Организации подставлять в поле Тема (subject) сущности Задача текст: «Задача создана для Организации » + имя_Организации. То есть у нас это будет: «Задача создана для Организации Account1″.
Код события OnLoad сущности Задача (Task):
// Проверяем, если задача только что создана. Работает только в этом случае
if (crmForm.FormType == 1)
{
// Проверяем для подтверждения,что window.opener есть
if (window.opener)
{
// Получаем значения от родительской формы
var oParentCrmForm = window.opener.document.all.crmForm;
//проверяем, получены ли значение от родительской формы
// и что родительская форма-Организация(account)
if (oParentCrmForm && oParentCrmForm.ObjectTypeCode == 1)
{
// получаем Название Организации
var sAccountName = oParentCrmForm.all.name.DataValue;// Вписываем в поле subject Задачи
crmForm.all.subject.DataValue = «Задача создана для Организации » + sAccountName;
}
}
}
Сохраняем, публикуем и любуемся результатом

Task создана через панель переходов сущности Account

02.11.2009 в 12:18
Доброго времени суток!
Столкнулся с проблемой:
alert(window.opener.document.all.crmForm); — возвращает undefined
Разница с описаным выше примером в том, что вместо account использую кастомную сущность.. В чем может быть проблема?
Стоит MS CRM 4.0 с Rollup 7
02.11.2009 в 12:34
Привет. Мне трудно определить, в чем у вас проблема.
Я так понял, что вам необходимо получить значение определенного поля. Воспользуйтесь методом Retrieve: http://ms-dynamics-crm.com.ua/2009/03/28/retrieve-in-javascript-ms-crm4/ и http://ms-dynamics-crm.com.ua/2009/07/21/ms-crm-4-javascript-web-service-helper-object/
02.11.2009 в 13:23
Вы меня поняли правильно!
Проблема в том, что я не могу получить значения window.opener при создании связанного объекта..
Спасибо за оперативный ответ, через Retrieve все работает.
03.11.2009 в 15:15
Пожалуйста
Этот пример показывает возможности работы с системой с помощью обычного JavaScript. Советую скачать новую версию SDK для MS CRM 4.0 http://ms-dynamics-crm.com.ua/2009/11/03/sdk-4-0-10-for-ms-crm-4/