Разберем частый вопрос разработчиков 1С: можно ли установить изображение или подложку в качестве фона для управляемой формы в платформе 1С:Предприятие 8.3.
Проанализируем, почему стандартными средствами управляемого интерфейса нельзя просто установить фоновый рисунок под все элементы формы. Управляемая форма генерируется платформой автоматически по внутренним правилам компоновки. В отличие от обычных форм (или сторонних расширений в старых версиях 1С), платформа 8.3 расставляет элементы последовательно в общем потоке. Разработчик не имеет прямого управления слоями (z-index) для наложения полей ввода и кнопок поверх изображения.
Тем не менее, если требования заказчика требуют графического оформления или выделения блоков, существуют альтернативные проверенные способы решения этой задачи.
Рассмотрим наиболее гибкий подход к созданию интерфейса с произвольным фоновым рисунком. Он заключается в использовании веб-технологий внутри управляемой формы.
Строка.Поле HTML-документа и свяжем его с созданным реквизитом.background-image, и расположим поверх него необходимые текстовые или графические блоки.Посмотрим на пример формирования HTML-кода для вывода интерфейса с фоновой картинкой:
КодHTML = "<html>
|<head>
|<style>
| body {
| background-image: url('file:///C:/Images/background.jpg');
| background-size: cover;
| font-family: Arial, sans-serif;
| }
| .content {
| background: rgba(255, 255, 255, 0.8);
| padding: 20px;
| margin: 50px;
| border-radius: 8px;
| }
|</style>
|</head>
|<body>
| <div class=""content"">
| <h2>Информационная панель</h2>
| <p>Форма сформирована с использованием HTML и CSS.</p>
| </div>
|</body>
|</html>";
Элементы.ПолеHTML.Документ.write(КодHTML);
Передача событий и данных из HTML-формы в модуль 1С реализуется через обработку кликов, URL-схемы или взаимодействие JavaScript с клиентом 1С.
Если интерфейс допускает вывод данных в табличном или отчетном виде, проанализируем использование объекта ТабличныйДокумент. В отличие от самой управляемой формы, у табличного документа есть полноценная штатная поддержка фонового изображения.
Для этого используются свойства КартинкаФона и ОтображениеФона. Картинку можно установить как в макете, так и программно из кода 1С:
ТабДок = Новый ТабличныйДокумент;
ФоноваяКартинка = БиблиотекаКартинок.ФонЗаставки;
ТабДок.КартинкаФона = ФоноваяКартинка;
ТабДок.ОтображениеФона = ОтображениеФонаТабличногоДокумента.Заполнить;
Если требуется добавить на форму баннер, логотип или графический заголовок, разберем работу с декоративными элементами. На форму можно добавить элемент с видом Декорация (вид Картинка) или Поле картинки.
Учтем ограничение: эти элементы отображаются как самостоятельные блоки в общем потоке элементов управляемой формы (например, в шапке или сбоку), а не под полями ввода.
Выясним, как сделать форму визуально понятной и структурированной без графических рисунков. Для выделения логических блоков вместо подложки используется оформление групп.
У объекта ГруппаФормы (обычная группа, страница или панель) можно настроить свойство ЦветФона. Это позволяет разделить интерфейс на смысловые зоны и задать визуальный стиль приложения.
Рассмотрим случай, когда фоновое изображение требуется для рабочего стола программы. Оформление начальной страницы приложения реализуется через настройку формы с графическими баннерами или с помощью встроенного HTML-документа, который служит интерактивным главным экраном системы.