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

related-record-crm

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;
}
}
}

Сохраняем, публикуем и любуемся результатом :)

related-account-task

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