Как настроить порядок вывода параметров на форме отчета СКД

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

При разработке отчетов на Системе компоновки данных (СКД) разработчики часто сталкиваются с ситуацией, когда платформа 1С:Предприятие самовольно меняет порядок параметров на форме. Например, вы хотите, чтобы сначала шел вспомогательный параметр (переключатель), а затем — СтандартныйПериод, но система упорно выносит период на первое место. Рассмотрим подробно, как управлять последовательностью вывода параметров и какие механизмы на это влияют.

Разберем основной механизм управления порядком

Первое и самое важное заблуждение заключается в том, что порядок параметров на вкладке «Параметры» в схеме компоновки данных определяет их порядок на форме. На самом деле, эта вкладка служит лишь для определения состава параметров, их типов и выражений. Порядок отображения в пользовательском интерфейсе задается в настройках варианта отчета.

Выполним следующие шаги для настройки:

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

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

Влияние Библиотеки стандартных подсистем (БСП)

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

Группировка по типу данных. БСП часто принудительно выносит элементы с типом СтандартныйПериод в отдельный блок или в начало списка. Это сделано для единообразия интерфейса, чтобы пользователь всегда видел период в одном и том же месте.

Двухколоночный режим. Форма отчета в БСП обычно распределяет параметры в две колонки. Если один параметр по объему занимает больше места (как период с кнопкой выбора), система может переставить его для более компактного размещения элементов. Чтобы этого избежать, рассмотрим использование групп пользовательских настроек.

Использование групп пользовательских настроек

Начиная с версии платформы 8.3.8, в СКД появился мощный инструмент — группы. Они позволяют не просто задать порядок, но и логически объединить параметры. Проанализируем, как это помогает решить проблему:

  1. В том же окне «Настройки пользовательских настроек» нажмем кнопку «Добавить группу».
  2. Зададим заголовок группы (его можно скрыть, если выбрать тип группы Без группировки).
  3. Перетащим нужные параметры внутрь этой группы.
  4. Установим для группы режим отображения: Обычный, В отдельной колонке или На новой странице.

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

Особенности типа СтандартныйПериод

Объект СтандартныйПериод является привилегированным в глазах системы компоновки. Если нам критически важно, чтобы дата была в самом конце или перемежалась с другими типами данных без использования групп, иногда проще отказаться от СтандартныйПериод в пользу двух параметров с типом Дата (например, ДатаНачала и ДатаОкончания). К обычным датам платформа применяет стандартные правила сортировки и не пытается «вытолкнуть» их вверх списка.

Посмотрим на пример настройки выражения для использования отдельных дат вместо стандартного периода в тексте запроса:


ГДЕ
    Продажи.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
    ИЛИ (&НеИспользоватьПериод = ИСТИНА)

В этом случае параметры будут выводиться в том порядке, который указан в пользовательских настройках, без учета специфики «периодических» объектов.

Сброс настроек для применения изменений

Часто разработчик меняет порядок параметров в конфигураторе, запускает отчет в пользовательском режиме, но не видит изменений. Проанализируем ситуацию: это происходит потому, что 1С сохраняет настройки формы для каждого пользователя индивидуально. Система сначала считывает настройки из кэша (как они были расположены в прошлый раз), а потом уже обращается к схеме.

Чтобы увидеть новый порядок, необходимо выполнить следующие действия в пользовательском режиме:

  1. Открыть форму отчета.
  2. Нажать кнопку «Еще».
  3. Выбрать пункт «Установить стандартные настройки».

Только после этого платформа перечитает структуру параметров из обновленной схемы компоновки данных.

Использование префиксов (совет из практики)

Если вы работаете в старых версиях платформы или в конфигурациях без БСП, где интерфейс генерируется максимально упрощенно, можно воспользоваться методом «визуальной сортировки». Рассмотрим его подробнее: перед именами представлений параметров ставятся цифры (например, 1. Вид использования, 2. Период). Хотя это выглядит менее эстетично, такой подход гарантирует, что даже при алфавитной сортировке (которую иногда применяет платформа внутри коллекций) параметры выстроятся правильно.

Подведем итог: для управления порядком параметров мы используем окно «Свойства пользовательских настроек» на вкладке «Настройки», группируем элементы для фиксации их положения и не забываем сбрасывать пользовательские настройки к стандартным после внесения изменений в конфигуратор.

← На главную