Вопрос о целесообразности поддержки обычных форм (ОФ) в 2018–2024 годах остается одним из самых дискуссионных в сообществе 1С. С одной стороны, фирма «1С» активно продвигает управляемое приложение и интерфейс «Такси», с другой — огромный пласт бизнеса продолжает работать на «классических» решениях. В рамках данной статьи мы проанализируем ситуацию на рынке, разберем технические аргументы за и против ОФ, а также выясним, есть ли смысл тратить время на написание отдельных версий обработок для старых конфигураций.
Несмотря на кажущееся доминирование управляемых форм (УФ), сектор обычных форм все еще велик. Рассмотрим основные сегменты, где ОФ остаются стандартом:
Таким образом, если ваше решение ориентировано на широкий рынок (например, универсальная обработка для загрузки данных), игнорирование ОФ лишит вас значительной части аудитории.
Одним из главных камней преткновения является скорость работы. Проанализируем ситуацию: в теории управляемые формы должны работать быстрее за счет минимизации трафика между клиентом и сервером, но на практике пользователи часто жалуются на «тормознутость».
Интерфейсная часть в терминальном доступе (RDP): Здесь обычные формы демонстрируют разгромное преимущество. ОФ отрисовываются стандартными средствами Windows, в то время как УФ с их градиентами, сложной версткой и динамическими элементами создают серьезную нагрузку на видеоподсистему сервера и требуют большей полосы пропускания канала. Если ваша компания работает в терминале на слабом железе, ОФ субъективно будут казаться «летающими» по сравнению с УТ 11 или ERP.
Работа со списками: Рассмотрим пример вывода дополнительных расчетных колонок в списке документов. В обычных формах это реализуется через событие ПриВыводеСтроки, что при большом количестве данных может приводить к заметным задержкам. В управляемых формах динамический список (ДС) работает на уровне SQL-запроса, что позволяет выводить данные мгновенно.
Переход на управляемые формы заставил программистов изменить подход к написанию кода. Разберем разницу на примере обращения к реквизитам объекта.
В обычных формах (толстый клиент) программист часто использует прямое обращение через точку, что удобно, но порождает неявные запросы к базе данных:
// Обычные формы: неявное получение всего объекта из БД
Сообщить(Объект.Контрагент.ИНН);
В управляемом приложении такое обращение на клиенте невозможно. Необходимо явно разделять контекст исполнения. Мы должны четко понимать, где выполняется код: на клиенте или на сервере. Это дисциплинирует разработчика и заставляет задумываться об оптимизации. Для получения одного реквизита в УФ правильнее использовать запрос или специальные функции БСП:
// Управляемые формы: эффективное получение данных
&НаСервере
Функция ПолучитьИНН(СсылкаНаКонтрагента)
Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СсылкаНаКонтрагента, "ИНН");
КонецФункции
Хотя написание кода в УФ требует больше строк (разделение на &НаКлиенте и &НаСервере), это позволяет избежать передачи «тяжелых» объектов (таких как ДокументОбъект или СправочникОбъект) по сети.
Если вы создаете коммерческий продукт или инструмент для массового использования, рекомендуется придерживаться гибридного подхода. Выясним, как это реализовать наиболее эффективно:
Важно понимать, что обычные формы — это технология, которая больше не развивается. Все новые «фишки» (мобильный клиент, интеграция с мессенджерами, распознавание речи, работа в браузере) доступны только для УФ. Однако ОФ остаются «рабочей лошадкой» для внутреннего учета предприятий, где не требуется работа через интернет, а важна скорость ввода данных оператором.
Проанализируем вопрос модальности. В новых версиях платформы 1С настоятельно рекомендует отказываться от модальных окон (Вопрос, Предупреждение) в пользу асинхронных вызовов. В обычных формах модальность работает привычно и просто, что сокращает время разработки простых алгоритмов взаимодействия с пользователем.
Рассмотрим финальные рекомендации для автора вопроса. Если ваша обработка решает задачу, актуальную для производственного сектора или старых торговых систем, писать вариант для ОФ однозначно стоит. Это расширит вашу базу пользователей на 30–50%.
Однако не стоит копировать весь код. Разберем пошагово правильную стратегию:
Помните, что 1С — это прежде всего инструмент для бизнеса, а бизнесу важна стабильность и работающее решение «здесь и сейчас», вне зависимости от того, насколько современными являются формы в конфигураторе.