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

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

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

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

Архитектура подсистемы Информация при запуске

Для понимания логики работы проанализируем, откуда форма берет отображаемый контент:

  1. Основным объектом подсистемы является обработка ИнформацияПриЗапуске.
  2. Внутри обработки расположены макеты в формате ZIP-архивов, содержащие HTML-страницы, CSS-стили и графические файлы.
  3. В момент первого запуска или обновления информационной базы данные из этих ZIP-макетов распаковываются и записываются в регистр сведений ПакетыИнформацииПриЗапуске.
  4. При открытии формы обработка считывает данные не напрямую из макетов конфигурации, а именно из записей регистра сведений ПакетыИнформацииПриЗапуске.

Поэтому простая замена картинок в макете конфигуратора не меняет уже сохраненные в базе данных записи регистра.

Способ 1. Замена макетов и принудительное обновление информационной базы

Рассмотрим классический способ замены данных через редактирование объектов конфигурации.

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

  1. Откроем конфигуратор и найдем обработку ИнформацияПриЗапуске.
  2. В ветке Макеты выгрузим нужный ZIP-архив с информационным пакетом на диск.
  3. Распакуем архив, заменим исходные графические файлы на свои. Важно: имена файлов, их расширения и относительные пути внутри HTML-страницы (index.html или Start.html) должны полностью совпадать с исходными, чтобы верстка не нарушилась.
  4. Запакуем файлы обратно в ZIP-архив и загрузим обновленный макет в конфигурацию.
  5. Сохраним и обновим конфигурацию базы данных (F7).
  6. Запустим сеанс 1С в режиме принудительного обновления данных. Для этого в свойствах ярлыка запуска или в параметрах запуска конфигуратора добавим ключ:

/c ЗапуститьОбновлениеИнформационнойБазы

При таком старте БСП заново выполнит процедуры инициализации подсистем, считает данные из обновленных макетов и перезапишет регистр сведений ПакетыИнформацииПриЗапуске.

Способ 2. Очистка регистра сведений без полного обновления конфигурации

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

Выясним последовательность действий:

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

Пример кода для очистки записей регистра сведений:


НаборЗаписей = РегистрыСведений.ПакетыИнформацииПриЗапуске.СоздатьНаборЗаписей();
НаборЗаписей.Записать();

Способ 3. Быстрая подмена содержимого через код формы

Если требуется вывести статичную внешнюю веб-страницу или прямую ссылку на изображение с корпоративного сайта, можно переопределить адрес в коде формы обработки ИнформацияПриЗапуске при ее создании на сервере.

Посмотрим на пример переопределения:


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    // Переопределяем веб-содержимое для отображения корпоративной страницы
    ВебСодержимое = "https://mysite.example.com/banner.html";
КонецПроцедуры

Такой вариант позволяет менять изображение или баннер на внешнем веб-сервере в любое время без необходимости внесения изменений в информационную базу 1С.

Способ 4. Реализация через расширение конфигурации

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

  1. Создадим новое расширение конфигурации.
  2. Добавим в расширение обработку ИнформацияПриЗапуске и ее основную форму.
  3. В расширении через аннотацию &Вместо или &После переопределим алгоритм формирования HTML-кода или загрузим собственный макет с корпоративным логотипом.

Предотвращение автоматической перезаписи баннеров из интернета

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

Чтобы зафиксировать свои информационные блоки, выполним следующие настройки:

  1. Откроем список регламентных и фоновых заданий (раздел Администрирование — Обслуживание — Регламентные задания).
  2. Найдем регламентное задание, отвечающее за загрузку новостей и пакетов информации при запуске, и отключим его расписание.
  3. В настройках интернет-поддержки пользователей отключим автоматическое обновление рекламных и информационных материалов.
← На главную