MS CRM ScriptXtractor

Русский

Утилит для извлечения клиентских скриптов из файла кастомизации Microsoft Dynamics CRM существует несколько: одни являются надстройками над MS Word, другие - обычными Windows-приложениями.

На самом деле, задача эта не простая, а очень простая - файл кастомизации представляет собой XML-документ (схема и описание появились в SDK последних версий).

А где XML, там и XSLT : )

Извлекать скрипты будем динамически верстая HTML-таблицу с навигацией. И чтобы применить трансформацию к нашей кастомизации достаточно нескольких строк на javascript.

{syntaxhighlighter brush: js}
function LoadXml()
{
/* получаем путь к выбранному файлу кастомизации */
var customizationFile = document.getElementById("file");

/* в элемент DIV отобразим результат */
var result = document.getElementById("result");

/* загружаем таблицу стилей - наш XSL */
var xsl = new ActiveXObject("MSXML.DOMDocument");
xsl.load("ScriptXtractor.xsl");

/* загружаем XML с кастомизацией из выбранного файла */
var xmlCustomization = new ActiveXObject("MSXML.DOMDocument");
xmlCustomization.load(customizationFile.value);

/* тут-то и происходит трансформация */
var str = xmlCustomization.transformNode(xsl);

/* эскейпим символы для корректного отображения */
str = str.replace(/</g, "<").replace(/>/g, ">").replace(/&/g, "&");

result.innerHTML = str;
}
{/syntaxhighlighter}

Содержимое XSL-файла полностью не привожу, он есть в архиве и никакой сложности для понимания не представляет. Остановлюсь лишь на двух основных вещах: формировании выпадающего списка с перечнем сущностей и вёрсткой таблицы.

{syntaxhighlighter brush: xml}

{/syntaxhighlighter}

Думаю, основная идея XSL-преобразования понятна. Далее проходим по каждой сущности и формируем таблицу со скриптами: сначала получаем скрипты формы (события OnLoad/OnSave), затем для каждого поля.

{syntaxhighlighter brush: xml}


Form event:
						
						

...



{/syntaxhighlighter}

 

Cкрипты не извлекаются из файла в прямом смысле слова, просто исходную кастомизацию преобразуем (трансформируем) в таблицу.

Microsoft Dynamics CRM ScriptXtractor

Скачать утилиту со всеми приведёнными в статье кодами можно по ссылке снизу.

Прикрепленный файлРазмер
Package icon MSCRMScriptXtractor.zip3.01 KB
field_vote: 
3
Average: 2.9 (27 votes)

Добавить комментарий