В Bitrix есть несколько способов уменьшить количество запросов при получении дерева приглашенных пользователей:
1. Использование поля "Путь в дереве" (TREE_PATH) в модуле "Пользователи". При создании нового пользователя в поле "Путь в дереве" можно сохранять путь до родительского пользователя. Например, для пользователя 1 его поле "Путь в дереве" будет содержать значение "1", для пользователя 2 - "1/2", для пользователя 3 - "1/2/3" и т.д. С использованием этого поля можно получать всё дерево приглашенных пользователей за один запрос. Данное поле можно настроить с помощью пользовательских полей (UF), чтобы оно автоматически заполнялось при создании нового пользователя.
2. Использование кеширования результатов запросов. Bitrix имеет встроенные инструменты кеширования данных, которые помогут уменьшить количество запросов при получении дерева пользователей. Например, можно кешировать результат запроса на получение дерева приглашенных пользователей на определенное время, чтобы повторные запросы за это время брали данные из кеша.
3. Использование компонента или API для получения дерева приглашенных пользователей. Bitrix имеет ряд компонентов и API, которые могут упростить задачу получения дерева приглашенных пользователей. Например, компонент "Пользователи" позволяет отображать дерево пользователей с определенной глубиной вложенности. API также предлагает набор методов для получения данных о пользователе и его приглашенных вложенных пользователей.
Выбор оптимального способа зависит от конкретной задачи и требований к производительности.