Как вывести версию релиза конфигурации на экран в 1С?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При активной поддержке пользователей часто возникает необходимость быстро идентифицировать версию программного продукта по присланным скриншотам. По умолчанию 1С отображает версию в окне «О программе», но пользователи редко догадываются его открыть. В этой статье мы подробно разберем, какими способами можно вывести номер релиза непосредственно в интерфейс приложения, чтобы он всегда был перед глазами — как в настольной версии, так и в мобильном клиенте.

Метод 1. Установка заголовка клиентского приложения

Если ваши пользователи работают преимущественно в тонком или толстом клиенте на персональных компьютерах, самым простым и элегантным решением будет программная установка общего заголовка системы. Разберем, как это реализовать.

Для автоматического вывода версии при запуске программы нам необходимо использовать процедуру ПриНачалеРаботыСистемы в модуле управляемого приложения. Мы проанализируем метаданные конфигурации, получим номер версии и установим его в заголовок окна.

Рассмотрим пример кода:


Процедура ПриНачалеРаботыСистемы()
    ВерсияПрограммы = Метаданные.Версия;
    ТекстЗаголовка = "Моя конфигурация (релиз: " + ВерсияПрограммы + ")";
    УстановитьЗаголовокКлиентскогоПриложения(ТекстЗаголовка);
КонецПроцедуры

В данном случае функция УстановитьЗаголовокКлиентскогоПриложения меняет текст в самой верхней полосе окна Windows. Это решение идеально подходит для скриншотов всего экрана, так как информация о версии будет видна всегда, независимо от открытого документа.

Метод 2. Использование констант для типовых конфигураций

Во многих типовых решениях от фирмы 1С (например, в «1С:Бухгалтерии») предусмотрена специальная настройка. Если мы заглянем в раздел администрирования или настроек системы, то сможем найти поле «Заголовок программы». Записав туда номер текущего релиза, мы получим аналогичный результат без написания кода.

Важно понимать: этот метод требует ручного обновления заголовка при каждом выпуске обновления. Поэтому для разработчиков самописных решений программный метод из первого пункта является более предпочтительным, так как он исключает человеческий фактор.

Метод 3. Особенности мобильного клиента и мобильных приложений

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

Выясним причину: на смартфонах и планшетах пользователь видит заголовок не всего приложения, а конкретной активной формы. Чтобы версия релиза попадала на скриншоты в мобильном интерфейсе, мы можем внедрить её в заголовки всех ключевых форм.

Если форм немного, мы можем вручную добавить код в процедуру ПриСозданииНаСервере каждой формы:


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    ЭтаФорма.Заголовок = ЭтаФорма.Заголовок + " (v" + Метаданные.Версия + ")";
КонецПроцедуры

Метод 4. Автоматизация через механизм расширений

Прописывать код в каждой форме — трудоемкая задача, особенно если конфигурация большая. Рассмотрим, как сделать это эффективнее с помощью расширений конфигурации. Этот способ позволяет нам вмешаться в работу всех форм системы одновременно.

Разберем по шагам алгоритм действий:

  1. Создадим новое расширение конфигурации.
  2. Добавим в него общий модуль с признаком «Вызов сервера».
  3. Используем механизм перехвата событий. Мы можем создать обработчик, который будет вызываться при создании любой формы в системе.

В расширении мы можем использовать аннотацию &После для метода ПриСозданииНаСервере. Это позволит автоматически добавлять версию к заголовку каждой открываемой формы, не изменяя при этом основную конфигурацию и сохраняя её на поддержке.

Метод 5. Визуальный «водяной знак» на начальной странице

Посмотрим на ситуацию со стороны пользователя. Чаще всего проблемы возникают в начале работы или при просмотре общего состояния дел. Мы можем разместить информацию о релизе на Начальной странице (Рабочем столе).

Для этого:

  1. Откроем форму, назначенную рабочей областью рабочего стола.
  2. Добавим элемент декорации (надпись) в удобное место (например, в правый нижний угол).
  3. В свойствах надписи установим прозрачный фон и неяркий цвет шрифта, чтобы информация не мешала работе, но была читаема на скриншотах.

Этот способ является наименее инвазивным для кода системы и отлично подходит для мобильных интерфейсов, где начальный экран является основной точкой навигации.

Метод 6. Использование информационной панели (Инфо-панель)

Проанализируем ещё один профессиональный подход: создание программной декорации, которая будет отображаться поверх всех элементов формы. Мы можем создать общий модуль, который при открытии формы будет динамически добавлять на неё текстовый элемент в командную панель.

Пример программного добавления элемента:


НовыйЭлемент = Элементы.Добавить("ВерсияРелиза", Тип("ДекорацияФормы"), Элементы.КоманднаяПанель);
НовыйЭлемент.Вид = ВидДекорацииФормы.Надпись;
НовыйЭлемент.Заголовок = "Релиз: " + Метаданные.Версия;

Такой подход гарантирует, что надпись будет находиться в строго определенном месте интерфейса (например, в панели меню), что упрощает её поиск на снимках экрана.

Метод 7. Вывод версии в отчетах (СКД)

Выясним, как быть, если ошибки часто присылают в виде сформированных отчетов. В системе компоновки данных (СКД) мы можем настроить вывод версии конфигурации в нижнем колонтитуле каждой страницы или в заголовке отчета.

Для этого в настройках компоновки данных можно использовать параметры или вставить вычисляемое поле, которое будет обращаться к функции общего модуля, возвращающей Метаданные.Версия. Таким образом, даже если пользователь распечатает отчет или сохранит его в формате PDF, информация о версии сохранится в документе.

Подведем итог: выбор метода зависит от типа клиента и архитектуры вашей конфигурации. Для классического Windows-приложения достаточно УстановитьЗаголовокКлиентскогоПриложения. Для мобильных решений и веб-клиента лучше использовать модификацию заголовков форм через расширение или добавление информационных надписей на начальную страницу.

← На главную