Разработка и Конфигурация · 11 мин
Чем обычный интерфейс 1С отличается от управляемого
Чем обычный интерфейс 1С отличается от управляемого: архитектура, формы, совместимость конфигураций, миграция и критерии выбора для разработчика и администратора.
Обычный и управляемый интерфейс — это два поколения пользовательского интерфейса платформы 1С:Предприятие. Обычный интерфейс (обычные формы) использовался в версиях 8.0–8.2 и существует до сих пор в режиме совместимости, а управляемый (управляемые формы) стал стандартом начиная с платформы 8.2. Разница между ними не косметическая: меняется вся архитектура взаимодействия клиента и сервера, способ описания форм и модель программирования.
Для пользователя отличие видно сразу: обычный интерфейс выглядит как классическое «оконное» приложение с деревом объектов и панелями, управляемый — как современная система с разделами, командным интерфейсом «Такси» и работой через браузер. Для разработчика разница глубже: в управляемом приложении код формы разделён на клиентскую и серверную части, а сама форма описывается декларативно, а не рисуется вручную.
Практическая значимость вопроса возникает в трёх ситуациях: при выборе конфигурации для внедрения, при обновлении старой самописной системы и при разработке новых модулей. Ошибка в выборе режима интерфейса приводит к тому, что код приходится переписывать, а пользователи теряют привычные инструменты.
Что представляет собой обычный интерфейс
Обычный интерфейс построен вокруг обычных форм — экранных форм, которые разработчик буквально рисует в конструкторе: перетаскивает поля, кнопки и табличные части, задаёт координаты и размеры элементов. Платформа отображает форму ровно так, как она нарисована, без автоматической адаптации под разрешение экрана или устройство.
Вся логика формы выполняется на клиенте. Когда пользователь открывает документ, данные целиком передаются на клиентский компьютер, обрабатываются там и сохраняются обратно. В модуле формы нет деления на клиентские и серверные процедуры — любой код может обращаться и к интерфейсу, и к базе данных напрямую.
Обычный интерфейс работает только в толстом клиенте под Windows. Ни веб-клиент, ни тонкий клиент в полном объёме его не поддерживают. Именно поэтому конфигурации на обычных формах нельзя опубликовать для работы через браузер без переработки.
Что представляет собой управляемый интерфейс
В управляемом приложении форма не рисуется, а описывается: разработчик указывает, какие реквизиты и команды должны быть на форме, а платформа сама решает, как их расположить и отобразить. Это называется декларативным описанием. Одна и та же форма корректно отображается на большом мониторе, на ноутбуке и в браузере.
Ключевое отличие — разделение кода. В модуле управляемой формы каждая процедура помечается директивой компиляции: &НаКлиенте или &НаСервере. Клиентская часть отвечает за интерфейс и не имеет права напрямую обращаться к базе данных; серверная часть работает с данными и не видит элементов формы. Между ними платформа передаёт только необходимый минимум данных.
Управляемый интерфейс работает в тонком клиенте, толстом клиенте и веб-клиенте — достаточно опубликовать базу на веб-сервере. Поверх него действует интерфейс «Такси» с настраиваемыми разделами, избранным и историей работы.
Сравнение ключевых характеристик
Ниже собраны параметры, по которым режимы реально различаются в работе и разработке.
| Параметр | Обычный интерфейс | Управляемый интерфейс |
|---|---|---|
| Создание формы | Рисование в конструкторе, фиксированные координаты | Декларативное описание, автоматическая компоновка |
| Исполнение кода | Весь код на клиенте | Разделение &НаКлиенте / &НаСервере |
| Клиентские приложения | Только толстый клиент (Windows) | Тонкий, толстый, веб-клиент |
| Работа через браузер | Не поддерживается | Поддерживается |
| Трафик клиент–сервер | Данные передаются целиком | Передаётся минимум данных, вызовы явные |
| Адаптация под экран | Нет, размеры заданы жёстко | Автоматическая |
| Актуальность | Режим совместимости, новых разработок нет | Стандарт для всех современных конфигураций |
Из таблицы следует главный практический вывод: обычный интерфейс сегодня — это не вариант выбора, а наследие. Он сохраняется только там, где конфигурация давно не развивалась или переписывание форм экономически не оправдано.
Как определить, какой интерфейс используется в вашей базе
Режим интерфейса задаётся в свойствах конфигурации. Откройте конфигуратор, вызовите свойства корневого узла конфигурации и найдите параметры «Режим использования управляемых форм в обычном приложении» и «Основной режим запуска». Если основной режим — «Обычное приложение», база работает на обычных формах; если «Управляемое приложение» — на управляемых.
Быстрый визуальный признак без конфигуратора: в обычном приложении есть классическое главное меню с панелями функций и окна открываются внутри общего окна программы; в управляемом — верхняя панель разделов, кнопки «Избранное», «История» и поиск по строке. Если программа открывается в браузере по ссылке — это гарантированно управляемый интерфейс.
Как проверить режим интерфейса
Основной режим запуска — управляемое приложение
Обычное приложение и отсутствие управляемых форм
Панель разделов, избранное, история, поиск
Классическое меню и панели инструментов в стиле старых Windows-приложений
База открывается по веб-ссылке
Публикация есть, но при входе ошибки или пустые формы
Ограничения и подводные камни при переходе
Переход с обычного интерфейса на управляемый — это не переключение одной галочки, а переработка прикладного решения. Обычные формы не конвертируются автоматически в управляемые: их нужно создавать заново, а логику модуля — разделять на клиентскую и серверную части. В крупной самописной конфигурации это месяцы работы.
Типичная техническая проблема — код, который в обычной форме напрямую обращался к базе из обработчика нажатия кнопки. В управляемой форме такой обработчик выполняется на клиенте, где запросы к базе запрещены. Код нужно переносить в серверную процедуру, а значит, продумывать передачу параметров и возврат результата.
Вторая группа проблем — внешние компоненты и интеграции, рассчитанные на толстый клиент и Windows: торговое оборудование, OLE/COM-объекты, прямые обращения к файловой системе. В веб-клиенте часть этих механизмов недоступна или требует расширений браузера.
Как организовать переход на управляемые формы
Разумная стратегия — поэтапная. Платформа позволяет запускать управляемое приложение, в котором отдельные объекты по-прежнему открывают обычные формы (если включён соответствующий режим совместимости). Это даёт возможность переписывать формы постепенно, начиная с самых массовых: документов, которыми пользуются ежедневно, и справочников.
Начинайте с инвентаризации: составьте список всех объектов с обычными формами, оцените частоту их использования и сложность модулей. Формы, которыми никто не пользуется, можно не переносить вовсе — это сократит объём работ.
- 1Сделайте полную резервную копию базы и разверните тестовую копию
- 2Составьте список объектов с обычными формами и расставьте приоритеты по частоте использования
- 3Создайте управляемые формы для приоритетных объектов, разнесите код по директивам &НаКлиенте и &НаСервере
- 4Перенесите серверную логику в общие модули с признаком Сервер, чтобы переиспользовать её
- 5Проверьте интеграции и оборудование в тонком и веб-клиенте, замените неработающие механизмы
- 6Переведите пользователей на управляемый режим, оставив режим совместимости для оставшихся объектов
- 7По итогам эксплуатации допереведите остальные формы и отключите совместимость
Что выбрать для новой разработки
Для любой новой разработки выбор однозначен — только управляемые формы. Обычные формы не получают развития со стороны платформы, не работают в браузере и на мобильной платформе, а новые механизмы (расширения конфигурации, интерфейс «Такси», функциональные опции) ориентированы именно на управляемое приложение.
Единственный случай, когда обычный интерфейс остаётся осознанным решением, — поддержка старой конфигурации, которую планируют заменить, и вложения в переработку не окупаются. Даже тогда стоит фиксировать это как технический долг и планировать миграцию.
Как выбрать подход
При миграции удобнее всего переносить бизнес-логику из модулей форм в серверные общие модули ещё до создания управляемых форм. Тогда новая форма становится тонкой оболочкой, а основной код тестируется отдельно и не дублируется.
Частые вопросы
Можно ли автоматически конвертировать обычную форму в управляемую?
Полноценного автоматического конвертера в платформе нет. Существуют сторонние инструменты, которые создают заготовку управляемой формы по обычной, но логику модуля всё равно придётся разделять на клиентскую и серверную вручную.
Почему после смены режима запуска кнопки на форме перестали работать?
Обработчики в управляемой форме по умолчанию выполняются на клиенте, где запрещены прямые обращения к базе данных и часть объектов платформы. Перенесите работу с данными в серверную процедуру и вызывайте её из клиентского обработчика.
Работают ли обычные формы в веб-клиенте?
Нет. Веб-клиент поддерживает только управляемые формы. Если база должна быть доступна через браузер, все используемые объекты нужно перевести на управляемые формы.
Можно ли в одной базе использовать оба типа форм одновременно?
Да, при определённых настройках совместимости управляемое приложение может открывать обычные формы для отдельных объектов. Это штатный механизм поэтапной миграции, но постоянно держать базу в смешанном режиме не рекомендуется.
Что такое режим совместимости и влияет ли он на интерфейс?
Режим совместимости заставляет платформу вести себя как более старая версия. Он влияет в том числе на доступность механизмов управляемого интерфейса: новые возможности «Такси» и форм могут быть недоступны, пока режим не отключён или не поднят до актуальной версии.
Нужно ли переучивать пользователей при переходе на управляемый интерфейс?
Да, но объём обучения невелик: меняется навигация (панель разделов вместо меню), поиск и работа с окнами. Основные сценарии — ввод документов и формирование отчётов — остаются похожими, поэтому обычно достаточно короткого инструктажа и памятки.
Что важно запомнить
Обычный интерфейс — устаревшая модель с рисованными формами и кодом на клиенте, работающая только в толстом клиенте. Управляемый — декларативные формы, разделение клиент/сервер, поддержка браузера и всех современных механизмов платформы. Для новой разработки выбирайте управляемые формы, а миграцию старых баз проводите поэтапно на тестовой копии.