Один из самых популярный вопросов в разработке под MS CRM – как использовать javascript в формах CRM. В теории, все уже описано в документации SDK и озвучено в профильных группах, форумах и блогах множество раз (Список полезных ресурсов по Microsoft Dynamics CRM) . Хотел бы привести небольшую подборку советов по этому вопросу.

Для того чтобы начать с клиент-серверного программирования для Microsoft dynamics CRM, необходимо разбираться в следующих технологиях:


1. JavaScript - это язык программирования, который используется для написания выших скриптов. В терминологии Microsoft называет JScript и документация доступна здесь Windows Script 5.6 Documentation.
2. Dynamic HTML. Полное представление доступно здесь: HTML and DHTML Reference (Internet Explorer — DHTML). И поиск с ключевым словом DHTML никто не отменял ;)
3. CRM SDK. Содержит множество полезной информации в разделе «Client programming Guide/Client Side Scripting». Там можно найти множество ответов.

Подойдем к изменению форм для Microsoft Dynamics CRM.

Существует три типа события, которые можно запрограммировать:
1. OnLoad: вызывается сразу после того, как форма была загружена и показана пользователю. Получить доступ к этому событию можно через «Свойства формы» при изменении объектов-сущностей.

2. OnSave: вызывается перед тем как форма была сохранена на сервере. В этом событии можно отменить сохранение. OnSave так же доступна через «Свойства формы».

3. OnChange: вызывается, когда вы изменили поле и убрали фокус ввода с него. Это свойство доступно для каждого поля формы. При разработке формы дважды щелкните на поле и выберите вкладку «События».

Пример «Hello World»

Рассмотрим как работают все три события, описанные выше. Выберите для изменения стандартную сущность Account и откройте основную форму для редактирования. Введите следующую строку кода в событие OnLoad: alert(«OnLoad»);
Это в событие OnSave: alert(«OnSave»);
Дважды щелкните на любом поле формы, например название, и введите эту строку в событие OnChange: alert(«OnChange»);
Во всех трех событиях отметьте чекбокс вверху для активации каждого события. Нажмите на кнопку «Предварительный просмотр» в главном меню и выберите «Создать форму». Вы увидете OnLoad-сообщение после того, как была показана форма. Попробуйте напечатать что-нибудь в поле, на которое вы повесили событие OnChange и смените фокус ввода. Вы увидите OnChange-сообщение. Чтобы увидеть сообщение OnSave нажмите «Имитировать сохранение формы».

В следующий раз попробуем понять структуру форм CRM.

Пару примеров использования javascript-кода в клиент-серверном программировании для Microsoft Dynamics CRM

  1. Работа с JavaScript в MS CRM 3.0
  2. Работа с JavaScript в MS CRM 3.0. Часть 2
  3. Через javascript можно даже обратиться к веб-службам MS CRM: Работа с веб-сервисами через javascript в MS CRM 3.0