Зарегистрироваться | Поиск |
Результаты опроса: Используете ли CrmRestKit.js ? | |||
Использую CrmRestKit без изменений | 0 | 0% | |
Использую CrmRestKit с изменениями или мне нужны дополнения | 1 | 33.33% | |
Использую свою библиотеку | 2 | 66.67% | |
Использую урывки кода с SDK | 0 | 0% | |
Голосовавшие: 3. Вы ещё не голосовали в этом опросе |
|
Опции темы |
|
05.11.2013, 14:17 | #1 |
Участник
|
Какой JS библиотекой для CRM вы пользуетесь?
Собственно очень интересно кто какими JS библиотеками для CRM пользуется.
Одна из интересующих библиотек это CrmRestKit Кто что может выделить с плюсов и главное минусов этой библиотеки? от меня: [-] преобразование даты с REST в часовой пояс пользователя CRM. (У меня решение этой задачи есть так что это не особо большой минус) Мне опрос нужен для того чтобы понять, нужно ли создавать новую библиотеку или вполне подойдет эта. p.s. В своих проектах использую свою библиотеку основанную на стандартных примерах с SDK (пришло время ее заменить) Последний раз редактировалось spectr; 05.11.2013 в 14:32. |
|
05.11.2013, 14:33 | #2 |
Участник
|
Опрос не полный.
я бы добавил пункт, использую другую библиотеку. Не свою написанную, а именно другую. Я лично использовал много библиотек CrmRestKit CrmFetchKit Сейчас мне больше всех нравится XrmServiceToolkit, т.к. содержит rest, soap и можно fetch запросы вызывать. |
|
05.11.2013, 14:40 | #3 |
Участник
|
Да XrmServiceToolkit совсем упустил
А как отредактировать голосование ХЗ |
|
05.11.2013, 16:01 | #4 |
Чайный пьяница
|
Я использую XrmSvcToolkit.
Тулкит прекрассно зарекомендовал себя в работе с 2011, гладко без переделок перешёл в 2013. Продолжает работать без проблем. Из проблем - не кроссбраузерно реализована обработка результатов Execute запросов SOAP сервиса, но автор знает о проблеме и уже дорабатывает тулкит. Можно вопрос - зачем писать новую библиотеку, если можно немного напильником доработать существующую?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit Последний раз редактировалось a33ik; 05.11.2013 в 16:08. |
|
05.11.2013, 16:07 | #5 |
Участник
|
Цитата:
Сообщение от a33ik
Я использую XrmSvcToolkit.
Можно вопрос - зачем писать новую библиотеку, если можно немного напильником доработать существующую? И ты там совсем другой ответ давал. http://axforum.info/forums/poll.php?...lts&pollid=483 |
|
05.11.2013, 16:09 | #6 |
Чайный пьяница
|
Цитата:
Сообщение от g.Naukovych
Ну это круто конечно, только помнится я опрос создавал 1,5 года назад.
И ты там совсем другой ответ давал. http://axforum.info/forums/poll.php?...lts&pollid=483 Глупый был попросту.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
05.11.2013, 16:24 | #7 |
Участник
|
Цитата:
Сообщение от a33ik
Я использую XrmSvcToolkit.
Тулкит прекрассно зарекомендовал себя в работе с 2011, гладко без переделок перешёл в 2013. Продолжает работать без проблем. Из проблем - не кроссбраузерно реализована обработка результатов Execute запросов SOAP сервиса, но автор знает о проблеме и уже дорабатывает тулкит. Можно вопрос - зачем писать новую библиотеку, если можно немного напильником доработать существующую? Свою библиотеку я написал в далеком 2011 году. Как только появился CRM 2011. С временем там добавилялись новые возможности с поддержкой старых версий. Но время идет и я понимаю что там уже давно надо все переделать. Вот и возник вопрос переделывать все там так чтобы была поддержка старого и работало по новому или забить на нее и все что на ней написано и все новое вести на новой. (последний раз я ее обновлял 30.07.2012) Построена она на REST + JQuery + построен преобразователь даты и времени с REST Свое конечно душе дороже и роднее, но времени на ее поддержку нет Вот и интересно кто что юзает и если все напишут что свое, значит нет подходящего фреймворка и надо пилить свой, а если нет то выберу один из предложенных. |
|
05.11.2013, 17:00 | #8 |
Участник
|
XrmServiceToolkit.js
[-] Есть возможность выбрать только все записи с помощью RetrieveMultiple или то количество что указано в $top, но нет возможности постранично выводить. Уточняю нет возможности перевесить постраничный вызов на действия юзера как гугле при просмотре картинок. [-] Нет возможности передать объект в функцию Callback при асинхронном вызове очень полезная штука Последний раз редактировалось spectr; 05.11.2013 в 17:04. |
|
05.11.2013, 17:59 | #9 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: a33ik (1). |
05.11.2013, 18:09 | #10 |
Чайный пьяница
|
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
05.11.2013, 18:32 | #11 |
Участник
|
Ни в первом ни в втором нет возможности.
Сделать запрос retrieveMultiple получить первую страницу и линк на вторую. Оно забирает все или только $top причем в втором XrmSvcToolkit.js если retrieveMultiple async == false то он вернет только первую страницу: Код: var retrieveMultiple = function (opts) { if (!isNonEmptyString(opts.entityName)) { throw new Error("entityName parameter was not provided. "); } var odataQuery = ""; if (opts.odataQuery != null) { if (!isString(opts.odataQuery)) { throw new Error("odataQuery parameter must be a string. "); } if (opts.odataQuery.charAt(0) != "?") { odataQuery = "?" + opts.odataQuery; } else { odataQuery = opts.odataQuery; } } var restReq = { url: clientUrl + odataEndpoint + "/" + opts.entityName + "Set" + odataQuery, type: "GET", async: !!opts.async }; return doRestRequest(restReq, function (result) { if (isFunction(opts.successCallback)) { opts.successCallback(result.results); } if (!opts.async) { return result.results; } if (result.__next != null) { opts.odataQuery = result.__next.substring((clientUrl + odataEndpoint + "/" + opts.entityName + "Set").length); retrieveMultiple(opts); } else { if (isFunction(opts.completionCallback)) { opts.completionCallback(); } } }, function (err) { if (isFunction(opts.errorCallback)) { opts.errorCallback(err); } else { throw err; } }); }; |
|
05.11.2013, 18:56 | #12 |
Чайный пьяница
|
Что же тогда делают следующие строки из кода, который вы вставили? Код: opts.odataQuery = result.__next.substring((clientUrl + odataEndpoint + "/" + opts.entityName + "Set").length); retrieveMultiple(opts);
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit Последний раз редактировалось a33ik; 05.11.2013 в 19:02. |
|
05.11.2013, 19:04 | #13 |
Участник
|
Выполняю retrieveMultiple для получения следующей страницы.
Просто не могу вам объяснить Попробую на пальцах: Мне нужно вывести первую страницу данных в область просмотра а ссылку и запуск запроса на вторую страницу повесить на кнопку и только после нажания этой кнопки достать вторую страницу. Или еще пример такой. Мне нужно получить по 50 записей которые собрать в пакет и отправить, если пакет ушел и вернулся ответ забрать еще 50 записей и отправить. Ну как то так. Они не дают возможности вернуть первую страницу и ссылку на вторую. Они сразу забирают вторую страницу если она есть. |
|
07.11.2013, 10:23 | #14 |
Moderator
|
Честно говоря не было насущной необходимости использовать сторонние библиотеки. Вместе с SDK идет вполне достойный пример как надо. За все время пришлось только 1 раз использовать SOAP для чего пришлось написать полностью аналогичную библиотеку. Мне, конечно, пришлось немного просраться с кросбраузерной обработкой XML, но это тоже опыт...
Гораздо чаще, по моему скромному мнению, возникают задачи на "поведение формы". В 2013 она частично снимается новым функционалом, но его феномен я еще не изучал.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|