| Результаты опроса: Используете ли CrmRestKit.js ? | |||
| Использую CrmRestKit без изменений |
|
0 | 0% |
| Использую CrmRestKit с изменениями или мне нужны дополнения |
|
1 | 33.33% |
| Использую свою библиотеку |
|
2 | 66.67% |
| Использую урывки кода с SDK |
|
0 | 0% |
| Голосовавшие: 3. Вы ещё не голосовали в этом опросе | |||
|
|
Опции темы |
|
|
|
|
#1 |
|
Чайный пьяница
|
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
|
|
#2 |
|
Участник
|
Ни в первом ни в втором нет возможности.
Сделать запрос 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;
}
});
}; |
|
|
|
|
#3 |
|
Чайный пьяница
|
Что же тогда делают следующие строки из кода, который вы вставили? Код: opts.odataQuery = result.__next.substring((clientUrl + odataEndpoint + "/" + opts.entityName + "Set").length);
retrieveMultiple(opts);
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit Последний раз редактировалось a33ik; 05.11.2013 в 19:02. |
|
|
|
|
#4 |
|
Участник
|
Выполняю retrieveMultiple для получения следующей страницы.
Просто не могу вам объяснить Попробую на пальцах: Мне нужно вывести первую страницу данных в область просмотра а ссылку и запуск запроса на вторую страницу повесить на кнопку и только после нажания этой кнопки достать вторую страницу. Или еще пример такой. Мне нужно получить по 50 записей которые собрать в пакет и отправить, если пакет ушел и вернулся ответ забрать еще 50 записей и отправить. Ну как то так. Они не дают возможности вернуть первую страницу и ссылку на вторую. Они сразу забирают вторую страницу если она есть. |
|
|
|
|
#5 |
|
Чайный пьяница
|
Цитата:
Но имхо это экзотика. Я чуть-чуть пописАл под 2011, но задачи, чтобы было необходим такой подход - у меня не было...
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|