Добрый день!
У меня такая задача - распределить курсы и тесты (CCourse) одного сайта по разным заведениям и тематикам (с иерархической структурой, т.е. с привязкой к разделам). Для этого я создаю два сервисных инфоблока в Контенте и добавляю в курсы доп. поля UF_
Однако, CCourse::GetList не даёт доступа к доп. полям и приходится делать полную выборку курсов и тестов, использовать:
$GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("LEARNING_LESSONS", $id)
для получения полей и создавать на основе этого мета-массив с иерархией, которая мне нужна.
Для малого количества курсов и тестов это терпимо, но при большом количестве я думаю это будет не подъёмно, поскольку каждый загруженый курс будет требовать запроса к доп.полям, а это, как я понимаю, отдельный запрос к базе.
Подскажите более корректное решение. Как выбрать курсы и тесты, привязанные к определенному заведению и только определённой тематики?