Допустим Вы написали проект, который берет что-то (например, ObjectId )из формы CRM, а дальше вытаскивает нужные поля из базы или создает какой-то объект,не суть важно. Остановимся на таком примере:
Есть объект сущности Обращение. По нажатию на кнопку «Получить и вернуть» будет вызываться aspx-страница, которая получит GUID текущего Обращения, найдет всю Электронную почту, у которой «В отношении» прописано данное Обращение и вернет в поле «new_Email» сущности ОБращение GUID первой найденной Электронной почты.
Описывать как делать проект и как получать GUID электронной почты я пока что не буду, остановлюсь на том, как вернуть этот самый GUID в crm форму.

Кнопка "Получить и вернуть" и поле new_email
В конце кода в aspx-странице допишите эту строчку:
Response.Output.Write(«<body><script>window.returnValue=’» + Guid_email + «‘; window.close();</script></body>»);
Тут переменная Guid_email содержит GUID найденной Электронной почты (В моем случае он такой : 3084f505-dd01-de11-bc53-000c29f1b2cb ).Выполнение этой строки обеспечит нам возврат значения и закроет aspx-страницу.
Теперь как словить это значение в форме CRM?
В событии OnLoad формы Обращения прописываем следующий код:
window.doEmail=function()
{eGuid=window.showModalDialog («/AspxToCrm?oId=»+crmForm.ObjectId);
crmForm.all.new_email.DataValue=eGuid;
}
Тут вызывается моя aspx-страница (лежит в вирт каталоге AspxToCrm). При вызове она принимает GUID текущего обращения. Кстати, на всякий случай, принять GUID мы можем так:
string sId = Request.QueryString["oId"];
В файле isv.config.xml нужно обработать событие при нажатии на кнопку «Получить и вернуть». Тут вызывается функция из кода в OnLoad‘е:
<Entity name=»incident»>
<ToolBar ValidForCreate=»0″ ValidForUpdate=»1″>
<Button Icon=»/_imgs/ico_18_debug.gif» JavaScript=»window.doEmail();» PassParams=»1″ WinParams=»" WinMode=»0″>
<Titles>
<Title LCID=»1049″ Text=»Получить и вернуть» />
</Titles>
<ToolTips>
<ToolTip LCID=»1049″ Text=»Получить и вернуть» />
</ToolTips>
</Button>
</ToolBar>
</Entity>
Ну а теперь сохраняем, публикуем и смотрим на результат

Кнопка "Получить и вернуть" и поле new_email
Опять-таки, можно проще это сделать, чтобы страница вообще не открывалась, но при этом код срабатывал, но там уже надо юзать xml

01.12.2009 в 15:30
А можно ли в событии «звонок», при добавлении «контакта/организации» (которому напрявляется звонок), в поле «телефон» автоматически подставлялось бы значение «основной телефон» из карточки «контакта/организации»
01.12.2009 в 17:06
Конечно можно!
посмотрите эти статьи
1) http://ms-dynamics-crm.com.ua/2009/07/21/ms-crm-4-javascript-web-service-helper-object/
2) http://ms-dynamics-crm.com.ua/2009/03/28/retrieve-in-javascript-ms-crm4/