Xrm не определен в Dynamics CRM 2011 - PullRequest
4 голосов
/ 08 декабря 2011

Я не могу заставить работать мою переменную Xrm при создании кода .js. Нужно ли включать библиотеку или функцию, которую нужно запустить в первую очередь? Нужно ли мне убедиться, что на ClientGlobalContext.js.aspx ссылаются правильно? Я нахожусь в «C ++» мышлении и просто задаюсь вопросом, есть ли какая-либо команда «include», которую мне нужно выполнить.

Мой js-файл выглядит следующим образом, и если я удалю «window.parent». из 2-й функции код прерывается, если я его вызываю.

///<reference path="C:\Users\steve.lee\Downloads\XrmPage-vsdoc.js"/>

if (typeof (SDK) == "undefined") 
{ SDK = { __namespace: true }; }

SDK.XRM = {
    getCurrentControl: function () {
        var currentControl = Xrm.Page.ui.getCurrentControl();
        if (currentControl == null) {
            alert("No controls currently have focus.");
        }
        else {
            alert("The control for the '" + currentControl.getLabel() + "' attribute currently has focus.");
        }
    },

    getCurrentGUID: function () {

        if (window.parent.Xrm.Page.data.entity != null) {
            var GUIDvalue = window.parent.Xrm.Page.data.entity.getId();
            if (GUIDvalue != null) {
                return GUIDvalue;
            }
            else {
                return null;
            }
        }
        else {
            return null;
        }
    },
 __namespace: true
};

Ответы [ 2 ]

9 голосов
/ 09 декабря 2011

Ваш код работает как библиотека JavaScript, добавленная в форму, или он находится внутри веб-ресурса?

Если это последнее, вам нужен window.parent, если это веб-ресурс HTML.По мере этого вы получаете доступ к объекту Xrm в форме.В окне parent над ним.

Если это библиотека javascript, присоединенная к свойствам формы, тогда объект XRM доступен по умолчанию.

ClientGlobalContext.js.aspx используется, когда у вас есть веб-ресурс, который может не быть в контексте формы и, тем не менее, дает вам доступ к URL-адресу сервера и зарегистрированному пользователю, например.

1 голос
/ 08 декабря 2011

Переменная Xrm должна быть доступна без каких-либо включений или настроек для нормального кода JS в CRM 2011.

Основы покрыты здесь

...