Как настроить внешний вид и темы оформления в 1С:Предприятии 8.5?

Программист 1С v8.5 IT и автоматизация бизнеса
← К списку

Приветствуем вас, коллеги! Сегодня мы с вами погрузимся в мир настроек внешнего вида и тем оформления в новой версии платформы 1С:Предприятие 8.5. Эта версия предлагает значительные улучшения в пользовательском интерфейсе, продолжая развитие концепции "Такси" и предлагая более современный и гибкий подход к отображению приложения. Мы выясним, как пользователи могут персонализировать свой интерфейс, а разработчики — программно управлять этими настройками. Давайте разберем эту задачу вместе, шаг за шагом.

Фирма "1С" представила интерфейс "Версия 8.5", который включает поддержку светлой и темной тем оформления. Это позволяет сделать работу с приложением более комфортной для глаз в различных условиях освещения и в соответствии с индивидуальными предпочтениями пользователя. Мы рассмотрим, как использовать эти возможности.

Пользовательские настройки внешнего вида: как изменить тему оформления

Начнем с того, как обычный пользователь может самостоятельно настроить внешний вид своего клиентского приложения. Это самый простой и доступный способ персонализации.

  1. Доступ к настройкам: Чтобы изменить тему, пользователю необходимо перейти в меню "Сервис и настройки" (Service and settings). Обычно оно находится в правом верхнем углу или доступно через главное меню.
  2. Выбор пункта: В этом меню следует выбрать пункт "Настройки внешнего вида" (Appearance settings).
  3. Варианты тем: Перед нами откроется окно с доступными вариантами тем. Давайте рассмотрим каждый из них подробнее:
    • Авто (Auto): Этот режим является наиболее универсальным. При его выборе тема приложения 1С будет автоматически определяться на основе системных настроек операционной системы, на которой запущено клиентское приложение. Если в ОС установлена темная тема, 1С также примет темную тему, и наоборот. Переключение между темами происходит динамически при изменении системных настроек.
    • Светлая (Light): Интерфейс будет оформлен в традиционных светлых тонах, преимущественно с использованием белого и серых цветов для фонов и светлых шрифтов. Этот вариант привычен для большинства пользователей.
    • Темная (Dark): Интерфейс отображается в темных тонах (черно-серые цвета) со светлыми шрифтами. Темная тема помогает снизить нагрузку на глаза, особенно при длительной работе или в условиях низкой освещенности. Важно отметить, что в темной теме цвета, используемые для выделения, адаптируются для лучшей читаемости, а некоторые панели, отчеты и всплывающие меню могут использовать инверсию цветов.
  4. Применение темы: После выбора желаемой темы, она будет применена после перезапуска приложения 1С:Предприятие. Не забудьте об этом!
  5. Дополнительные настройки: В настройках внешнего вида также можно задать масштаб элементов интерфейса (компактный или обычный) и расположение главного меню (слева или сверху). Эти дополнительные настройки, как правило, доступны только в веб-клиенте.

Программное управление темами для разработчиков

Для разработчиков, которым необходимо программно управлять темой клиентского приложения (например, в зависимости от роли пользователя, настроек конфигурации или других условий), платформа 1С:Предприятие 8.5 предоставляет специальные механизмы. Мы проанализируем, как это реализовать.

Центральным объектом для программной работы с настройками клиентского приложения является объект НастройкиКлиентскогоПриложения и его свойство ТемаКлиентскогоПриложения. Для сохранения и загрузки этих настроек используется ХранилищеСистемныхНастроек.

1. Изменение темы через встроенный язык

Рассмотрим подробнее, как мы можем программно установить тему оформления. Для этого нам потребуется загрузить текущие настройки, изменить нужное свойство и сохранить изменения.

  1. Загрузка текущих настроек: Сначала нам нужно получить текущие настройки клиентского приложения из системного хранилища. Для этого используем метод ХранилищеСистемныхНастроек.Загрузить(). Ключ настройки для клиентского приложения обычно имеет вид "Общее/НастройкиКлиентскогоПриложения".
  2. Изменение свойства темы: После загрузки настроек мы получаем доступ к объекту НастройкиКлиентскогоПриложения, который содержит свойство ТемаКлиентскогоПриложения. Этому свойству можно присвоить одно из значений системного перечисления ТемаКлиентскогоПриложения. Доступные значения: ТемаКлиентскогоПриложения.Авто, ТемаКлиентскогоПриложения.Светлая, ТемаКлиентскогоПриложения.Темная.
  3. Сохранение изменений: Чтобы наши изменения вступили в силу, необходимо сохранить модифицированный объект настроек обратно в ХранилищеСистемныхНастроек с помощью метода Сохранить().

Посмотрим на пример кода, демонстрирующий этот подход:


// Определяем ключ, по которому хранятся настройки клиентского приложения
КлючНастройкиКлиентскогоПриложения = "Общее/НастройкиКлиентскогоПриложения";

// Загружаем текущие настройки из хранилища
// Если настройки не найдены, создается новый объект НастройкиКлиентскогоПриложения
Настройки = ХранилищеСистемныхНастроек.Загрузить(КлючНастройкиКлиентскогоПриложения);

// Проверяем, удалось ли загрузить или создать объект настроек
Если Настройки <> Неопределено Тогда
    // Получаем текущую тему пользователя (как обсуждалось на форуме)
    ТекущаяТемаПользователя = Настройки.ТемаКлиентскогоПриложения;
    Сообщить("Текущая тема пользователя: " + ТекущаяТемаПользователя);

    // Устанавливаем желаемую тему. Например, "Светлая".
    // Важно: для темной темы в не-веб клиентах могут быть ограничения,
    // она может интерпретироваться как "Светлая".
    Настройки.ТемаКлиентскогоПриложения = ТемаКлиентскогоПриложения.Светлая;
    Сообщить("Устанавливаем тему: Светлая");

    // Сохраняем измененные настройки обратно в хранилище
    ХранилищеСистемныхНастроек.Сохранить(КлючНастройкиКлиентскогоПриложения, Настройки);
    Сообщить("Настройки темы сохранены. Для применения требуется перезапуск приложения.");
Иначе
    Сообщить("Не удалось загрузить или создать объект НастройкиКлиентскогоПриложения.");
КонецЕсли;

Важный момент: Как уже было отмечено, если вы выберете ТемаКлиентскогоПриложения.Темная в программном коде или свойствах конфигурации, она поддерживается только в веб-клиенте. В других клиентах (например, тонком или толстом) темная тема может быть интерпретирована как светлая. Учитывайте это при разработке.

2. Установка темы через свойства конфигурации

Разработчики также могут задать тему приложения в свойстве конфигурации "Тема клиентского приложения" в конфигураторе. Доступны значения "Авто", "Светлая" и "Темная". Этот способ определяет тему по умолчанию для всех пользователей, если они не переопределили ее в своих персональных настройках. Однако здесь также действует ограничение: если выбрать "Темная" в свойствах конфигурации, она будет корректно отображаться только в веб-клиенте, а в других клиентах будет интерпретироваться как "Светлая".

3. Указание темы через параметры командной строки

Существует еще один способ для установки темы — при запуске 1С:Предприятия с помощью параметров командной строки. Этот метод может быть полезен для тестирования или для создания ярлыков с предопределенными настройками темы. Конкретные параметры следует уточнять в документации платформы.

Важные аспекты и рекомендации для разработчиков

При работе с новым интерфейсом "Версия 8.5" и его темами, мы должны учесть несколько важных моментов:

  1. Режим совместимости интерфейса: Для того чтобы новый интерфейс "Версия 8.5" стал доступен и заработал, необходимо в конфигураторе установить соответствующий "Режим совместимости интерфейса" для вашей конфигурации. Если этот режим не установлен, новые возможности интерфейса могут быть недоступны.
  2. Визуальные элементы: При переходе на интерфейс "Версия 8.5" и использовании тем, рекомендуется убедиться, что все используемые в конфигурации заставки, логотипы и изображения основных разделов являются векторными. Это позволит им корректно масштабироваться и выглядеть четко на разных устройствах. Более того, желательно иметь отдельные варианты изображений для светлой и темной тем, либо использовать шаблонный вариант, который будет хорошо адаптироваться к любой теме оформления.
  3. ХранилищеСистемныхНастроек: Объект ХранилищеСистемныхНастроек предоставляет доступ к стандартному хранилищу системных настроек, которое используется для сохранения и загрузки различных параметров, включая тему клиентского приложения. Это мощный инструмент для управления пользовательскими предпочтениями.
  4. Темная тема конфигуратора: Важно помнить, что темная тема для конфигуратора (среды разработки 1С) настраивается отдельно и не связана напрямую с темой клиентского приложения. Это две разные настройки для разных частей платформы.

В начале обсуждения на форуме прозвучала шутка о "нейронке для определения темы". Конечно, на самом деле, платформа 1С:Предприятие 8.5 предоставляет все необходимые встроенные механизмы для определения и установки темы, как пользовательские, так и программные, без необходимости прибегать к таким экзотическим решениям. Мы видим, что функционал для работы с темами уже заложен в платформу и доступен через стандартные объекты и методы.

Надеемся, что этот подробный разбор поможет вам эффективно использовать и управлять настройками внешнего вида в 1С:Предприятии 8.5, делая работу с приложением еще более удобной и приятной как для пользователей, так и для разработчиков!

← К списку