Имя: Пароль:
1C
1С v8
1c salesforce не могу разобрать метод
0 Noxvil
 
29.11.12
14:54
Добрый день, есть подключение к базе данных salesforce через winhttp.
К сожалению, в запросе который я задаю мне возвращается 2000 строк - максимум.
Порывшись в инете, нашёл ссылку:
http://stackoverflow.com/questions/10419376/salesforce-rest-api-query-more-than-2000
Помогите расшифровать, о чём пишут заморские коллеги... ?
Я так понял, что есть идентификатор запроса, указав который я могу получить остаток таблицы. Где его можно взять и где указать понять не могу...
1 cw014
 
29.11.12
14:55
Ответ 1:
2 cw014
 
29.11.12
14:56
Частью результата находится в свойстве nextRecordsUrl который ты должен получить с помощью метода GET, он вернет следующую порцию результатов. Смотри раздел про запросы в доках api.
3 Noxvil
 
29.11.12
14:57
Будь добр - напиши, пожалуйста, более развёрнутый ответ.

Именно этого я не могу понять... (
4 cw014
 
29.11.12
14:58
На этот пост ответ:
Ой, чуствую себя тупым, я не посмотрел на весь ответ от сервера, просто манипулировал кодом. Спасибо большое.
5 Noxvil
 
29.11.12
15:00
Если ты думаешь, что я скинул тебе ссылку и ничего не прочитал - то ты ошибаешься...

Я просто не понимаю, что именно искать в ответе с сервера...
6 cw014
 
29.11.12
15:03
7 Noxvil
 
29.11.12
15:03
Вот есть: <queryResponse><result><done>true</done><queryLocator xsi:nil="true"/>
Это же не то...
8 cw014
 
29.11.12
15:05
Выполняет запрос SOQL. Если результат очень большой, ответ содержит первый кусок результата и идентификатор запроса. Идентификатор может быть использован в отдельном запросе для получения оставшихся данных.
9 Noxvil
 
29.11.12
15:05
Это я понимаю, но не понимаю - как он выглядит и куда его вставить.
10 cw014
 
29.11.12
15:06
Пример получения оставшегося куска запроса:
curl https://na1.salesforce.com/services/data/v20.0/query/01gD0000002HU6KIAW-2000 -H "Authorization: Bearer token"
11 cw014
 
29.11.12
15:07
Если запрос возвращает только кусок запроса, окончание ответа находится в поле nextRecordsUrl. Например ты можешь найти этот атрибут в конце своего запроса:

"nextRecordsUrl" : "/services/data/v20.0/query/01gD0000002HU6KIAW-2000"
12 cw014
 
29.11.12
15:07
А вот тут можно почитать, как увеличить кусок возвращаемого запроса:

http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_soql_changing_batch_size.htm
13 cw014
 
29.11.12
15:09
Даже я, ниразу в глаза не видевший salesforce уже разобрался
14 Noxvil
 
29.11.12
15:11
Уже проверяю... Спасибо.
Выходит - ты молодец, а я - соответственно нет.
15 Noxvil
 
29.11.12
15:12
Видимо, это не моё.
16 cw014
 
29.11.12
15:13
Ну тады не лезь туда, куда "не твое"
17 Noxvil
 
29.11.12
15:17
Угу, уже 2 года с этим бьюсь )

Слушай, а если запрос не возвращает данный параметр?
Видимо - его необходимо задавать в тексте запроса, как думаешь?
18 cw014
 
29.11.12
15:18
Тут я не подскажу. Я responce от сервера не вижу
19 Noxvil
 
29.11.12
15:25
Ну что-же... буду общаться с айтишниками...
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой