Как настроить отбор справочника по владельцу в СКД без создания формы отчета?

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

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

Решение через макет СКД: Связи параметров выбора

Для реализации отбора подчиненного справочника по выбранному владельцу без создания формы отчета используем штатный механизм «Связи параметров выбора» непосредственно в схеме компоновки данных.

Разберем по шагам алгоритм настройки:

  1. Откроем макет Схемы компоновки данных нашего отчета.
  2. Перейдем на закладку «Наборы данных».
  3. В списке полей найдем зависимое поле — ПроектнаяЗадача.
  4. В колонке «Параметры редактирования» нажмем кнопку открытия (троеточие).
  5. В открывшемся окне найдем пункт «Связи параметров выбора» и откроем диалог настройки.
  6. Добавим новую строку со следующими значениями:
    • Имя параметра: Отбор.Владелец
    • Поле: Проект
    • Режим изменения значения: Очищать
  7. Сохраним настройки макета СКД.

После этого платформа 1С в управляемом приложении начнет автоматически передавать значение ведущего поля Проект в качестве владельца при выборе значения поля ПроектнаяЗадача.

Важно: данная функциональность штатно работает в управляемом приложении (УФ). Для обычного приложения аналогичная настройка в макете СКД не отрабатывает на форме по умолчанию.

Альтернативные способы настройки

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

1. Настройка на уровне метаданных

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

2. Использование возможностей БСП

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


Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
	// Настройка динамических параметров выбора через события формы
КонецПроцедуры

Возможные проблемы и нюансы работы

Выясним причину, почему отбор может не срабатывать даже после корректной настройки макета:

← На главную