Управляемые формы
Управляемые формы — это технология построения пользовательского интерфейса в информационных системах на платформе «1С:Предприятие», в которой внешний вид и поведение формы (расположение элементов, их доступность, видимость, порядок обхода) жёстко задаются разработчиком на этапе конфигурирования и не могут быть изменены пользователем в режиме работы. В отличие от обычных форм, где пользователь мог произвольно настраивать панели, менять состав реквизитов и их расположение, управляемые формы реализуют принцип «отчуждения интерфейса»: вся логика представления данных перенесена на сервер или в тонкий клиент, что обеспечивает единообразие интерфейса на различных устройствах (персональные компьютеры, планшеты, веб-браузеры) и снижает нагрузку на каналы связи.
История возникновения
Технология управляемых форм была впервые представлена в версии платформы «1С:Предприятие 8.2» (выпущена в 2009 году). Основной причиной её появления стала необходимость адаптации корпоративных приложений к работе через веб-интерфейсы и мобильные устройства. Классические формы, существовавшие в версиях 8.0 и 8.1, были ориентированы исключительно на толстый клиент — настольное приложение, работающее под управлением Windows. Они позволяли пользователю гибко настраивать интерфейс (добавлять/удалять колонки, изменять размеры окон), но это приводило к серьёзным проблемам при попытке запустить ту же конфигурацию в браузере или на мобильной платформе.
С выходом платформы 8.2 разработчики получили новый механизм — управляемые формы, который изначально проектировался для работы в тонком и веб-клиенте. В версии 8.3 (2012 год) технология была существенно доработана: появилась возможность создания динамических списков, улучшилась работа с табличными полями, была введена система командного интерфейса. Начиная с версии 8.3.6 (2014 год) платформа поддерживает только управляемые формы для новых конфигураций, а поддержка обычных форм была прекращена для типовых решений. С 2021 года фирма «1С» официально объявила о завершении поддержки обычных форм в своих типовых конфигурациях, полностью перейдя на управляемый интерфейс.
Архитектура и принципы работы
Разделение на клиент и сервер
Управляемые формы реализуют трёхзвенную архитектуру: клиент (тонкий клиент, веб-клиент или мобильное приложение) отвечает только за отображение данных и обработку событий ввода; сервер «1С:Предприятия» выполняет все вычисления, запросы к базе данных и бизнес-логику. Форма описывается в конфигураторе с помощью специального языка — встроенного языка «1С», при этом код явно разделяется на клиентскую и серверную части. Клиентский код (процедуры, помеченные директивами &НаКлиенте или &НаКлиентеНаСервере) выполняется в браузере или тонком клиенте; серверный код (директивы &НаСервере, &НаСервереБезКонтекста) — на сервере приложений. Такое разделение позволяет минимизировать объём передаваемых данных: на клиент отправляется только та часть формы, которая необходима для текущего отображения, а не вся форма целиком.
Реквизиты и элементы формы
Форма состоит из двух основных сущностей: реквизитов (данные, которые форма отображает и редактирует) и элементов (визуальные компоненты — поля ввода, таблицы, кнопки, закладки). В управляемых формах реквизиты и элементы жёстко разделены: разработчик сначала описывает набор реквизитов (например, «Товары» — табличная часть, «ДатаДокумента» — дата), а затем для каждого реквизита создаёт соответствующий элемент формы (поле ввода, табличное поле). Элементы могут быть сгруппированы в панели, страницы, группы с помощью специальных элементов-контейнеров (Группа, Страницы, Командная панель). Пользователь в режиме работы не может изменить состав реквизитов или переместить элементы — это полностью прерогатива разработчика.
Командный интерфейс
Управляемые формы тесно связаны с командным интерфейсом — системой кнопок и действий, которые доступны пользователю. Команды (например, «Провести», «Создать», «Отменить») могут быть размещены в командной панели формы, в подменю или на панели навигации. Командный интерфейс также является управляемым: разработчик задаёт, какие команды видны, какие скрыты, как они группируются. В отличие от обычных форм, где пользователь мог самостоятельно добавлять команды на панели, в управляемых формах это невозможно — любые изменения в составе команд требуют изменения конфигурации.
Виды управляемых форм
Формы объектов
Используются для просмотра и редактирования данных конкретного объекта метаданных (справочника, документа, отчёта). Например, форма элемента справочника «Контрагенты» или форма документа «Реализация товаров». В таких формах реквизиты соответствуют полям объекта, а форма может быть как для ввода нового элемента, так и для просмотра существующего.
Формы списков
Предназначены для отображения набора записей (например, списка всех документов «Приходная накладная»). В управляемых формах списки реализуются через элемент Динамический список — мощный механизм, который автоматически подгружает данные из базы по мере прокрутки, поддерживает произвольные отборы, сортировки и группировки. Пользователь может настраивать отборы и сортировки, но не может изменить состав колонок или добавить новые поля — это задаётся в конфигурации.
Формы отчётов и обработок
Для отчётов и внешних обработок также существуют управляемые формы. Отчёт может иметь форму настроек (где пользователь выбирает параметры отчёта) и форму вывода результата (таблица, диаграмма). В управляемых формах результат отчёта часто выводится в виде табличного документа, который можно экспортировать в Excel, PDF или HTML.
Преимущества и недостатки
Преимущества
- Кроссплатформенность: одна и та же конфигурация работает в Windows, Linux, macOS, на веб-клиенте и мобильных устройствах (iOS, Android) без переписывания кода.
- Централизованное управление интерфейсом: все изменения в форме вносятся в конфигурации и автоматически применяются для всех пользователей — не требуется обновлять клиентские приложения.
- Безопасность: бизнес-логика выполняется на сервере, что исключает возможность её модификации или подмены на стороне клиента.
- Оптимизация трафика: на клиент передаются только изменённые данные, а не вся форма целиком, что особенно важно при работе через медленные каналы связи (например, через интернет).
- Поддержка современных интерфейсов: управляемые формы позволяют создавать адаптивные макеты, которые автоматически подстраиваются под разрешение экрана (десктоп, планшет, смартфон).
Недостатки
- Сложность разработки: требуется чёткое разделение кода на клиентскую и серверную части, что увеличивает время разработки по сравнению с обычными формами.
- Ограниченная гибкость для пользователя: пользователь не может настроить интерфейс под свои индивидуальные предпочтения (например, переместить поле на другую закладку или добавить новую колонку в список).
- Зависимость от сервера: при отсутствии соединения с сервером (например, при обрыве связи) работа с формой становится невозможной, так как все вычисления выполняются на сервере.
- Проблемы с производительностью: при большом количестве реквизитов или сложной логике форма может загружаться медленно, особенно на медленных клиентах.
Применение в типовых конфигурациях
Все современные типовые конфигурации фирмы «1С» (например, «Бухгалтерия предприятия», «Управление торговлей», «Зарплата и управление персоналом») построены исключительно на управляемых формах. Переход на них был завершён в 2014–2018 годах. Пользователи работают с интерфейсом «Такси» (версия 8.3), который является реализацией управляемых форм. В этом интерфейсе все окна открываются внутри одного главного окна, навигация осуществляется через боковую панель разделов, а формы объектов имеют единый стиль.
Критика
Технология управляемых форм неоднократно подвергалась критике со стороны пользователей и разработчиков. Основные претензии касаются:
- Избыточной сложности: по мнению многих специалистов, управляемые формы усложнили разработку без существенного выигрыша в функциональности для настольных приложений.
- Потери производительности: при работе через веб-клиент или тонкий клиент по локальной сети часто наблюдаются задержки при открытии форм и выполнении операций, что было менее заметно в обычных формах.
- Ограничения для пользователей: невозможность настроить интерфейс под свои нужды вызывает недовольство у опытных пользователей, привыкших к гибкости обычных форм.
- Необходимость переобучения: разработчикам, привыкшим к обычным формам, пришлось осваивать принципиально новую парадигму программирования, что потребовало значительных временных затрат.
Несмотря на критику, управляемые формы остаются единственной поддерживаемой технологией для создания интерфейсов в «1С:Предприятие 8.3» и всех последующих версиях платформы.
Источники
- Радченко М.Г., Хрусталева Е.Ю. «1С:Предприятие 8.3. Практическое пособие разработчика». — М.: 1С-Паблишинг, 2019.
- Официальная документация фирмы «1С»: «Руководство разработчика. Управляемые формы» (раздел на ИТС — информационно-технологическом сопровождении).
- Статья «Управляемые формы в 1С:Предприятие 8.2» // Журнал «1С:Бухгалтерия и кадры», № 12, 2009.
- Материалы конференций INFOSTART EVENT (2015–2023) по теме архитектуры управляемых форм.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →