Часто встает задача импорта каких либо сущностей с портала посредством rest. При этом при большом количестве сущностей прямой подход к задаче, с установкой фильтра и передачей в каждый следующий запрос start = start+50, не оптимальный. Так как, при использование start >= 0 на каждый запрос выполняется еще и запрос подсчета количества элементов удовлетворяющих фильтру. Что при большом количестве элементов, попадающих в него, или при сложной фильтрации работает медленно.
Проблема в том, что Битрикс24 возвращает по апи только первые 50 элементов. Если нам необходимо для обработки получить массив с полным списком элементов в котором содержится больше элементов чем 50 , то в запросе необходимо передавать параметр start, выполняя несколько запросов.
В данной статье я напишу функцию с помощью которой можно будет получить полный массив со всеми записями и не важно 50 всего у вас записей или больше.
CSV файлы удобно использовать для обмена данными между разными системами, передавая таким образом табличные данные посредством текстового файла. Теперь самое время поговорить о том, как можно сгенерировать CSV-файл в системе Bitrix. Этот пост может быть весьма полезен тем, кому нужно сделать кастомный экспорт данных из системы, и стандартных опций как правило может быть недостаточно. Если вы смотрели предыдущую статью, то вы наверняка уже знаете, что для работы с CSV-файлами в системе битрикс существует класс CCSVData. В нашем примере мы будет использовать его так же и для генерации CSV-файла, давайте приступим.