Привет всем!
Спустя какое-то время и после помощи хороших людей, я как бы чуть понял. Но поскольку у меня есть вопрос, значит не все понял.
И так. Использую библиотеки (XrmSvcToolkit и Json2) и загрузил решение Odata Query designer
Создал сущность -
agl_test. В ней 2 лукапа (на клиент -
agl_clientid) и (на контакт -
agl_contactid).
Задача простая, изменил клиента, изменил контакт если он есть в записи клиента.
Добавил библиотеки на форму и в поле запускаю функцию. Вроде бы все. Пишу код:
X++:
function test() {
if (Xrm.Page.getAttribute("agl_clientid").getValue() != null)// проверяем на пустоту лукап
{
var ClientId = Xrm.Page.getAttribute("agl_clientid").getValue()[0].id; //получаем ИД первой записи в лукапе
XrmSvcToolkit.retrieve({
entityName: "account", // имя сущности лукапа, к которому обращаемся
id: ClientId, // ИД записи в лукапе
select: ["PrimaryContactId"], // имя атрибута на форме сущности (account), название взяли из Odata Query Designer
async: false, // типа скрипта
successCallback: function (result) { // получили параметры
if (result.PrimaryContactId == null || result.PrimaryContactId.Id == null) { // проверили на пустоту лукап и его ИД
return;
}
Xrm.Page.getAttribute("agl_contactid").setValue([{ // передаем полученные данные в поле на форме МОЕЙ сущности.
id: result.PrimaryContactId.Id, name: result.PrimaryContactId.Name, entityType: "contact"
}]);
},
errorCallback: function (error) {
throw error;
}
});
}
}
После выбора клиента, получаю ошибку.
Что не так сделал?