Приветствуем вас, коллеги! Сегодня мы с вами погрузимся в мир настроек внешнего вида и тем оформления в новой версии платформы 1С:Предприятие 8.5. Эта версия предлагает значительные улучшения в пользовательском интерфейсе, продолжая развитие концепции "Такси" и предлагая более современный и гибкий подход к отображению приложения. Мы выясним, как пользователи могут персонализировать свой интерфейс, а разработчики — программно управлять этими настройками. Давайте разберем эту задачу вместе, шаг за шагом.
Фирма "1С" представила интерфейс "Версия 8.5", который включает поддержку светлой и темной тем оформления. Это позволяет сделать работу с приложением более комфортной для глаз в различных условиях освещения и в соответствии с индивидуальными предпочтениями пользователя. Мы рассмотрим, как использовать эти возможности.
Начнем с того, как обычный пользователь может самостоятельно настроить внешний вид своего клиентского приложения. Это самый простой и доступный способ персонализации.
Для разработчиков, которым необходимо программно управлять темой клиентского приложения (например, в зависимости от роли пользователя, настроек конфигурации или других условий), платформа 1С:Предприятие 8.5 предоставляет специальные механизмы. Мы проанализируем, как это реализовать.
Центральным объектом для программной работы с настройками клиентского приложения является объект НастройкиКлиентскогоПриложения и его свойство ТемаКлиентскогоПриложения. Для сохранения и загрузки этих настроек используется ХранилищеСистемныхНастроек.
Рассмотрим подробнее, как мы можем программно установить тему оформления. Для этого нам потребуется загрузить текущие настройки, изменить нужное свойство и сохранить изменения.
ХранилищеСистемныхНастроек.Загрузить(). Ключ настройки для клиентского приложения обычно имеет вид "Общее/НастройкиКлиентскогоПриложения".НастройкиКлиентскогоПриложения, который содержит свойство ТемаКлиентскогоПриложения. Этому свойству можно присвоить одно из значений системного перечисления ТемаКлиентскогоПриложения. Доступные значения: ТемаКлиентскогоПриложения.Авто, ТемаКлиентскогоПриложения.Светлая, ТемаКлиентскогоПриложения.Темная.ХранилищеСистемныхНастроек с помощью метода Сохранить().Посмотрим на пример кода, демонстрирующий этот подход:
// Определяем ключ, по которому хранятся настройки клиентского приложения
КлючНастройкиКлиентскогоПриложения = "Общее/НастройкиКлиентскогоПриложения";
// Загружаем текущие настройки из хранилища
// Если настройки не найдены, создается новый объект НастройкиКлиентскогоПриложения
Настройки = ХранилищеСистемныхНастроек.Загрузить(КлючНастройкиКлиентскогоПриложения);
// Проверяем, удалось ли загрузить или создать объект настроек
Если Настройки <> Неопределено Тогда
// Получаем текущую тему пользователя (как обсуждалось на форуме)
ТекущаяТемаПользователя = Настройки.ТемаКлиентскогоПриложения;
Сообщить("Текущая тема пользователя: " + ТекущаяТемаПользователя);
// Устанавливаем желаемую тему. Например, "Светлая".
// Важно: для темной темы в не-веб клиентах могут быть ограничения,
// она может интерпретироваться как "Светлая".
Настройки.ТемаКлиентскогоПриложения = ТемаКлиентскогоПриложения.Светлая;
Сообщить("Устанавливаем тему: Светлая");
// Сохраняем измененные настройки обратно в хранилище
ХранилищеСистемныхНастроек.Сохранить(КлючНастройкиКлиентскогоПриложения, Настройки);
Сообщить("Настройки темы сохранены. Для применения требуется перезапуск приложения.");
Иначе
Сообщить("Не удалось загрузить или создать объект НастройкиКлиентскогоПриложения.");
КонецЕсли;
Важный момент: Как уже было отмечено, если вы выберете ТемаКлиентскогоПриложения.Темная в программном коде или свойствах конфигурации, она поддерживается только в веб-клиенте. В других клиентах (например, тонком или толстом) темная тема может быть интерпретирована как светлая. Учитывайте это при разработке.
Разработчики также могут задать тему приложения в свойстве конфигурации "Тема клиентского приложения" в конфигураторе. Доступны значения "Авто", "Светлая" и "Темная". Этот способ определяет тему по умолчанию для всех пользователей, если они не переопределили ее в своих персональных настройках. Однако здесь также действует ограничение: если выбрать "Темная" в свойствах конфигурации, она будет корректно отображаться только в веб-клиенте, а в других клиентах будет интерпретироваться как "Светлая".
Существует еще один способ для установки темы — при запуске 1С:Предприятия с помощью параметров командной строки. Этот метод может быть полезен для тестирования или для создания ярлыков с предопределенными настройками темы. Конкретные параметры следует уточнять в документации платформы.
При работе с новым интерфейсом "Версия 8.5" и его темами, мы должны учесть несколько важных моментов:
ХранилищеСистемныхНастроек: Объект ХранилищеСистемныхНастроек предоставляет доступ к стандартному хранилищу системных настроек, которое используется для сохранения и загрузки различных параметров, включая тему клиентского приложения. Это мощный инструмент для управления пользовательскими предпочтениями.В начале обсуждения на форуме прозвучала шутка о "нейронке для определения темы". Конечно, на самом деле, платформа 1С:Предприятие 8.5 предоставляет все необходимые встроенные механизмы для определения и установки темы, как пользовательские, так и программные, без необходимости прибегать к таким экзотическим решениям. Мы видим, что функционал для работы с темами уже заложен в платформу и доступен через стандартные объекты и методы.
Надеемся, что этот подробный разбор поможет вам эффективно использовать и управлять настройками внешнего вида в 1С:Предприятии 8.5, делая работу с приложением еще более удобной и приятной как для пользователей, так и для разработчиков!
← К списку