Перейти к содержимому

Паттерны СКД (галочка-отбор, заголовок поля внешнего набора)

Рекомендация

#скд#запросы

Два переиспользуемых приёма для отчётов на СКД.

1. Пользовательский отбор как одиночная галочка

Заголовок раздела «1. Пользовательский отбор как одиночная галочка»

Предустановленные фильтры с понятными именами («Только активные», «Только небезопасные») оформлять как одиночную галочку без поля выбора «Да/Нет». Решение — обернуть условие в FilterItemGroup с userSettingPresentation на уровне группы (не на уровне сравнения). Иначе рядом с галочкой показывается лишний выпадающий «Да/Нет».

Пользовательский заголовок поля dataSet задавать в <dcsset:title> внутри <dcsset:item xsi:type="dcsset:SelectedItemField">settingsVariant), а не элементом <title> внутри <field xsi:type="DataSetFieldField">.

Неверное место заголовка ломает загрузку: при чтении Template.xml платформа падает с «Ошибка преобразования данных XDTO… НачалоСвойства: title… Тип: anyType…»; после dump в XML заголовок «слетает», а load бросает XDTO-исключение. Галочка без обёртки-группы показывает лишний выпадающий список — мелочь, но раздражает пользователя в каждом отчёте.

  • Галочка-группа нужна только для предустановленных отборов с фиксированным значением. Обычные отборы, где пользователь сам выбирает значение (контрагент, период), оформляются штатно.
  • Если заголовок поля постоянный и совпадает во всех вариантах отчёта — проще задать псевдоним прямо в тексте запроса (КАК ДолжностьСотрудника), приём с dcsset:title нужен для полей внешних наборов данных.