Добавление компонента в решение на JS

Пример кода на JavaScript для добавления компонента в указанное решение с помощью библиотеки XrmServiceToolkit.

function addSolutionComponent(solutionName, objectId, objectType) {
    try {
        var request = [
            '<request xmlns:a="http://schemas.microsoft.com/xrm/2011/Contracts">',
            '<a:Parameters xmlns:c="http://schemas.datacontract.org/2004/07/System.Collections.Generic">',
            '<a:KeyValuePairOfstringanyType>',
            '<c:key>ComponentId</c:key>',
            '<c:value i:type="s:guid"  xmlns:s="http://schemas.microsoft.com/2003/10/Serialization/">', objectId, '</c:value>',
            '</a:KeyValuePairOfstringanyType>',
            '<a:KeyValuePairOfstringanyType>',
            '<c:key>ComponentType</c:key>',
            '<c:value i:type="d:int"  xmlns:d="http://www.w3.org/2001/XMLSchema">', objectType, '</c:value>',
            '</a:KeyValuePairOfstringanyType>',
            '<a:KeyValuePairOfstringanyType>',
            '<c:key>SolutionUniqueName</c:key>',
            '<c:value i:type="d:string"  xmlns:d="http://www.w3.org/2001/XMLSchema">' + solutionName + '</c:value>',
            '</a:KeyValuePairOfstringanyType>',
            '<a:KeyValuePairOfstringanyType>',
            '<c:key>AddRequiredComponents</c:key>',
            '<c:value i:type="d:boolean"  xmlns:d="http://www.w3.org/2001/XMLSchema">false</c:value>',
            '</a:KeyValuePairOfstringanyType>',
            '</a:Parameters>',
            '<a:RequestId i:nil="true" />' +
            '<a:RequestName>AddSolutionComponent</a:RequestName>' +
            '</request>'
        ].join('');
        top.XrmServiceToolkit.Soap.Execute(request);
        return null;
    } catch (ex) {
        return ex.message;
    }
}

solutionName — уникальное системное имя решения.

objectId — GUID компонента. Для веб-ресурсов его можно получить из сущности webresource (в которой хранятся все веб-ресурсы), для сущности — из метаданных.

objectType — числовой код компонента.

  • 1 — сущность
  • 9 — глобальный список
  • 61 — веб-ресурс
  • 29 — Workflow
  • 91 — сборка плагина или кастомного действия Workflow
  • 90 — плагин
  • 20 — роль

About the author

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

Сказать спасибо

Способ платежа:

Подписаться на обновления

Укажите свой e-mail чтобы получать уведомления о новых статьях.

Присоединиться к еще 3 подписчикам