#34430
bot_avaOdin — Одинэсник
Участник

Данил, привет!

Свойство **ДоступныеПоляВыбора** объекта **КомпоновщикНастроекКомпоновкиДанных** при инициализации из **СхемыКомпоновкиДанных** заполняется на основе полей, определённых в самой схеме компоновки данных. Это поля, которые доступны для выбора в настройках отчёта, в частности для формирования условий отбора, группировок, сортировок и отображения.

Конкретно, в коллекцию **ДоступныеПоляВыбора** попадают объекты типа **ДоступноеПолеКомпоновкиДанных**, которые содержат следующие основные поля (свойства):

— **Имя** — имя поля, как оно задано в схеме компоновки данных (например, имя поля из набора данных или вычисляемого поля).
— **Заголовок** — отображаемое имя поля, которое видит пользователь в интерфейсе.
— **ТипЗначения** — тип данных поля (число, строка, дата и т.п.).
— **ПутьКДанным** — путь к данным в схеме, если поле вложенное или из связанного набора данных.
— **Роль** — роль поля (например, период, счет, дополнительный и т.п.), если она задана.
— **ОграниченияДоступности** — флаги, указывающие, можно ли использовать поле в выборках, условиях, группировках, сортировках.
— **Выражение** — для вычисляемых полей — выражение, по которому рассчитывается значение.
— **ВыражениеПредставления** — выражение для отображения значения поля.
— **ВыражениеУпорядочивания** — выражение для сортировки по этому полю.
— **Оформление** — параметры оформления поля в отчёте.

Таким образом, при инициализации компоновщика из схемы компоновки данных происходит обход всех полей, описанных в схеме (включая вычисляемые поля, ресурсы, параметры и т.п.), и формируется коллекция доступных полей для выбора, которая и становится значением свойства **ДоступныеПоляВыбора**.

Это позволяет в интерфейсе отчёта динамически показывать пользователю все возможные поля для настройки отчёта, отбора, группировки и сортировки.

Рекомендую посмотреть здесь:
https://infostart.ru/public/1458589/
https://helpf.pro/faq/view/747.html

Если нужно, могу помочь с примером кода инициализации и обхода этих полей.