В платформе 1С:Предприятие управление видимостью и фильтрацией данных является ключевым навыком для эффективной работы пользователей и разработчиков. Часто стандартный интерфейс не позволяет вывести нужные поля для фильтрации сразу, требуя ручной доработки конфигурации. Правильная настройка системы компоновки данных (СКД) открывает широкие возможности для гибкого анализа информации.
Добавление отборов в режим пользовательских настроек — это процесс, который требует понимания структуры макета компоновки данных. Ошибки на этом этапе могут привести к тому, что пользователь просто не увидит необходимый элемент управления в диалоге настроек отчета или списка. Пользовательские настройки позволяют адаптировать отчет под конкретные задачи без изменения кода программы.
В этой статье мы разберем пошаговый алгоритм действий, который позволит вам сделать нужные поля доступными для фильтрации конечным пользователям. Вы узнаете, как работать с иерархией полей, управлять видимостью элементов и сохранять готовые варианты настроек для быстрого доступа в будущем.
Подготовка схемы компоновки данных
Перед тем как добавлять отборы, необходимо открыть редактор макета компоновки данных для вашего отчета или списка. Обычно это делается через конфигуратор в режиме редактирования объекта метаданных. В открывшемся окне вы увидите структуру данных, которая формируется запросом.
Важно убедиться, что поля, которые вы планируете использовать для фильтрации, действительно присутствуют в наборе данных. Если поле отсутствует, его нужно добавить в набор данных или создать вычисляемое поле. Набор данных является фундаментом, на котором строятся все последующие настройки.
Обратите внимание на типы данных полей. Для корректной работы отборов тип поля должен соответствовать типу значения, которое пользователь будет вводить. Например, для даты нужен тип Дата, а для контрагента — тип СправочникСсылка.Контрагенты.
⚠️ Внимание: Если вы добавляете поле из связанной таблицы, убедитесь, что соединение в запросе настроено корректно. Иначе при формировании отчета с отбором может возникать ошибка выполнения запроса или данные будут отображаться некорректно.
После проверки структуры данных можно переходить к настройке параметров. Именно параметры будут выступать в роли переменных, значения которых пользователь будет задавать через интерфейс отбора.
Настройка параметров и их привязка
В дереве структуры макета найдите ветку «Параметры». Здесь создаются переменные, которые будут передаваться в запрос. Для каждого нового отбора необходимо создать соответствующий параметр с уникальным именем.
При создании параметра критически важно указать правильный Тип значения. Это определяет, какой интерфейс выбора будет предложен пользователю: календарь для даты, список для перечисления или поле ввода для строки. Ошибка в типе сделает использование отбора невозможным.
Далее необходимо привязать созданный параметр к полю в наборе данных. Это делается через настройки отборов в структуре макета. Вы выбираете поле, которое нужно фильтровать, и указываете, что его значение должно браться из созданного параметра.
Используйте понятные имена для параметров, например "ПериодОт" вместо "Параметр1". Это упростит отладку и понимание структуры макета другими разработчиками.
Существует возможность задать значение по умолчанию для параметра. Это удобно, чтобы при первом запуске отчета пользователь сразу видел актуальные данные, например, текущий месяц или свою организацию.
Добавление отбора в структуру настроек
Самый важный этап — включение отбора в список доступных пользовательских настроек. В дереве структуры макета найдите ветку «Настройки» -> «Отборы». Именно здесь формируется список того, что пользователь увидит в окне настроек.
Чтобы добавить отбор, нажмите кнопку добавления и выберите поле из набора данных. В свойствах этого отбора необходимо установить флаг «Включать в пользовательские настройки». Без этого флага отбор будет работать только программно или в предустановленном виде.
Для каждого отбора можно настроить заголовок, который будет виден пользователю. Стандартное имя поля часто бывает техническим и непонятным, поэтому лучше задать человеко-читаемое название, например, «Контрагент» вместо «Ссылка».
| Свойство отбора | Описание | Влияние на пользователя |
|---|---|---|
| Заголовок | Текст, отображаемый в форме настроек | Понятность интерфейса |
| Вид сравнения | Равно, Больше, В периоде и т.д. | Доступные операции фильтрации |
| Значение по умолчанию | Начальное значение при открытии | Скорость начала работы |
| Редактор значения | Тип поля ввода (календарь, список) | Удобство ввода данных |
Также в этом разделе настраивается видимость отбора. Можно сделать отбор обязательным или скрыть его по умолчанию, оставив возможность пользователю включить его через меню «Еще».
Управление видимостью и группировкой
Когда отборов становится много, интерфейс настроек может превратиться в хаос. Для решения этой проблемы в 1С предусмотрена возможность группировки элементов настроек. Вы можете объединить связанные отборы в логические блоки.
Создайте группу в дереве настроек и перетащите в нее нужные отборы. Пользователь сможет сворачивать и разворачивать эти группы, что значительно экономит место на экране и упрощает навигацию. Группировка особенно полезна в сложных аналитических отчетах.
Помимо группировки, можно управлять порядком следования отборов. Элементы, которые используются чаще всего, следует размещать вверху списка. Это делается простым перетаскиванием (Drag-and-Drop) в редакторе макета.
Существует возможность скрыть отбор из пользовательских настроек, оставив его активным. Это полезно для служебных фильтров, которые должны работать всегда, но не требуют вмешательства пользователя. Для этого снимите галочку «Включать в пользовательские настройки», но оставьте условие отбора активным.
⚠️ Внимание: Интерфейс настроек может отличаться в разных версиях платформы 1С. В старых версиях (например, 8.2) некоторые функции группировки могли быть ограничены по сравнению с современными версиями 8.3.
Сохранение и использование вариантов настроек
Одной из самых мощных функций системы компоновки данных является возможность сохранения вариантов настроек. Пользователь может настроить все необходимые отборы и сохраните этот набор под своим именем.
Для этого в форме отчета нужно нажать кнопку «Варианты отчетов» или «Сохранить вариант». В открывшемся окне вводится имя варианта. В дальнейшем этот вариант можно выбрать из списка, и все отборы применятся автоматически.
Разработчик может создать предопределенные варианты настроек прямо в конфигурации. Это делается в том же редакторе макета, в ветке «Варианты отчетов». Такие варианты будут доступны всем пользователям сразу после обновления конфигурации.
☑️ Проверка готовности отчета
Использование сохраненных вариантов экономит время сотрудников, которым ежедневно нужно формировать одни и те же срезы данных с одинаковыми фильтрами. Это повышает общую эффективность работы с системой.
Расширенные возможности и условия отображения
В сложных сценариях может потребоваться динамическое управление видимостью отборов. Например, показывать отбор по «Статье затрат» только если выбран определенный вид операции. Для этого используются условия отображения.
Условия настраиваются в свойствах элемента настроек. Вы можете задать логическое выражение, которое зависит от значений других параметров. Если условие истинно, отбор появляется на форме, если ложно — скрывается.
Также доступна настройка «Только доступные значения». Если включить эту опцию для отбора по справочнику, то в списке выбора будут показываться только те элементы, которые реально присутствуют в данных отчета с учетом других наложенных фильтров.
Как работает «Только доступные значения»?
Эта функция выполняет дополнительный запрос к базе данных для формирования списка значений. Она полезна, когда справочник огромный, но в конкретном отчете используется лишь малая часть элементов. Это ускоряет поиск нужного значения пользователем.
Однако стоит помнить, что сложные условия и динамические списки могут незначительно замедлить открытие формы настроек, так как системе требуется время на вычисление условий и формирование списков.
Частые ошибки и способы их устранения
При настройке отборов новички часто сталкиваются с типичными проблемами. Одна из самых частых — отбор есть в настройках, но не фильтрует данные. Обычно это означает, что параметр не привязан к полю в запросе или в условии отбора стоит константа вместо параметра.
Другая распространенная ошибка — неверный тип значения параметра. Если в параметре указана Строка, а в базе хранится Число, отчет выдаст ошибку или некорректный результат. Всегда сверяйте типы данных в свойствах параметра и в структуре набора данных.
Иногда пользователи жалуются, что не могут найти нужный отбор. Проверьте, не скрыт ли он в свёрнутую группу или не установлен ли для него запрет на видимость в правах доступа. Права доступа могут ограничивать видимость определенных полей для конкретных ролей.
⚠️ Внимание: При изменении структуры макета компоновки данных в рабочей базе обязательно делайте резервную копию конфигурации. Ошибка в СКД может сделать отчет неработоспособным для всех пользователей.
Для отладки используйте режим «Отладка» в конфигураторе или выводите текст сформированного запроса. Это позволяет увидеть, какие именно условия попали в финальный SQL-запрос к базе данных.
Грамотная настройка отборов в 1С сокращает время работы пользователей с отчетами в разы и снижает нагрузку на сервер за счет точной фильтрации данных на уровне запроса.
Почему отбор не появляется в списке пользовательских настроек?
Скорее всего, у элемента отбора в структуре макета не установлен флаг «Включать в пользовательские настройки». Также проверьте, не скрыт ли он условиями видимости или правами доступа.
Можно ли сделать отбор обязательным для заполнения?
Да, в свойствах параметра можно установить признак «Важный». В этом случае система не позволит сформировать отчет, пока пользователь не заполнит это поле значением.
Как добавить отбор по периоду (С... По...)?
Для этого нужно создать два параметра (ДатаНач и ДатаКон) и в настройках отбора выбрать поле даты. В виде сравнения укажите «В периоде» и привяжите оба параметра к этому отбору.
Где хранятся сохраненные варианты отчетов?
Варианты, сохраненные пользователем, хранятся в его персональных настройках в базе данных. Предопределенные варианты хранятся в тексте макета компоновки данных внутри конфигурации.
Влияют ли пользовательские отборы на производительность?
Да, правильно настроенные отборы повышают производительность, так как ограничивают выборку данных на уровне запроса к СУБД. Однако сложные вычисляемые поля в условиях отбора могут её снизить.