Иногда возникает задача как то выделить коллекции, отдельно их разобрать или даже выгрузить в файл. По умолчанию явного функционала для этого нет. Но можно опираться на штатный функционал от 1С-Битрикс - экспорт в Excel файл.

Чтобы выделить разделы-коллекции от остальных разделов, достаточно создать пользовательское свойство для разделов, например, с названием Раздел-коллекция? и с кодом UF_IS_COLLECTONS.

Данное свойство будет доступен у разделов и при создании коллекций можно вручную отмечать разделы как коллекция и сортировать и экспортировать разделы в Excel файл:

Вернет разделы-коллекции:

Если необходимо автоматизировать процесс пометки разделов как коллекции, то можно воспользоваться обработчиками событий модуля:
//обработчик события: после редактирования коллекции
AddEventHandler("scoder.collections", "OnAfterScoderCollectionEdit", "OnAfterScoderCollectionEditHandler");
function OnAfterScoderCollectionEditHandler($arFields)
{
//Помечаем раздел, что он является "Товарной коллекцией"
$ar_load = array(
"UF_IS_COLLECTONS" => 1
);
if ($arFields["IBLOCK_ID"]>0 && $arFields["SECTION_ID"]>0)
$GLOBALS["USER_FIELD_MANAGER"]->Update("IBLOCK_".$arFields["IBLOCK_ID"]."_SECTION", $arFields["SECTION_ID"], $ar_load);
}
//обработчик события: после удаления коллекции
AddEventHandler("scoder.collections", "OnAfterScoderCollectionDelete", "OnAfterScoderCollectionDeleteHandler");
function OnAfterScoderCollectionDeleteHandler($section_id)
{
//Помечаем раздел, что он не является "Товарной коллекцией"
if ($section_id>0)
{
$ar_load = Array(
"UF_IS_COLLECTONS" => 0,
);
$arFilter = array('ID' => $section_id);
$rsSect = CIBlockSection::GetList(array('left_margin' => 'asc'),$arFilter,false,array("ID","IBLOCK_ID"),array("nTopCount" => 1));
if ($arFields = $rsSect->GetNext())
{
$GLOBALS["USER_FIELD_MANAGER"]->Update("IBLOCK_". $arFields["IBLOCK_ID"] ."_SECTION", $section_id, $ar_load);
}
}
}