Показать сообщение отдельно
Старый 06.11.2013, 16:15   #30  
-O_o- is offline
-O_o-
Еда - топливо, Одежда - н
Аватар для -O_o-
Лучший по профессии 2015
Лучший по профессии 2014
 
727 / 80 (4) ++++
Регистрация: 11.05.2012
Адрес: Киев
Привет всем!
Спустя какое-то время и после помощи хороших людей, я как бы чуть понял. Но поскольку у меня есть вопрос, значит не все понял.
И так. Использую библиотеки (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;
            }
        });
    }
}
После выбора клиента, получаю ошибку.
Что не так сделал?
Изображения