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