Утилитки
13
Июл
1

MS CRM и IntelliSense

IntelliSense — технология автодополнения Microsoft (наиболее известная в Visual Studio). Дописывает название объектов, методов и функции при вводе их начальных букв. Рассмотрим пару приемов, с помщью которых, Вы сможете облегчить себе работу по разработке некоторых частей MS CRM…

JavaScript

Для хранения javascript-кода формы MS CRM Вы можете использовать помимо самой формы (т.е. различных еесобытий) использовать внешние js-файлы. А при загрузке (или при каком либо другом событии) динамически их подгружать. Например так:

var url = "'/ISV/" + ORG_UNIQUE_NAME + "/javascripts/" + crmForm.ObjectTypeName + ".js'";
script = document.createElement("<script src=" + url + " language='JavaScript'>");
h = document.getElementsByTagName("head");
h[0].insertAdjacentElement("beforeEnd", script);

З.Ы. В инете Вы сможете найти еще кучу других способов «подцепить» JS файлы к форме CRM.

Способ не поддерживаемый (по крайней мере тот, что приведен выше), но дает некоторые преимущества при разработке. Обычно наполнение таких JS-файлов происходит в Visual Studio. А следовательно Вы можете использовать javascript intellisense при написании кода. Но т.к. Visual Studio ничего не знает о MS CRM, Вы не сможете воспользоваться объектами, функциями и методами CRM (только стандартными javascript’овыми).

Решить эту маленькую проблему Вам поможет MS CRM Javascript Intellisense Generator. Этот инструмент генерирует файлы, которые будучи подключенными к VS, расширят стандартные возможность intellisense для работы с MS CRM. Рассмотрим как это работает:

  • Скачайте и запустите MS CRM Javascript Intellisense Generator;
  • Введите параметры подключения к Вашему CRM серверу и выберите нужную организацию из списка;
  • Нажмите Save чтобы сохранить выходную информацию. В результате (по указанному пути) будет создана папка intellisense с js-файлами – по одному для каждого объекта;
  • Создайте новый пустой ASP.NET сайт;
  • Создайте в нем новую папку с именем «intellisense»;
  • Подсоедините в эту папку js-файл созданные программой MS CRM Javascript Intellisense Generator (какой-нибудь конкретный или все, если нужно);
  • Добавьте в проект новый js-файл;
  • Поместите в него ссылку на какой-либо файл из папки intellisense – просто в начале кода пропишите такую строчку:
  • Готово (в некоторых случаях Вам потребуется закрыть проект и повтороно его открыть, чтобы intellisense корректно подгрузились).




SiteMap и ISV.Config

Теперь активируем IntelliSense для SiteMap’а и ISV.Config’а:

  • Скачайте и установите последнюю версию MS CRM SDK (если у Вас ее еще нет 🙂 );
  • Откройте xml файл кастомизации (в котором находится либо SiteMap, либо ISV.Config) в Visual Studio;
  • Нажмите F4, чтобы открылась панель свойств. Щелкните по копочке с троеточием справа от пункта Schemas;
  • В открывшемся диалоговом окне добавьте ссылки на следующие файлы:
    • <CRMSDK>\server\schemas\_root\SiteMapType.xsd
    • <CRMSDK>\server\schemas\_resources\customizations.xsd
    • <CRMSDK>\server\schemas\_resources\isv.config.xsd
  • Теперь, когда Вы начинаете редактировать свой файл, Вы будете видеть IntelliSense для своих узлов, и любые уродливые узлы будут выдвинуты на первый план.



Комментарии (1)
  • Andrey 13.07.2010

    Огромное спасибо, очень пригодилось

*

code