Стоит ли разрабатывать решения на обычных формах 1С: анализ востребованности и технические нюансы

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

Вопрос о целесообразности поддержки обычных форм (ОФ) в 2018–2024 годах остается одним из самых дискуссионных в сообществе 1С. С одной стороны, фирма «1С» активно продвигает управляемое приложение и интерфейс «Такси», с другой — огромный пласт бизнеса продолжает работать на «классических» решениях. В рамках данной статьи мы проанализируем ситуацию на рынке, разберем технические аргументы за и против ОФ, а также выясним, есть ли смысл тратить время на написание отдельных версий обработок для старых конфигураций.

Актуальность обычных форм: кто и почему их использует

Несмотря на кажущееся доминирование управляемых форм (УФ), сектор обычных форм все еще велик. Рассмотрим основные сегменты, где ОФ остаются стандартом:

  1. Крупные производственные предприятия (УПП 1.3). Переход с «1С:Управление производственным предприятием» на «1С:ERP» — это проект, требующий миллионов инвестиций и годов работы. Многие заводы предпочитают поддерживать и дорабатывать существующую систему на ОФ.
  2. Региональный бизнес и «старый» ритейл. В провинции процент внедрений УТ 10.3 и БП 2.0 значительно выше, чем в столице. Это связано с консерватизмом и отсутствием необходимости в веб-клиенте.
  3. Системы с глубокой кастомизацией. Если конфигурация была переписана «вхлам» за 10–15 лет, ее перевод на УФ практически невозможен без полной потери функционала и логики.

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

Сравнение производительности интерфейса: ОФ против УФ

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

Интерфейсная часть в терминальном доступе (RDP): Здесь обычные формы демонстрируют разгромное преимущество. ОФ отрисовываются стандартными средствами Windows, в то время как УФ с их градиентами, сложной версткой и динамическими элементами создают серьезную нагрузку на видеоподсистему сервера и требуют большей полосы пропускания канала. Если ваша компания работает в терминале на слабом железе, ОФ субъективно будут казаться «летающими» по сравнению с УТ 11 или ERP.

Работа со списками: Рассмотрим пример вывода дополнительных расчетных колонок в списке документов. В обычных формах это реализуется через событие ПриВыводеСтроки, что при большом количестве данных может приводить к заметным задержкам. В управляемых формах динамический список (ДС) работает на уровне SQL-запроса, что позволяет выводить данные мгновенно.

Разработка и дисциплина кода: клиент-серверная архитектура

Переход на управляемые формы заставил программистов изменить подход к написанию кода. Разберем разницу на примере обращения к реквизитам объекта.

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


// Обычные формы: неявное получение всего объекта из БД
Сообщить(Объект.Контрагент.ИНН);

В управляемом приложении такое обращение на клиенте невозможно. Необходимо явно разделять контекст исполнения. Мы должны четко понимать, где выполняется код: на клиенте или на сервере. Это дисциплинирует разработчика и заставляет задумываться об оптимизации. Для получения одного реквизита в УФ правильнее использовать запрос или специальные функции БСП:


// Управляемые формы: эффективное получение данных
&НаСервере
Функция ПолучитьИНН(СсылкаНаКонтрагента)
    Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СсылкаНаКонтрагента, "ИНН");
КонецФункции

Хотя написание кода в УФ требует больше строк (разделение на &НаКлиенте и &НаСервере), это позволяет избежать передачи «тяжелых» объектов (таких как ДокументОбъект или СправочникОбъект) по сети.

Стоит ли писать вариант обработки для ОФ?

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

  1. Универсальный программный код. Старайтесь выносить основную логику обработки (расчеты, заполнение таблиц, работу с запросами) в модули, которые не зависят от типа формы. Это позволит использовать один и тот же код и в ОФ, и в УФ.
  2. Две формы в одной обработке. Платформа 1С позволяет добавить в одну внешнюю обработку и обычную, и управляемую форму. При запуске в толстом клиенте откроется ОФ, в тонком — УФ. Это «золотой стандарт» для современных разработчиков инструментов.
  3. Использование расширений. Если целевая конфигурация работает на платформе 8.3, но использует ОФ (как УПП 1.3), вы можете внедрять новые функции через расширения, используя управляемые формы даже в обычном приложении.

Технологический тупик или стабильность?

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

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

Заключение: наш выбор

Рассмотрим финальные рекомендации для автора вопроса. Если ваша обработка решает задачу, актуальную для производственного сектора или старых торговых систем, писать вариант для ОФ однозначно стоит. Это расширит вашу базу пользователей на 30–50%.

Однако не стоит копировать весь код. Разберем пошагово правильную стратегию:

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

← На главную