При разработке и сопровождении решений на платформе 1С:Предприятие 8.3 разработчики часто сталкиваются с ситуацией, когда одна и та же внешняя обработка или форма документа в чистой (каркасной) базе выглядит аккуратно и компактно, а в типовой конфигурации (например, в «1С:Рознице», «1С:УТ» или «1С:ERP») те же самые элементы становятся визуально крупнее, меняют цвет заголовков, отступы или отображаются с избыточными полями. Разберем по шагам, какие механизмы платформы управляют визуальной прорисовкой управляемых форм и как настроить желаемый вид интерфейса.
Проанализируем главный глобальный фактор, задающий поведение генератора форм в платформе — свойство РежимСовместимостиИнтерфейса в корне конфигурации.
Платформа 1С:Предприятие поддерживает несколько принципиально разных концепций компоновки элементов:
В режиме конфигуратора при редактировании формы можно быстро переключать предварительный просмотр между режимами «Такси» и «Версия 8.2» с помощью специальной кнопки на командной панели редактора формы. Это позволяет сразу увидеть, как форма будет выглядеть у пользователей с разными интерфейсными настройками.
Если конфигурация поддерживает выбор интерфейса, конечный вид форм может переключаться непосредственно пользователем в пользовательском режиме. Выясним причину различий в клиентских параметрах:
В типовых решениях компактный режим можно задать программно для всей базы или конкретного пользователя через объект НастройкиКлиентскогоПриложения:
НастройкиКлиента = Новый НастройкиКлиентскогоПриложения;
НастройкиКлиента.ВариантМасштабаФормКлиентскогоПриложения = ВариантМасштабаФормКлиентскогоПриложения.Компактный;
ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиКлиентскогоПриложения", "", НастройкиКлиента);
Разница в цветах заголовков, фона групп и панелей между пустой базой и «1С:Розницей» обусловлена наличием стиля конфигурации. Посмотрим на этот механизм подробнее:
ОсновнойСтиль не заполнено. Платформа использует стандартную системную тему оформления операционной системы.ЦветФона, ЦветТекстаЗаголовка или ЦветТекста, платформа берет значения из палитры текущего стиля.Если требуется, чтобы конкретная управляемая форма выглядела компактно независимо от глобальных настроек клиентского приложения, используем индивидуальное масштабирование формы:
ВариантМасштаба.Компактный вместо Авто или Обычный.При значении Компактный платформа автоматически уменьшает вертикальные и горизонтальные отступы между реквизитами, а также высоту строк табличных частей, делая форму плотной и удобной для ввода больших объемов данных.
Еще один распространенный фактор визуальных различий — наличие сохраненных пользовательских настроек конкретной формы в информационной базе. Платформа автоматически сохраняет пользовательские изменения (изменение ширины колонок, скрытие полей, изменение положения элементов через команду Еще → Изменить форму) в системных таблицах базы.
Если в одной базе пользователь или администратор выполнял интерактивную настройку формы, она будет открываться с учетом этих правок. Чтобы вернуть форму к исходному виду, заложенному разработчиком, достаточно открыть меню Еще → Изменить форму и нажать кнопку Установить стандартные настройки.
Разберем практические правила верстки управляемых форм, чтобы элементы корректно перестраивались и не выглядели небрежно при любых настройках масштаба:
Обычная группа без выделения и свойством Группировка = Горизонтальная если возможно или Всегда горизонтальная.РастягиватьПоГоризонтали и явно задаем свойство Ширина.Отображение в значение Нет, чтобы избежать появления лишних рамок и пустых отступов.Таким образом, аккуратность и компактность отображения управляемой формы зависят от комбинации режима интерфейса (Такси или 8.2), установленного стиля конфигурации, масштаба клиентского приложения и структуры группировки элементов внутри самой формы.