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