Как реализовать аналог конструктора настроек СКД в управляемых формах

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей
← На главную

При переходе с обычных форм (ОФ) на управляемые (УФ) многие разработчики и пользователи сталкиваются с отсутствием привычной кнопки «Конструктор настроек». В классическом интерфейсе этот инструмент позволял пошагово создавать структуру отчета. В управляемом приложении концепция изменилась: акцент сместился на гибкую настройку пользовательских полей и использование встроенных механизмов изменения варианта. Рассмотрим подробнее, как вернуть или заменить этот функционал, и разберем способы управления настройками компоновки данных.

Понимание концепции настроек в управляемых формах

В управляемых формах за работу с настройками отвечает объект КомпоновщикНастроек. Вместо единого «мастера», платформа предлагает разделение на три уровня взаимодействия:

  1. Быстрые настройки: отображаются непосредственно на форме отчета (флажки, поля ввода параметров).
  2. Пользовательские настройки: вызываются по кнопке «Настройки» и позволяют менять фильтры, сортировку и условное оформление.
  3. Изменение варианта: наиболее полный аналог конструктора, позволяющий менять структуру (группировки, таблицы, диаграммы).

Проанализируем ситуацию, когда пользователь не видит расширенных настроек. Это часто связано с версией платформы. Начиная с 8.3.18, интерфейс настройки отчетов был переработан. Теперь «Расширенные настройки» — это не просто кнопка, а полноценный режим внутри стандартного окна настроек. Если ваша платформа ниже 8.3.18, вид формы будет существенно отличаться.

Способ 1: Программный вызов стандартного конструктора

Если нам необходимо вызвать окно редактирования настроек программно (например, по нажатию своей кнопки), мы можем воспользоваться методами глобального контекста. Разберем, как это реализовать.

Наиболее близким техническим аналогом вызова конструктора является метод РедактироватьНастройкиКомпоновкиДанных. Он открывает стандартное окно, где пользователь может интерактивно изменить параметры.


// Пример вызова окна настроек из кода управляемой формы
&НаКлиенте
Процедура КомандаВызватьНастройки(Команда)
    
    // Получаем настройки из компоновщика отчета
    ТекущиеНастройки = Отчет.КомпоновщикНастроек.Настройки;
    
    // Описываем описание схемы (если нужно редактировать структуру)
    Схема = Отчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    
    // Вызываем диалог редактирования
    РедактироватьНастройкиКомпоновкиДанных(
        Неопределено, 
        ТекущиеНастройки, 
        Схема.НастройкиПоУмолчанию, 
        Схема
    );
    
КонецПроцедуры

Также важно помнить о команде «Изменить вариант». Если она скрыта из стандартного меню, ее можно вызвать принудительно через выполнение стандартной команды формы:

ЭтотОбъект.ВыполнитьКоманду("ИзменитьВариант");

Способ 2: Настройка «Быстрого доступа» для свойств (на примере типа диаграммы)

Часто пользователи ищут конструктор только для того, чтобы изменить одну деталь, например, тип диаграммы. Вместо того чтобы заставлять пользователя заходить в «Изменить вариант», мы можем вынести это свойство в пользовательские настройки. Выясним, как это сделать в конфигураторе:

  1. Откроем схему СКД и перейдем на закладку «Настройки».
  2. Выберем в дереве настроек элемент «Диаграмма».
  3. В правой нижней части экрана (свойства элемента) найдем колонку с изображением ключа (Пользовательские настройки).
  4. Установим флажок «Включать в пользовательские настройки».
  5. В поле «Режим редактирования» выберем «Быстрый доступ».

После этих действий выбор типа диаграммы (гистограмма, круговая и т.д.) появится у пользователя прямо в основной панели настроек отчета, что исключает необходимость поиска конструктора.

Способ 3: Использование состава пользовательских настроек на форме

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

Для этого выполним следующие шаги:

  1. В редакторе управляемой формы перейдем на закладку «Данные».
  2. Найдем реквизит Отчет, раскроем его и увидим КомпоновщикНастроек.
  3. Перетащим ветку ПользовательскиеНастройки в дерево элементов формы.

Платформа автоматически создаст таблицу, связанную с настройками. Теперь пользователь сможет добавлять новые условия фильтрации так же удобно, как это было в конструкторе ОФ.

Особенности новых версий платформы (8.3.18+)

Посмотрим на изменения, которые принесли последние обновления платформы. В современных конфигурациях (например, УТ 11.5, ERP 2.5) используется «Панель настроек», которая открывается в правой части формы отчета. Если в вашем отчете она не отображается, проверьте следующее:

В этих версиях кнопка «Настройки» переключает режимы «Простой» и «Расширенный». В расширенном режиме доступны закладки «Фильтры», «Поля и сортировки», «Оформление» и «Структура». Последняя закладка («Структура») и является современным воплощением Конструктора настроек.

Резюме

Несмотря на то, что прямой кнопки «Конструктор настроек» в УФ нет, функционал не исчез, а распределился между «Пользовательскими настройками» и режимом «Изменить вариант». Для разработчика лучшим решением будет вынос часто используемых свойств в «Быстрый доступ», а для сложных манипуляций со структурой — обучение пользователей работе с вариантом отчета или программный вызов диалога редактирования через РедактироватьНастройкиКомпоновкиДанных.

← На главную