Как изменить заголовок окна 1С и убрать надпись в скобках

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

При кастомизации интерфейса конфигураций или брендировании рабочего пространства часто возникает задача изменить стандартный заголовок окна программы. Однако многие разработчики сталкиваются с тем, что стандартные процедуры платформы меняют только пользовательскую часть названия, оставляя в конце неизменный суффикс (1С:Предприятие). Разберем, как работает механизм управления заголовком, почему существует данное ограничение и какие варианты решения задачи существуют на практике.

Штатный механизм управления заголовком приложения

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

Посмотрим на пример установки заголовка с использованием штатных методов:


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

Проанализируем результат выполнения данного кода: в заголовке окна операционной системы отобразится строка Учетная система предприятия (1С:Предприятие). Встроенный язык платформы формирует заголовок строго по внутреннему шаблону: [ПользовательскийЗаголовок] (1С:Предприятие). Изменить или удалить часть строки в круглых скобках средствами языка 1С невозможно, так как это поведение жестко заложено в ядро клиентского приложения.

Почему суффикс жестко зафиксирован в платформе

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

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

Способ 1. Использование системного API операционной системы (WinAPI)

Если для рабочих мест под управлением Windows критически важно убрать суффикс без изменения исполняемых файлов платформы, задачу можно решить на уровне операционной системы. Заголовок любого окна в ОС Windows можно перезаписать через функцию SetWindowTextW Windows API.

Разберем по шагам, как реализуется данный подход:

  1. Разрабатывается или подключается внешняя Native API / COM-компонента, получающая дескриптор (HWND) основного окна текущего процесса 1С.
  2. Компонента вызывает системную функцию WinAPI для принудительной установки требуемого текста заголовка окна.
  3. Вызов метода компоненты настраивается при старте приложения, а также при событиях, которые могут инициировать перерисовку системного заголовка платформой.
  4. Аналогичный перехват может быть настроен с помощью сторонних скриптов автоматизации (например, PowerShell или AutoHotkey), запускаемых в фоновом режиме на рабочих станциях.

Способ 2. Модификация заголовка в веб-клиенте

Если пользователи работают с информационной базой через веб-браузер, формирование заголовка подчиняется стандартным правилам веб-страниц (тег <title> в DOM-дереве документа).

В этом случае изменить или полностью очистить заголовок окна браузера можно следующими путями:

  1. На уровне прокси-сервера или веб-сервера (Nginx / Apache / IIS): настройка автоматической подмены текста в теле ответа или внедрение небольшого JavaScript-скрипта, модифицирующего свойство document.title после загрузки страницы.
  2. Пользовательские расширения браузера: скрипты для браузеров (UserScripts), которые переопределяют заголовок вкладки под корпоративные стандарты.

Способ 3. Переключение режима отображения главного окна

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

Рассмотрим применение специализированных режимов окна:


Процедура ПриНачалеРаботыСистемы()
    // Перевод интерфейса в режим киоска для скрытия системных рамок и заголовка
    КлиентскоеПриложение.УстановитьРежимОтображенияОсновногоОкна(РежимОтображенияОсновногоОкна.Киоск);
КонецПроцедуры

Использование режима киоска (РежимОтображенияОсновногоОкна.Киоск) или полноэкранного интерфейса полностью убирает заголовок окна операционной системы и системные панели, позволяя создать полностью кастомизированный экранный интерфейс средствами самой конфигурации.

Способ 4. Использование официального спецвыпуска платформы (OEM)

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

Итоги

Штатный встроенный язык 1С намеренно не позволяет удалить системный суффикс в скобках, ограничивая разработчика установкой префикса через КлиентскоеПриложение.УстановитьЗаголовок(). Для полного скрытия системной строки на тонком клиенте применяют перехват WinAPI или режим киоска, для веб-клиента — внедрение скриптов модификации DOM-модели, а для тиражных коммерческих решений — официальные OEM-сборки.

← На главную