Xrm.Page.context и функция GetGlobalContext

Продолжаю обзор SDK поставки Microsoft Dynamics CRM 2011 beta.

Объект Xrm.Page.context предоставляет доступ к текущему контексту страницы. С помощью него можно получить информацию об организации и текущем пользователе. Xrm.Page.context предоставляет доступ к следующим функциям:

  • getAuthenticationHeader - возвращает закодированное значение SOAP-заголовка необходимого для вызова Web-сервиса (формата CRM 4.0) из скрипта;
  • getOrgLcid - возвращает LCID - идентификатор культуры (локаль) текущей организации;
  • getOrgUniqueName - возвращает уникальное имя текущей организации;
  • getQueryStringParameters - возвращает массив GET-параметров текущего вызова;
  • getServerUrl - возвращает базовый URL CRM (при использовании офлайн с клиентом Outlook для CRM возвращает ссылку на локальный сервис);
  • getUserId - возвращает GUID текущего пользователя (отличная замена WhoAmI-запросам);
  • getUserLcid - возвращает LCID - идентификатор культуры (локаль) текущего пользователя;
  • getUserRoles - возвращает массив идентификаторов (GUID) ролей текущего пользователя.

Но что делать, если вы хотите использовать эти чрезвычайно полезные функции в клиентском коде своих приложений а не с форм CRM? Для этого достаточно подключить скрипт с функцией GetGlobalContext как описано ниже:

<head>
    <title>HTML Web Resource</title>
    <script src="../ClientGlobalContext.js.aspx"></script>
    <script src="Scripts/jquery1.4.1.min.js" type="text/javascript"></script>
    <script src="Scripts/ContosoScript.js" type="text/javascript"></script>
    <link href="Styles/ContosoStyles.css" rel="stylesheet" type="text/css" />
</head>

Затем вы можете использовать функции контекста в скрипте, например, чтобы получить путь к адресу REST-службы:

var serverUrl;
var ODataPath;

$(function ()
{
	var context = GetGlobalContext();
	serverUrl = context.getServerUrl();
	ODataPath = serverUrl + "/XRMServices/2011/OrganizationData.svc";
});
Русский
field_vote: 
2.962965
Average: 3 (27 votes)

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