RGameShow
@RGameShow
В поисках ответов на глупые вопросы

Как правильно выгружать большие объемы данных Битрикс24 на PHP?

Есть пример от битры: https://dev.1c-bitrix.ru/rest_help/rest_sum/start.php но тут я не понимаю как применить его к своей задаче.

Я хочу импортировать 1500 новых компаний, но переде импортом проверить существует ли эта компания в битре или нет по полю ИНН.
Я делаю через callBatch но там максимум 50 результатов возвращается..
foreach ($allCompany as $k => $v) {
            debug($v['inn']);
            if (!empty($v['inn'])){
                $request[$k . 'crm.company.list'] = [
                    'method' => 'crm.company.list',
                    'params' => [
                        'order' => ['ID' => 'ASC'],
                        'filter' => [
                            'UF_CRM_5F' => $v['inn'],
                        ],
                        'select' => [
                            'ID',
                        ],
                    ]
                ];
            }
        }
        $request = CRest::callBatch($request);


Как пробежаться по всем компаниям и сравнить их с 1500 новыми и чтоб обойти лимит или как то по закону битрикса это сделать....?
  • Вопрос задан
  • 536 просмотров
Пригласить эксперта
Ответы на вопрос 1
gromdron
@gromdron Куратор тега Битрикс24
Работаю с Bitrix24
Как пробежаться по всем компаниям и сравнить их с 1500 новыми и чтоб обойти лимит или как то по закону битрикса это сделать....?


batch запрос аггреграция из 50 запросов.
Каждый списочный запрос может отдать не более 50 элементов.

Таким образом за 1 батч можно выгрузкить 2500 элементов.

Т.е. вы офомляете первый батч оперируя start методом (start=0, start=1 и т.п. до start=49).

Сравнить существование проще в локальном кеше, т.е. получить все, найти расхождения и сформировать батчи для создания/обновления компаний.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы