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

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

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

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

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

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

  1. Доступ к настройкам: Чтобы изменить тему, пользователю необходимо перейти в меню "Сервис и настройки" (Service and settings). Обычно оно находится в правом верхнем углу или доступно через главное меню.
  2. Выбор пункта: В этом меню следует выбрать пункт "Настройки внешнего вида" (Appearance settings). В некоторых случаях для удобства работы также может быть полезна оптимизация заголовка окна приложения в Windows, чтобы интерфейс выглядел более упорядоченно.
  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" и использовании тем, рекомендуется убедиться, что все используемые в конфигурации заставки, логотипы и изображения основных разделов являются векторными. Чтобы проверить, как элементы будут выглядеть при разном разрешении, вам поможет проверочная масштабируемая картинка. Это позволит им корректно масштабироваться и выглядеть четко на разных устройствах. Более того, желательно иметь отдельные варианты изображений для светлой и темной тем, либо использовать готовые качественные иконки и значки для 1С, которые хорошо адаптируются к любой теме оформления.
  3. ХранилищеСистемныхНастроек: Объект ХранилищеСистемныхНастроек предоставляет доступ к стандартному хранилищу системных настроек, которое используется для сохранения и загрузки различных параметров, включая тему клиентского приложения. Это мощный инструмент для управления пользовательскими предпочтениями.
  4. Темная тема конфигуратора: Важно помнить, что темная тема для конфигуратора (среды разработки 1С) настраивается отдельно и не связана напрямую с темой клиентского приложения. Это две разные настройки для разных частей платформы.

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

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

← На главную