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