Тип: РежимОтображенияНастроекКомпоновкиДанных. Свойство появляется у таблицы, если она связана с данными типа ОтборКомпоновкиДанных. Свойство определяет режим отображения таблицы. Показываются все элементы отбора или только те, которые имеют режим отображения БыстрыйДоступ.
Полное описание, параметры и ограничения
Расширение таблицы формы для отбора компоновки данных.РежимОтображения (Form table extension for data composition filter.ViewMode)
Расширение таблицы формы для отбора компоновки данных (Form table extension for data composition filter)
РежимОтображения (ViewMode)
Доступен, начиная с версии 8.2.
Использование:
Чтение и запись.
Описание:
Тип: РежимОтображенияНастроекКомпоновкиДанных.
Свойство появляется у таблицы, если она связана с данными типа ОтборКомпоновкиДанных.
Свойство определяет режим отображения таблицы. Показываются все элементы отбора или только те, которые имеют режим отображения БыстрыйДоступ.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент.
Изменение свойства на клиенте может потребовать обращения к серверу.
Использование в версии:
Доступен, начиная с версии 8.2.
Методическая информация
Практические примеры
Показать все элементы настоящего отбора книг
Расширения возникают у таблиц по настоящему пути к данным. Их не создают вымышленным конструктором.
Где и как запускать
Своя общая управляемая форма: серверное создание и отдельные серверные процедуры.
Подготовка
В своей учебной конфигурации создайте Отчеты → УчебныеКнигиСКД. У отчёта откройте ОсновнаяСхемаКомпоновкиДанных и сохраните её макетом ОсновнаяСхемаКомпоновкиДанных.
В конструкторе СКД создайте источник Local и набор-запрос Книги. Вставьте приведённый запрос двух константных строк; это не чтение рабочих справочников. Доступные поля Наименование, Количество, Сумма заполните автоматически.
В настройках схемы создайте вариант Подробно: выбраны Наименование, Количество, Сумма; структура — группировка Детальные записи. Второй вариант Кратко: Наименование и Сумма, также Детальные записи. Первым оставьте Подробно; у обоих задайте понятное представление.
Для этой самостоятельной копии своей схемы замените запрос набора Книги приведённым запросом с &МинимумКоличества. Автоматически заполните три поля и параметр МинимумКоличества Число 10.0, значение по умолчанию 0. Первым вариантом оставьте Подробно с детальными записями.
Создайте собственную общую управляемую форму УчебныеРедакторыСКД. Не используйте основную форму отчёта: здесь обычная общая форма и НЕосновной реквизит Компоновщик типа КомпоновщикНастроекКомпоновкиДанных. Дополнительно Результат ТабличныйДокумент и связанное поле результата.
Перетащите из дерева реквизита Компоновщик на форму таблицы: ДоступныеПоля → Компоновщик.Настройки.Выбор.ДоступныеПоляВыбора; ПараметрыДанных → Компоновщик.Настройки.ПараметрыДанных; ОтборКниг → Компоновщик.Настройки.Отбор; ОформлениеКниг → Компоновщик.Настройки.УсловноеОформление; СтруктураКниг → Компоновщик.Настройки.Структура; ПользовательскиеНастройки → Компоновщик.ПользовательскиеНастройки. Автозаполнение колонок включено.
Основной блок назначьте ПриСозданииНаСервере именно этой формы. Дополнительные процедуры разместите отдельно в том же модуле. В каждой карточке свой самостоятельный основной обработчик; не создавайте несколько одноимённых обработчиков.
Ограничения редактора — удобство интерфейса, не ограничение прав пользователя и не защита запроса. Все примеры используют только две собственные константные строки, не рабочие справочники. BSL и формы при сборке справочника не запускались.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ПодготовитьУчебныеРедакторы();
Элементы.ОтборКниг.РежимОтображения = РежимОтображенияНастроекКомпоновкиДанных.Все;
Элементы.ОтборКниг.ПодробноеОтображениеИменованныхЭлементовНастройки = Ложь;
ВывестиСвоиКнигиНаСервере();
Сообщить("Собственных группировок: " + Строка(Компоновщик.Настройки.Структура.Количество()));
КонецПроцедурыКонструктор своей СКД: запрос двух строк с настоящим параметром
ВЫБРАТЬ Книги.Наименование, Книги.Количество, Книги.Сумма
ИЗ
(ВЫБРАТЬ "Учебная книга" КАК Наименование, 3 КАК Количество, 750 КАК Сумма
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "Учебная тетрадь", 5, 200) КАК Книги
ГДЕ Книги.Количество >= &МинимумКоличестваТот же модуль: инициализировать реальный реквизит компоновщика
&НаСервере
Процедура ПодготовитьУчебныеРедакторы()
Схема = Отчеты.УчебныеКнигиСКД.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Источник = Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема);
Компоновщик.Инициализировать(Источник);
Настройки = Схема.НастройкиПоУмолчанию;
Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("МинимумКоличества", 0);
Настройки.Отбор.Элементы.Очистить();
Условие = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Условие.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Количество");
Условие.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;
Условие.ПравоеЗначение = 0;
Условие.Использование = Истина;
Условие.Представление = "Книги с положительным количеством";
Настройки.Отбор.ИдентификаторПользовательскойНастройки = Новый УникальныйИдентификатор;
Настройки.Отбор.ПредставлениеПользовательскойНастройки = "Отбор своих книг";
ДобавитьСвоеОформление(Настройки);
Компоновщик.ЗагрузитьНастройки(Настройки);
КонецПроцедурыТот же модуль: собственное именованное правило оформления
&НаСервере
Процедура ДобавитьСвоеОформление(Настройки)
Настройки.УсловноеОформление.Элементы.Очистить();
Правило = Настройки.УсловноеОформление.Элементы.Добавить();
Правило.Использование = Истина;
Правило.Представление = "Выделить собственные названия";
Поле = Правило.Поля.Элементы.Добавить();
Поле.Поле = Новый ПолеКомпоновкиДанных("Наименование");
Правило.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.СветлоЖелтый);
КонецПроцедурыТот же модуль: вывести настоящие настройки в поле результата
&НаСервере
Процедура ВывестиСвоиКнигиНаСервере()
Схема = Отчеты.УчебныеКнигиСКД.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Настройки = Компоновщик.ПолучитьНастройки();
ПостроительМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Макет = ПостроительМакета.Выполнить(Схема, Настройки);
Процессор = Новый ПроцессорКомпоновкиДанных;
Процессор.Инициализировать(Макет);
Результат = Новый ТабличныйДокумент;
Вывод = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
Вывод.УстановитьДокумент(Результат);
Вывод.Вывести(Процессор);
КонецПроцедурыРазбор по шагам
Подготовьте собственную схему и точные связи таблиц.
Откройте свою общую форму с указанным обработчиком.
Сравните редактор и фактический результат компоновки.
Как проверить результат
РежимОтображения — настройки Все / БыстрыйДоступ, не новое перечисление составных настроек. Изменение видимости редактора не выключает само условие Количество > 0.
Локальное ограничение редактора не заменяет роли / RLS. Макет конфигурации и пользовательские настройки базы этим опытом не сохраняются.
Ожидаемый результат
Есть реальный компоновщик, непустые собственные настройки, редакторы и вывод двух строк.
На что обратить внимание
Не заменяйте путь таблицы похожим по имени реквизитом другого типа; от него зависит доступность расширения.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.