В процессе разработки или эксплуатации конфигураций на платформе 1С:Предприятие 8.3 разработчики и пользователи иногда сталкиваются с неприятной ситуацией: кнопка «Настроить список» (расположенная в подменю «Ещё» управляемой таблицы) визуально активна, нажимается, но при этом ничего не происходит. Окно отборов, группировок и условного оформления просто не появляется на экране. Особенно критично, когда проблема начинает проявляться глобально — сразу во всех журналах документов, справочниках и динамических списках базы данных.
В этой статье мы подробно разберем механику работы этой системной команды, проанализируем корневую причину сбоя и рассмотрим пошаговые инструкции по его устранению, а также изучим альтернативные факторы, которые могут вызывать аналогичное поведение.
Разберем сначала, как платформа 1С обрабатывает стандартную команду настройки списка. Динамический список использует объект КомпоновщикНастроек. Когда пользователь выбирает пункт меню «Настроить список», платформа выполняет следующий алгоритм:
Если кнопка перестала реагировать на нажатие абсолютно во всех формах списка (в документах, справочниках, регистрах), то причина всегда кроется на глобальном уровне метаданных.
В свойствах корня конфигурации предусмотрено специальное поле — «Основная форма настроек динамического списка». Это свойство позволяет разработчикам подменить стандартное диалоговое окно отборов платформы 1С на собственную общую форму (например, из состава Библиотеки Стандартных Подсистем или кастомной разработки).
Проблема возникает в тех случаях, когда в данном свойстве указана общая форма, работа которой нарушена. Рассмотрим, что происходит при нажатии кнопки в такой ситуации:
ПриСозданииНаСервере в модуле формы происходит отмена открытия (например, установлен параметр Отказ = Истина или сработал оператор Возврат).Проанализируем пример кода в модуле такой общей формы, который приводит к подобному блокированию:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Если переданы некорректные параметры или у пользователя нет прав
Если НЕ Параметры.Свойство("Настройки") Тогда
// Отменяем открытие формы
Отказ = Истина;
Возврат;
КонецЕсли;
КонецПроцедуры
Если в такой форме возникает незамеченное исключение или некорректно отсекаются параметры вызова, пользователь вовсе не сможет открыть окно настройки ни в одном динамическом списке системы.
Выяснив причину, рассмотрим способы решения задачи в зависимости от ваших целей.
Если вам не требуется специальная кастомная форма настроек, наиболее простым и надежным решением будет сброс свойства конфигурации к значению по умолчанию.
После этого платформа вернется к использованию стандартного системного диалога, и кнопка «Настроить список» снова станет полностью рабочей во всех разделах системы.
Если конфигурация требует использования специальной формы (например, в рамках БСП), необходимо устранить ошибку внутри самой формы:
ПриСозданииНаСервере и ПриОткрытии.Отказ = Истина не срабатывает ложно при стандартном вызове команды из динамического списка.Если проблема наблюдается не во всей базе, а у конкретного пользователя или в отдельном документе, причина может заключаться в следующем:
Решение: Сбросьте настройки конкретной формы через меню «Администрирование -> Настройки пользователей и прав», либо очистите кэш клиента 1С (запуск с ключом /ClearCache).
ТаблицаФормы или самого ДинамическийСписок могут быть отключены флаги разрешений (например, снят флаг разрешения изменения состава колонок или отборов).КомпоновщикНастроек.ФиксированныеНастройки, пользователь не сможет изменить эти условия в окне настройки списка:
// Пример установки фиксированного отбора, недоступного для сброса пользователем
ЭлементОтбора = Список.КомпоновщикНастроек.ФиксированныеНастройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Проведен");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = Истина;
ЭлементОтбора.Использование = Истина;
Подводя итог: при потере реакций на кнопку «Настроить список» во всей системе первым делом проверяем свойства корня конфигурации. Это позволяет быстро восстановить штатную работу всех форм списков без длительного поиска ошибок в коде отдельных документов.