AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Прочие вопросы
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

Результаты опроса: Используете ли CrmRestKit.js ?
Использую CrmRestKit без изменений 0 0%
Использую CrmRestKit с изменениями или мне нужны дополнения 1 33.33%
Использую свою библиотеку 2 66.67%
Использую урывки кода с SDK 0 0%
Голосовавшие: 3. Вы ещё не голосовали в этом опросе

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.11.2013, 14:17   #1  
spectr is offline
spectr
Участник
Аватар для spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Регистрация: 19.10.2011
Адрес: Киев
Какой JS библиотекой для CRM вы пользуетесь?
Собственно очень интересно кто какими JS библиотеками для CRM пользуется.
Одна из интересующих библиотек это CrmRestKit
Кто что может выделить с плюсов и главное минусов этой библиотеки?

от меня:
[-] преобразование даты с REST в часовой пояс пользователя CRM. (У меня решение этой задачи есть так что это не особо большой минус)

Мне опрос нужен для того чтобы понять, нужно ли создавать новую библиотеку или вполне подойдет эта.

p.s. В своих проектах использую свою библиотеку основанную на стандартных примерах с SDK (пришло время ее заменить)

Последний раз редактировалось spectr; 05.11.2013 в 14:32.
Старый 05.11.2013, 14:33   #2  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Опрос не полный.
я бы добавил пункт, использую другую библиотеку.
Не свою написанную, а именно другую.

Я лично использовал много библиотек
CrmRestKit
CrmFetchKit

Сейчас мне больше всех нравится
XrmServiceToolkit, т.к. содержит rest, soap и можно fetch запросы вызывать.
__________________
Мой блог https://procrm.tv
Старый 05.11.2013, 14:40   #3  
spectr is offline
spectr
Участник
Аватар для spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Регистрация: 19.10.2011
Адрес: Киев
Да XrmServiceToolkit совсем упустил
А как отредактировать голосование ХЗ
Старый 05.11.2013, 16:01   #4  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Я использую XrmSvcToolkit.
Тулкит прекрассно зарекомендовал себя в работе с 2011, гладко без переделок перешёл в 2013. Продолжает работать без проблем. Из проблем - не кроссбраузерно реализована обработка результатов Execute запросов SOAP сервиса, но автор знает о проблеме и уже дорабатывает тулкит.

Можно вопрос - зачем писать новую библиотеку, если можно немного напильником доработать существующую?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit

Последний раз редактировалось a33ik; 05.11.2013 в 16:08.
Старый 05.11.2013, 16:07   #5  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Цитата:
Сообщение от a33ik Посмотреть сообщение
Я использую XrmSvcToolkit.

Можно вопрос - зачем писать новую библиотеку, если можно немного напильником доработать существующую?
Ну это круто конечно, только помнится я опрос создавал 1,5 года назад.
И ты там совсем другой ответ давал. http://axforum.info/forums/poll.php?...lts&pollid=483
__________________
Мой блог https://procrm.tv
Старый 05.11.2013, 16:09   #6  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
Ну это круто конечно, только помнится я опрос создавал 1,5 года назад.
И ты там совсем другой ответ давал. http://axforum.info/forums/poll.php?...lts&pollid=483
За полтора года много воды утекло. Людям свойственно менять своё мнение =)
Глупый был попросту.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 05.11.2013, 16:24   #7  
spectr is offline
spectr
Участник
Аватар для spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Регистрация: 19.10.2011
Адрес: Киев
Цитата:
Сообщение от a33ik Посмотреть сообщение
Я использую XrmSvcToolkit.
Тулкит прекрассно зарекомендовал себя в работе с 2011, гладко без переделок перешёл в 2013. Продолжает работать без проблем. Из проблем - не кроссбраузерно реализована обработка результатов Execute запросов SOAP сервиса, но автор знает о проблеме и уже дорабатывает тулкит.

Можно вопрос - зачем писать новую библиотеку, если можно немного напильником доработать существующую?
Ну не совсем новую
Свою библиотеку я написал в далеком 2011 году. Как только появился CRM 2011.
С временем там добавилялись новые возможности с поддержкой старых версий. Но время идет и я понимаю что там уже давно надо все переделать. Вот и возник вопрос переделывать все там так чтобы была поддержка старого и работало по новому или забить на нее и все что на ней написано и все новое вести на новой. (последний раз я ее обновлял 30.07.2012)
Построена она на REST + JQuery + построен преобразователь даты и времени с REST

Свое конечно душе дороже и роднее, но времени на ее поддержку нет
Вот и интересно кто что юзает и если все напишут что свое, значит нет подходящего фреймворка и надо пилить свой, а если нет то выберу один из предложенных.
Старый 05.11.2013, 17:00   #8  
spectr is offline
spectr
Участник
Аватар для spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Регистрация: 19.10.2011
Адрес: Киев
XrmServiceToolkit.js

[-] Есть возможность выбрать только все записи с помощью RetrieveMultiple или то количество что указано в $top, но нет возможности постранично выводить.
Уточняю нет возможности перевесить постраничный вызов на действия юзера как гугле при просмотре картинок.
[-] Нет возможности передать объект в функцию Callback при асинхронном вызове очень полезная штука

Последний раз редактировалось spectr; 05.11.2013 в 17:04.
Старый 05.11.2013, 17:59   #9  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Я сильной разницы не вижу)

может имелся ввиду http://xrmservicetoolkit.codeplex.com/
__________________
Мой блог https://procrm.tv
За это сообщение автора поблагодарили: a33ik (1).
Старый 05.11.2013, 18:09   #10  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
Я сильной разницы не вижу)

может имелся ввиду http://xrmservicetoolkit.codeplex.com/
Именно так. Протормозил.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 05.11.2013, 18:32   #11  
spectr is offline
spectr
Участник
Аватар для spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Регистрация: 19.10.2011
Адрес: Киев
Ни в первом ни в втором нет возможности.
Сделать запрос 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  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от spectr Посмотреть сообщение
Ни в первом ни в втором нет возможности.


Что же тогда делают следующие строки из кода, который вы вставили?

Код:
                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  
spectr is offline
spectr
Участник
Аватар для spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Регистрация: 19.10.2011
Адрес: Киев
Выполняю retrieveMultiple для получения следующей страницы.
Просто не могу вам объяснить
Попробую на пальцах:
Мне нужно вывести первую страницу данных в область просмотра а ссылку и запуск запроса на вторую страницу повесить на кнопку и только после нажания этой кнопки достать вторую страницу.

Или еще пример такой.
Мне нужно получить по 50 записей которые собрать в пакет и отправить, если пакет ушел и вернулся ответ забрать еще 50 записей и отправить.

Ну как то так.
Они не дают возможности вернуть первую страницу и ссылку на вторую. Они сразу забирают вторую страницу если она есть.
Старый 07.11.2013, 10:23   #14  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Честно говоря не было насущной необходимости использовать сторонние библиотеки. Вместе с SDK идет вполне достойный пример как надо. За все время пришлось только 1 раз использовать SOAP для чего пришлось написать полностью аналогичную библиотеку. Мне, конечно, пришлось немного просраться с кросбраузерной обработкой XML, но это тоже опыт...

Гораздо чаще, по моему скромному мнению, возникают задачи на "поведение формы". В 2013 она частично снимается новым функционалом, но его феномен я еще не изучал.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:43.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.