Столкнулся с интересной проблемой.
Стандартный инфоблок "документы" Корпоративного портала.
В нём находится 55 документов на текущий момент. Что подтверждает функция:
Но! Функция CIBlockElement::GetList() возвращает только около половины элементов (все - с довольно старыми id-шниками):
Возвращает только 29 элементов (было 30, пока я не стёр один из старых элементов), который заканчивается самым последним id, равным 131. Последний добавленный мной элемент имеет id = 740.
Добавление в фильтр ID проблемы не решает - таких документов GetList не возвращает:
Но если указать один из старых id (а не новых), которые до этого попадают в "неполный список", возвращаемый GetList - всё выводится...
Опять же "Но!" Если запрашивать элемент функцией CIBlockElement::GetByID(740); элемент исправно выводится...
В административном интерфейсе все документы (элементы инфоблока) на месте... При подключении модуля "Webdav" - так же выводятся все документы. Но если подключить компонент news.list - выводится опять кастрированный список в 29 элементов...
Но они ведь ЕСТЬ ! И я командой GetList прошу их вывести, фильтруя всего лишь по IBLOCK_ID... почему они не выводятся ?!
Если кто сталкивался с чем подобным - дайте кто-нибудь хоть какую-то наводку... Почему при запросе напрямую по GetByID элемент есть, а через GetList его нет ??? О_о
Стандартный инфоблок "документы" Корпоративного портала.
В нём находится 55 документов на текущий момент. Что подтверждает функция:
Код |
---|
CIBlock::GetElementCount(19) = 55 |
Но! Функция CIBlockElement::GetList() возвращает только около половины элементов (все - с довольно старыми id-шниками):
Код |
---|
$res = CIBlockElement::GetList(Array(), Array("IBLOCK_ID"=>19), false, false, Array()); while($ob = $res->GetNextElement()){ $arFields[] = $ob->GetFields(); } |
Возвращает только 29 элементов (было 30, пока я не стёр один из старых элементов), который заканчивается самым последним id, равным 131. Последний добавленный мной элемент имеет id = 740.
Добавление в фильтр ID проблемы не решает - таких документов GetList не возвращает:
Код |
---|
Array("IBLOCK_ID"=>19, "ID" => 740) |
Но если указать один из старых id (а не новых), которые до этого попадают в "неполный список", возвращаемый GetList - всё выводится...
Опять же "Но!" Если запрашивать элемент функцией CIBlockElement::GetByID(740); элемент исправно выводится...
В административном интерфейсе все документы (элементы инфоблока) на месте... При подключении модуля "Webdav" - так же выводятся все документы. Но если подключить компонент news.list - выводится опять кастрированный список в 29 элементов...
Но они ведь ЕСТЬ ! И я командой GetList прошу их вывести, фильтруя всего лишь по IBLOCK_ID... почему они не выводятся ?!
Если кто сталкивался с чем подобным - дайте кто-нибудь хоть какую-то наводку... Почему при запросе напрямую по GetByID элемент есть, а через GetList его нет ??? О_о