В реальном табличном поле доступных полей создаем собственное ограничение и проверяем его через ПолеДоступно.
Где и как запускать
Обычная форма толстого клиента; штатное табличное поле доступных полей СКД.
Подготовка
Создайте в собственном учебном отчете макет УчебнаяСхема типа Схема компоновки данных: источник Локальный, один набор Продажи, запрос ВЫБРАТЬ 300 КАК Цена, 6 КАК Количество ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 250, 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 100, 2. Добавьте поля Цена и Количество, ресурс Сумма с выражением Сумма(Цена * Количество), в настройках — детальные записи и выбранные поля. Имена в коде относятся именно к этому созданному вами макету.
Толстый клиент, обычная форма: табличное поле ДоступныеПоля должно реально отображать доступные поля инициализированного компоновщика этой схемы. Используется его штатное расширение ограничений.
Ограничения = ЭлементыФормы.ДоступныеПоля.ОграниченияИспользования;
Ограничение = Ограничения.Добавить();
Ограничение.Поле = Новый ПолеКомпоновкиДанных("Цена");
Ограничение.Доступность = Ложь;
Доступно = Ограничения.ПолеДоступно(Ограничение);
Сообщить("Цена доступна в редакторе: " + Строка(Доступно));
Ограничения.Удалить(Ограничение);
Сообщить("Учебное ограничение удалено");Разбор по шагам
Добавьте собственное ограничение поля Цена.
Проверьте его через ПолеДоступно.
Удалите только созданное ограничение.
Как проверить результат
Сопоставьте Ложь с недоступностью поля в редакторе.
После удаления проверьте возврат поля в доступный выбор.
Ожидаемый результат
Фактический признак доступности при собственном ограничении редактора.
На что обратить внимание
Проверяется объект ограничения, а не строка имени. Ограничения редактора не защищают данные от запросов и не заменяют роли и RLS.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.