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