[CRM] Новые функции в Xrm.Utility появившиеся в Update Rollup 8 для Microsoft Dynamics CRM 2011

Вообще Update Rollup 8 для Microsoft Dynamics CRM вышел еще в мае, но разработчики никаким образом не заостряли внимание на изменениях в SDK. В результате мимо меня прошел тот факт, что появились JavaScript функции, недоступные ранее. И честно говоря факт их отсутствия меня порядком огорчал.

Функции были добавлены, т.к. сценарии использующие windows.open, например, из Outlook чтобы открыть форму или веб-ресурс сталкивались с тем что пользователь вынужден был повторно авторизоваться. Проблема заключалась в том что функция по сути запускала новый процесс, который не был авторизован. В обновлении были добавлены некоторые функции обертки, который во первых упростили и сделали использование таких сценариев более корректным, а во вторых исключили проблему с необходимостью повторной авторизации.

Пока что описание вызовов можно найти только на блогах разработчиков, но скоро они должны попасть в обновление SDK.

Xrm.Utility Reference

Xrm.Utility это контейнер для полезных функций, не связанных непосредственно с текущей страницей. Эти функции доступны для сценариев и для ленты (Ribbon). Для HTML веб-ресурсов, они будут доступны после подключения ClientGlobalContext.js.aspx.

Функции

Функция Описание
openEntityForm Открывает форму сущности.
openWebResource Открывает HTML веб-ресурс.

openEntityForm

Открывает форму сущности.

Xrm.Utility.openEntityForm(name,id,parameters)

Параметры

  • name (название)
    • Тип: String
    • Требует: Логическое имя сущности.
  • id
    • Тип: String
    • Опционально: Строка с уникальным идентификатором (Guid) записи, для открытия формы редактора сущности. Если оставить пустым откроется форма создания записи.
  • parameters
    • Тип: Object
    • Опционально: Объект-словарь, позволяющий передавать дополнительные параметры строки запроса. Если строка запроса будет не верна это может вызвать ошибки.Допустимые дополнительные параметры запроса:
      • Form id: Для установки идентификатора формы, когда необходимо использовать конкретную, из нескольких доступных. Параметр formid.
      • Default field ids: Устанавливает значения по умолчанию для новой записи формы. Подробнее здесь Set Field Values Using Parameters Passed to a Form.
      • Custom query string parameters: Форма может быть настроена на получение дополнительных параметров строки запроса. Подробнее здесь Configure a Form to Accept Custom Querystring Parameters.

Возвращаемое значение: Window object.

Примечание: Данная функция обесперичает наилучший способ разработки, чем простое манипалирование URL адресами через windows.open описанным здесь. Использование данной функции также позволит гарантировать отсутствие повторного окна для авторизации пользователя.

Примеры:

Открытие новой записи «Организации»

Xrm.Utility.openEntityForm("account");

Открытие существующей записи «Организации»

Xrm.Utility.openEntityForm("account","A85C0252-DF8B-E111-997C-00155D8A8410");

Открытие новой записи «Организации» с установкой значений по умолчанию и использование конкретной формы из нескольких доступных.

var parameters = {};
parameters["formid"] = "b053a39a-041a-4356-acef-ddf00182762b";
parameters["name"] = "Test";
parameters["telephone1"] = "(425) 555-1234";
Xrm.Utility.openEntityForm("account", null, parameters);

Открытие новой записки «Контакта», перемещение в верхний левый угол экрана и установка необходимого размера окна.

Примечание

Нельзя использовать методы объекта windows, такие как moveTo или resizeTo в скриптах, так как они могут быть запущены через Microsoft Dynamics CRM для Microsoft Office Outlook

var newWindow = Xrm.Utility.openEntityForm("contact");
newWindow.moveTo(0,0);
newWindow.resizeTo(800,600);

openWebResource

Открывает HTML веб-ресурс.

Xrm.Utility.openWebResource(webResourceName,webResourceData,width, height)

Параметры

  • webResourceName
    • Тип: String
    • Требует: Название HTML веб-ресурса, который необходимо открыть.
  • webResourceData
    • Тип: String
    • Опционально: Значение которые необходимо передать в параметре data.
  • width
    • Тип: Number
    • Опционально: Ширина открываемого окна в пикселях.
  • height
    • Тип: Number
    • Опционально: Высота открываемого окна в пикселях.

Возвращаемое значение: Window object.

Примечание: HTML веб-ресур может принмать параметры описанные в Passing Parameters to HTML Web Resources .Данная функция только опеспечиваем передачу значений в параметр  data. Для передачи значений других допустимых параметров необходимо добавить их к параметру webResourceName.

Примеры:

Открытие HTML веб-ресурса под названием “new_webResource.htm”:

Xrm.Utility.openWebResource("new_webResource.htm");

Открытие HTML веб-ресурса с включением одного значение в параметр data.

Xrm.Utility.openWebResource(«new_webResource.htm»,»dataItemValue»);

Открытие  HTML веб-ресурса получающего несколько значений через параметр data.

var customParameters = encodeURIComponent("first=First Value&second=Second Value&third=Third Value");
Xrm.Utility.openWebResource("new_webResource.htm",customParameters);

Примечание

Эти значения должны быть извлечены из параметра data. Подробнее здесь Sample: Pass Multiple Values to a Web Resource Through the Data Parameter.

Открытие HTML веб-ресурса с дополнительными параметрами

Xrm.Utility.openWebResource("new_webResource.htm?typename=account&userlcid=1033");

Подробнее Passing Parameters to HTML Web Resources .

Открытие веб-ресурса с указанием ширины и высоты:

Xrm.Utility.openWebResource("new_webResource.htm", null, 300,300);

 

Если Вы нашли ошибку, пожалуйcта выделите ее и нажмите Shift + E или нажмите здесь чтобы информировать меня. Спасибо.

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