Открыть сервисСервис

Управляемые формы 1С

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

История и предпосылки появления

До версии платформы 8.2 (выпущена в 2009 году) в 1С использовались так называемые «обычные формы». Они были ориентированы исключительно на работу в толстом клиенте — настольном приложении, установленном на компьютере пользователя. Разработчик размещал элементы управления (поля ввода, таблицы, кнопки) на форме вручную, задавая их точное положение в пикселях. Такой подход имел ряд недостатков:

  • Неадаптивность: при изменении разрешения экрана или размера окна элементы могли наезжать друг на друга или выходить за границы.
  • Отсутствие веб-поддержки: обычные формы не могли корректно отображаться в браузере, так как использовали технологии WinAPI.
  • Сложность поддержки: при необходимости изменить дизайн приходилось править каждую форму отдельно.

С выходом платформы 8.2 компания «1С» внедрила механизм управляемых форм, который стал обязательным для работы в тонком клиенте и веб-клиенте. В версии 8.3 (2013 год) управляемые формы стали основным режимом разработки, а обычные формы были объявлены устаревшими, хотя их поддержка сохраняется для обратной совместимости.

Архитектура управляемых форм

Управляемая форма состоит из двух основных частей:

  • Декларативное описание (XML-схема) — задаёт состав элементов, их свойства, связи с реквизитами, команды и обработчики событий. Это описание хранится в метаданных конфигурации.
  • Программный модуль — код на встроенном языке 1С, который обрабатывает события формы (открытие, закрытие, изменение данных, нажатие кнопок) и реализует бизнес-логику.

Ключевое отличие от обычных форм — автоматическое размещение элементов. Разработчик не указывает координаты, а только задаёт порядок следования (через свойство «Группа» и «Порядок»). Платформа сама рассчитывает расположение элементов на основе:

  • текущего размера окна;
  • разрешения экрана;
  • типа клиента (толстый, тонкий, веб, мобильный);
  • настроек пользователя (например, возможность скрыть панель навигации).

Система команд и интерфейс

Управляемые формы оперируют понятием команды — действия, которое может быть выполнено над объектом (например, «Создать», «Записать», «Провести»). Команды могут быть:

  • глобальными — доступны в любом разделе программы;
  • локальными — привязаны к конкретной форме или списку.

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

Основные элементы управляемой формы

Управляемая форма включает следующие типовые элементы:

  • Реквизиты — данные, с которыми работает форма (например, реквизит «Наименование» справочника «Номенклатура»).
  • Табличные поля — отображение табличных частей документов или списков.
  • Поля ввода — текстовые, числовые, даты, булевы (флажки).
  • Кнопки — для выполнения команд.
  • Декорации — надписи, картинки, разделители.
  • Группы — контейнеры для группировки элементов (вертикальные, горизонтальные, страницы с закладками).
  • Динамические списки — специализированный элемент для отображения данных из таблиц базы с возможностью настройки отбора, сортировки и поиска.

Преимущества и недостатки

Преимущества

  • Кроссплатформенность: одна и та же форма корректно работает в настольном приложении, браузере и на мобильном устройстве.
  • Автоматическая адаптация: форма подстраивается под размер окна и разрешение экрана без участия разработчика.
  • Централизованное управление: изменение свойств элемента (например, шрифта или цвета) в одном месте автоматически применяется ко всем формам, где он используется.
  • Поддержка ролей и прав: можно гибко настраивать видимость и доступность элементов для разных групп пользователей.
  • Удобство разработки: декларативное описание упрощает создание сложных интерфейсов, а визуальный редактор форм позволяет быстро добавлять и настраивать элементы.

Недостатки

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

Применение

Управляемые формы являются стандартом для всех современных конфигураций на платформе 1С:Предприятие 8.3 и выше. Они используются в:

  • Типовых решениях (например, «Бухгалтерия предприятия», «Управление торговлей», «Зарплата и управление персоналом»);
  • Отраслевых и заказных разработках;
  • Мобильных приложениях на базе 1С;
  • Веб-интерфейсах (работа через браузер без установки клиента).

Пример

Рассмотрим простую управляемую форму для справочника «Сотрудники». В обычной форме разработчик вручную разместил бы поля «ФИО», «Дата рождения», «Должность» и кнопки «Записать» и «Закрыть» на конкретных координатах. В управляемой форме он:

  1. Создаёт реквизиты: «ФИО» (строка), «ДатаРождения» (дата), «Должность» (ссылка на справочник «Должности»).
  2. Добавляет группу «Основная» с типом «Страницы».
  3. Внутри группы размещает поля, перетаскивая их из списка реквизитов.
  4. Назначает команды «Записать» и «Закрыть» из системного набора команд.

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

Критика

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

  • Избыточная сложность: для простых задач (например, ввод одного-двух полей) управляемые формы требуют больше кода и настроек, чем обычные.
  • Неинтуитивное поведение: автоматическое размещение иногда приводит к нелогичному порядку обхода полей (при нажатии Tab) или к появлению пустых областей.
  • Проблемы с производительностью: на конфигурациях с большим количеством реквизитов (например, в «ERP Управление холдингом») форма может загружаться несколько секунд.
  • Ограничения кастомизации: пользователи, привыкшие к гибкой настройке интерфейса в обычных формах (например, возможность перетаскивать поля мышью), часто жалуются на жёсткость управляемых форм.

Интересные факты

  • В платформе 1С:Предприятие 8.3 управляемые формы поддерживают режим «Только чтение», который автоматически блокирует все поля ввода, если у пользователя нет прав на запись.
  • В версии 8.3.10 появилась возможность настройки формы пользователем — конечный пользователь может самостоятельно изменять состав и порядок элементов формы (например, скрывать ненужные поля) без участия разработчика.
  • Управляемые формы используют XML-сериализацию для хранения своего состояния, что позволяет сохранять настройки индивидуально для каждого пользователя.

Источники

  • Радченко М.Г., Хрусталева Е.Ю. «1С:Предприятие 8.3. Практическое пособие разработчика». — М.: 1С-Паблишинг, 2019.
  • Официальная документация «1С:Предприятие 8.3. Руководство разработчика». — Фирма «1С», 2023.
  • Гончаров Д.И. «Управляемые формы в 1С:Предприятие 8.2». — СПб.: БХВ-Петербург, 2011.
  • Материалы конференций INFOSTART EVENT (2015–2024) по теме разработки интерфейсов в 1С.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru