К статье
Практический материал

Разработка и Конфигурация · 9 мин

Управляемые приложения 1С: что это такое и как они работают

Управляемое приложение 1С — что это такое, чем отличается от обычного, как работают управляемые формы, тонкий и веб-клиент, плюсы и ограничения.

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

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

Чем управляемое приложение отличается от обычного

В обычном приложении разработчик вручную размещал элементы на форме: кнопки, поля, таблицы — всё имело фиксированные координаты. Такой подход давал точный контроль над внешним видом, но жёстко привязывал форму к толстому клиенту на Windows. Запустить такую форму в браузере или на Linux было невозможно.

В управляемом приложении форма описывается в виде дерева элементов и связей с данными. Платформа сама компонует интерфейс под конкретное устройство: на широком мониторе элементы выстроятся в несколько колонок, на планшете — в одну. За счёт этого один и тот же код работает в толстом, тонком и веб-клиенте без доработки.

Второе принципиальное отличие — разделение кода на клиентский и серверный. В управляемых формах разработчик явно указывает, где выполняется каждая процедура: на клиенте или на сервере. Это позволяет выносить тяжёлые операции на сервер, а на клиенте оставлять только отображение и ввод данных.

Обычное и управляемое приложение

Обычное приложение

Фиксированная вёрстка форм, только толстый клиент на Windows, весь код выполняется на клиенте. Подходит только для поддержки старых баз.

Управляемое приложение

Декларативные формы, работа в тонком и веб-клиенте, разделение кода на клиент и сервер. Стандарт для всех новых разработок.

Из чего состоит управляемый интерфейс

Главные строительные блоки управляемого интерфейса — управляемые формы и командный интерфейс. Управляемая форма описывается реквизитами (данными) и элементами (отображением), а её поведение задаётся обработчиками событий с директивами компиляции &НаКлиенте, &НаСервере, &НаСервереБезКонтекста.

Командный интерфейс — это панели навигации и действий, которые платформа строит автоматически на основе настроек подсистем. Разработчик назначает объекты (документы, справочники, отчёты) подсистемам, а пользователь видит привычное меню разделов без ручной прорисовки кнопок.

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

Какие клиенты используются для работы

Управляемое приложение поддерживает три типа клиентов. Толстый клиент используется в основном разработчиками и администраторами: он нужен для запуска конфигуратора в режиме отладки и для некоторых служебных операций. Для обычной работы пользователей он не требуется.

Тонкий клиент — основной вариант для рабочих мест. Он занимает мало места, передаёт по сети только данные и команды отображения, а не вычисления, поэтому стабильно работает даже на медленных каналах связи. Вся бизнес-логика при этом выполняется на сервере.

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

Как перевести конфигурацию в управляемый режим

Перевод старой самописной конфигурации с обычного приложения на управляемое — это не переключение одной галочки, а полноценный проект. Свойство «Режим использования модальности» и «Основной режим запуска» в конфигураторе меняются быстро, но формы придётся пересоздавать заново: обычные формы в управляемом режиме не отображаются.

Типовой порядок работ выглядит так: сначала анализируется состав объектов и определяется, какие формы реально используются. Затем создаются управляемые формы для приоритетных документов и справочников, код разделяется на клиентские и серверные процедуры, настраиваются подсистемы и командный интерфейс. Последний этап — тестирование в тонком и веб-клиенте и обучение пользователей.

Порядок перевода конфигурации
  1. 1
    Сделайте полную резервную копию базы и работайте на копии
  2. 2
    Проинвентаризируйте используемые формы и отчёты
  3. 3
    Создайте управляемые формы для ключевых объектов
  4. 4
    Разделите код директивами &НаКлиенте и &НаСервере
  5. 5
    Настройте подсистемы и командный интерфейс
  6. 6
    Проверьте работу в тонком и веб-клиенте
  7. 7
    Проведите пробный запуск с группой пользователей

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

Ограничения и типичные ошибки

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

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

Типичные ошибки
01
Перенос всей логики на клиента — формы «тормозят», потому что каждый запрос к данным идёт через сеть
02
Вызовы сервера в цикле — десятки обращений вместо одного пакетного запроса резко снижают производительность
03
Использование модальных окон — код не работает в веб-клиенте и блокируется настройками платформы
04
Копирование логики обычных форм без адаптации — обработчики не срабатывают из-за другой модели событий

Как проверить, что всё работает правильно

После разработки или перевода конфигурации проверяйте не только логику, но и поведение в разных клиентах. Форма, которая корректно выглядит в толстом клиенте, может «съехать» в веб-клиенте из-за особенностей компоновки. Обязательно откройте ключевые формы во всех клиентах, которые будут использоваться.

Обратите внимание на количество серверных вызовов: их видно в технологическом журнале и в замере производительности конфигуратора. Если открытие одной формы порождает десятки обращений к серверу, это сигнал к оптимизации — объединению запросов и переносу вычислений в серверные процедуры.

Контрольные точки

Как проверить результат

Открытие форм в тонком клиенте
Норма

Формы открываются быстро, элементы не перекрывают друг друга

Тревожный признак

Долгая загрузка, «съехавшая» вёрстка, ошибки компиляции

Работа в веб-клиенте
Норма

Все основные функции доступны в браузере

Тревожный признак

Модальные окна, ошибки вызова недоступных методов

Серверные вызовы
Норма

Несколько вызовов на открытие формы

Тревожный признак

Десятки вызовов, вызовы внутри циклов

Частые вопросы об управляемых приложениях

Чем управляемое приложение отличается от управляемых форм?

Управляемые формы — это часть управляемого приложения. Само управляемое приложение — это режим работы всей конфигурации, включающий управляемые формы, командный интерфейс, разделение кода на клиент и сервер и поддержку тонкого и веб-клиентов.

Можно ли запустить старую конфигурацию в управляемом режиме?

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

Что выбрать пользователю: тонкий клиент или веб-клиент?

Тонкий клиент обычно стабильнее для постоянной работы и поддерживает больше функций, включая работу с локальным оборудованием. Веб-клиент удобен для удалённого доступа без установки платформы, но имеет ограничения по интеграции с локальными устройствами.

Почему в управляемом приложении запрещены модальные окна?

Модальные окна блокируют выполнение кода и несовместимы с архитектурой браузеров, где невозможно приостановить скрипт в ожидании ответа пользователя. Вместо них используются асинхронные методы с описанием оповещения, которые работают во всех клиентах одинаково.

Нужно ли изучать обычные приложения начинающему разработчику 1С?

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

Влияет ли управляемый режим на скорость работы базы?

Сам по себе режим не ускоряет и не замедляет базу. Производительность зависит от качества кода: правильно распределённая логика между клиентом и сервером обычно ускоряет работу, а частые серверные вызовы из клиентского кода — замедляют.

Итог

Что важно запомнить

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