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

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

Редактор обычных форм в 1С: назначение, возможности и порядок работы

Что такое редактор обычных форм в 1С, как открыть форму в конфигураторе, изменить элементы и код модуля, чем обычные формы отличаются от управляемых.

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

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

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

Как открыть редактор обычных форм

Редактор доступен только в конфигураторе. Чтобы открыть форму, запустите конфигуратор, раскройте дерево конфигурации и найдите нужный объект — например, справочник, документ или отчёт. В ветке объекта перейдите к узлу «Формы», выделите нужную форму и дважды щёлкните по ней либо выберите в контекстном меню пункт «Открыть форму».

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

Из чего состоит окно редактора

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

Основные составляющие редактора:

  • Диалог — визуальная область, где отображается форма так, как её увидит пользователь;
  • Модуль — редактор кода на встроенном языке с процедурами и функциями формы;
  • Реквизиты — список реквизитов формы, которые служат источниками данных для элементов;
  • Палитра свойств — панель, где настраиваются свойства выбранного элемента: заголовок, доступность, видимость, обработчики событий;
  • Панель элементов — набор доступных элементов управления: поля ввода, кнопки, табличные поля, надписи, переключатели.

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

Как добавить и настроить элементы на форме

Чтобы добавить элемент, перетащите его с панели элементов на диалог формы либо воспользуйтесь меню «Форма — Вставить элемент управления». После размещения элемент выделяется, и его свойства отображаются в палитре свойств. Для поля ввода, например, обязательно нужно указать источник данных — реквизит формы или объекта, с которым связано поле.

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

Порядок добавления кнопки с обработчиком
  1. 1
    Откройте форму в конфигураторе и перейдите на закладку «Диалог»
  2. 2
    Перетащите элемент «Кнопка» из панели элементов на форму
  3. 3
    В палитре свойств задайте имя и заголовок кнопки
  4. 4
    Нажмите кнопку с лупой у события «Нажатие» — редактор создаст процедуру в модуле
  5. 5
    Напишите код обработчика и сохраните конфигурацию или обработку
  6. 6
    Запустите режим предприятия и проверьте работу кнопки

Работа с модулем формы и событиями

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

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

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

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

КритерийОбычная формаУправляемая форма
Размещение элементовВручную, в координатахАвтоматически платформой
Клиентские приложенияТолько толстый клиентТонкий, толстый, веб-клиент
Модель кодаВесь код на клиентеРазделение клиент/сервер
Описание формыДекларативно в редакторе диалогаДерево элементов и реквизитов
АктуальностьУнаследованные решенияСовременные конфигурации

Какой тип формы выбрать

Обычная форма

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

Управляемая форма

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

Типичные ошибки при работе с редактором

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

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

Типичные ошибки
01
Не указан источник данных у поля ввода — поле отображается пустым и не сохраняет значение
02
Обработчик события удалён из свойств, но процедура осталась в модуле — лишний неиспользуемый код и путаница
03
Не настроены привязки границ — при растягивании окна элементы наползают друг на друга
04
Доработка внешней обработки сохранена под тем же именем у пользователя — старая копия в каталоге перекрывает новую версию
05
Попытка открыть обычную форму в тонком клиенте — форма недоступна, обработку нужно запускать в толстом клиенте

Проверка результата и ограничения

После изменения формы обновите конфигурацию базы данных (клавиша F7), если дорабатывалась форма объекта конфигурации, и запустите режим предприятия. Откройте форму и проверьте: отображаются ли все элементы, работают ли кнопки, сохраняются ли данные, корректно ли форма ведёт себя при изменении размеров окна.

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

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

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

Открытие формы в режиме предприятия
Норма

Форма открывается без ошибок, все элементы на месте

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

Ошибка компиляции модуля или пустая форма

Работа кнопок и полей
Норма

Обработчики выполняются, данные сохраняются

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

Нажатие кнопки ничего не делает

Изменение размера окна
Норма

Элементы растягиваются и смещаются по привязкам

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

Элементы наползают друг на друга или обрезаются

Запуск в нужном клиенте
Норма

Обработка открывается в толстом клиенте

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

Форма недоступна в тонком или веб-клиенте — это ограничение платформы

Перед серьёзной доработкой формы в рабочей базе сделайте резервную копию или выполняйте изменения сначала в тестовой копии. Ошибка в обработчике, например при записи объекта, может привести к некорректным данным, которые сложно отследить.

FAQ: частые вопросы о редакторе обычных форм

Почему в конфигураторе нет привычного диалога формы, а только дерево элементов?

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

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

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

Где хранится обычная форма и можно ли её выгрузить?

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

Почему обработчик события не срабатывает, хотя процедура есть в модуле?

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

Работают ли обычные формы в веб-клиенте?

Нет. Обычные формы поддерживаются только толстым клиентом в режиме обычного приложения. Для веб-клиента и тонкого клиента необходимы управляемые формы.

Итог

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

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