|
![]() |
#1 |
Еда - топливо, Одежда - н
|
И снова привет всем.
Спасибо за ваши комменты. Столкнулся с проблемой того, что не понимаю как использовать такую штуку как "XrmServiceToolkit". И того, что я имею на данный момент. - есть понимание того как работает JS. (что такое переменные, классы, объекты, методы, свойства и т.д.) - есть понимание того, как использовать SDK к примитивным задачам. Типа: X++: function ShowAttributes() { var ContractType = Xrm.Page.getAttribute("agl_dopsoglashenie").getValue(); if (ContractType == false) { Xrm.Page.ui.controls.get("agl_osnovnoy_dogovorid").setVisible(false); Xrm.Page.getAttribute("agl_osnovnoy_dogovorid").setValue(null); } else { Xrm.Page.ui.controls.get("agl_osnovnoy_dogovorid").setVisible(true); Xrm.Page.getAttribute("agl_osnovnoy_dogovorid").setRequiredLevel("required"); } } Я скачал ее. Там было 3 файла. (jquery; json2; XrmServiceToolkit). Я создал веб. ресурсы в CRM.(по идее, этого достаточно для того, чтобы написанные меною строки кода, могли обращаться к ним и выполняться так как надо.) ---------------------- Но я получил конфуз... ТУТ описаны методы. Но что-то я не догоняю как их использовать... У меня разрыв шаблона что-ли.. И так же почитал ТУТ и я вообще запутался... -----------------
Благодарю |
|
![]() |
#2 |
Консультант-джедай
|
Классы?
![]()
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! ![]() |
|
![]() |
#3 |
Еда - топливо, Одежда - н
|
Для примера, сейчас есть задача..
С первым пунктом справился, код в посте выше. А вот со вторым проблемы. Вопросы: 1. Что нужно в лукап "Клиент передавать"? ИД записи или GUID еще что-то. Чтобы CRM схавал это. 2. Как добраться до клиента в выбранном лукапе? |
|
![]() |
#4 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: a33ik (-2). |
![]() |
#5 |
Чайный пьяница
|
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: spectr (-1). |
![]() |
#6 |
Участник
|
http://javascript.ru/tutorial/object/inheritance
Это тебе не C# !!! То что ты прислал это имитация. В JavaScript есть prototype и их не гоже называть классами как в C#, так что почитай доки а потом минуса ставь. Цитата:
В JavaScript нет понятия класс. Механизм наследования в JavaScript основан на прототипах объектов, а не классах.
Объекты наследуются от объектов. Каждый объект наследует свойства от другого объекта, известного как прототип данного объекта. Класс в JavaScript - это просто комбинация функции конструктора объектов, вызываемой совместно с операторм new и prototype функции конструктора, которому присвоен объект с перечнем наследуемых свойств. Последний раз редактировалось spectr; 31.10.2013 в 16:17. |
|
|
За это сообщение автора поблагодарили: Likefire (1). |
![]() |
#7 |
Участник
|
А вот более конкретная статья почему JavaScript принято считать прототип-ориентированным языком. http://habrahabr.ru/post/175029/
И определение с вики http://ru.wikipedia.org/wiki/%D0%9F%...BD%D0%B8%D0%B5 Последний раз редактировалось spectr; 31.10.2013 в 16:36. |
|
![]() |
#8 |
Чайный пьяница
|
Я минусанул вас не за то что является JavaScript объект-ориентированным или прототип-ориентированным языком, а за насмешливые сообщения над участниками, которые стараются учится, у них появляются вопросы и с ними они идут на форум, где становятся объектом насмешек. Некрасиво.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: Likefire (1), kalina (1). |
![]() |
#9 |
Еда - топливо, Одежда - н
|
Привет всем!
Спустя какое-то время и после помощи хороших людей, я как бы чуть понял. Но поскольку у меня есть вопрос, значит не все понял. И так. Использую библиотеки (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; } }); } } Что не так сделал? |
|
|
|