В чем преимущество управляемых форм в 1С:Предприятии?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

1. Декларативный подход к интерфейсу и автоматическая верстка

В обычных формах разработчик «рисовал» форму вручную, жестко фиксируя координаты каждого поля, кнопки и надписи в пикселях. При изменении размеров окна или разрешения экрана приходилось настраивать сложные механизмы привязок. Как справедливо отмечают практикующие специалисты, ручные привязки в обычных формах зачастую становились настоящим кошмаром для разработчика.

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

  1. Автоматическое масштабирование: Форма корректно отображается на любых мониторах, включая экраны со сверхвысоким разрешением (High-DPI / Retina), без «наползания» элементов друг на друга.
  2. Кроссплатформенность: Один и тот же интерфейс одинаково качественно выглядит в операционных системах Windows, macOS и Linux.
  3. Адаптивность под веб-браузеры: Платформа генерирует HTML-код формы «на лету», что обеспечивает стабильную работу в Chrome, Safari, Firefox и Edge.

2. Эффективная работа через тонкий клиент и веб-клиент

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

Проанализируем преимущества такой архитектуры:

3. Четкое разделение контекста (клиент-серверное взаимодействие)

В управляемых формах жестко разграничено выполнение кода на стороне клиента и на стороне сервера. Разработчик обязан явно указывать директивы компиляции для процедур и функций: &НаКлиенте, &НаСервере, &НаСервереБезКонтекста и другие.

Давайте посмотрим на пример реализации простейшего вызова в управляемой форме:


&НаКлиенте
Процедура ПриИзмененииРеквизита(Элемент)
    // Код выполняется на стороне пользователя (быстрый отклик)
    РезультатПроверки = ПроверитьДанныеНаСервере(Объект.Код);
    Если Не РезультатПроверки Тогда
        ПоказатьПредупреждение(, "Введен некорректный код!");
    КонецЕсли;
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПроверитьДанныеНаСервере(Знач ТекущийКод)
    // Тяжелая проверка выполняется непосредственно на сервере
    Возврат Справочники.Номенклатура.НайтиПоКоду(ТекущийКод).Пустая();
КонецФункции

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

4. Мощные динамические списки на базе СКД

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

В управляемых формах основным инструментом работы с таблицами стал объект ДинамическийСписок, работающий на основе Системы компоновки данных (СКД). Преимущества динамических списков огромны:

  1. Свобода настроек для пользователя: Каждый пользователь прямо в режиме предприятия (без помощи программиста) может настроить собственные отборы, группировки, сортировки и даже задать условное оформление строк (например, подсветить просроченные документы красным цветом).
  2. Оптимальная выборка («ленивая загрузка»): Данные из базы считываются сервером порциями, по мере прокрутки списка пользователем. Это исключает зависание системы при работе со справочниками, содержащими миллионы записей.
  3. Использование произвольных запросов: В качестве источника данных для списка можно написать сложнейший запрос, объединяющий физические и виртуальные таблицы.

5. Глубокая пользовательская кастомизация интерфейса

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

Используя стандартную команду «Изменить форму», пользователь может:

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

6. Интеграция с современными технологиями 1С

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

Подведем итоги

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

← На главную