Разработка и Конфигурация · 10 мин
Редактор обычных форм в 1С: назначение, возможности и порядок работы
Что такое редактор обычных форм в 1С, как открыть форму в конфигураторе, изменить элементы и код модуля, чем обычные формы отличаются от управляемых.
Редактор обычных форм — это встроенный инструмент конфигуратора 1С:Предприятие, который позволяет просматривать и изменять формы объектов конфигурации, созданные в режиме обычного приложения. С его помощью разработчик управляет расположением элементов на форме, настраивает их свойства, создаёт обработчики событий и редактирует модуль формы на встроенном языке.
Обычные формы — это классический механизм интерфейса, который использовался в платформе 8.2 и ранних версиях 8.3. Форма такого типа жёстко привязана к экранным координатам: разработчик сам размещает поля, кнопки и таблицы, а платформа отрисовывает их именно так, как задано в редакторе. Это принципиальное отличие от управляемых форм, где расположение элементов вычисляется платформой автоматически.
Несмотря на то что современные конфигурации работают в режиме управляемого приложения, обычные формы до сих пор встречаются в унаследованных решениях, во внешних обработках и в конфигурациях, запускаемых в режиме обычного приложения. Поэтому умение работать с редактором обычных форм остаётся практически востребованным навыком при сопровождении старых систем и доработке внешних инструментов.
Как открыть редактор обычных форм
Редактор доступен только в конфигураторе. Чтобы открыть форму, запустите конфигуратор, раскройте дерево конфигурации и найдите нужный объект — например, справочник, документ или отчёт. В ветке объекта перейдите к узлу «Формы», выделите нужную форму и дважды щёлкните по ней либо выберите в контекстном меню пункт «Открыть форму».
Для внешних обработок и отчётов порядок немного другой: откройте файл через меню «Файл — Открыть», затем в структуре обработки выберите форму. Если у объекта нет ни одной формы, её можно создать через кнопку «Добавить» в узле «Формы» — при этом запустится конструктор, который предложит тип формы и начальный набор элементов.
Из чего состоит окно редактора
Окно редактора обычной формы объединяет несколько областей, между которыми можно переключаться. Центральную часть занимает визуальное представление формы — именно здесь элементы перетаскиваются мышью, выравниваются и изменяются в размерах. Внизу расположены закладки, позволяющие переключаться между диалогом формы, модулем и реквизитами.
Основные составляющие редактора:
- Диалог — визуальная область, где отображается форма так, как её увидит пользователь;
- Модуль — редактор кода на встроенном языке с процедурами и функциями формы;
- Реквизиты — список реквизитов формы, которые служат источниками данных для элементов;
- Палитра свойств — панель, где настраиваются свойства выбранного элемента: заголовок, доступность, видимость, обработчики событий;
- Панель элементов — набор доступных элементов управления: поля ввода, кнопки, табличные поля, надписи, переключатели.
Такое совмещение визуальной части и кода в одном окне ускоряет разработку: можно выделить кнопку на диалоге, открыть её свойства, создать обработчик события «Нажатие» — и редактор сразу переключится в модуль, где будет создан шаблон процедуры.
Как добавить и настроить элементы на форме
Чтобы добавить элемент, перетащите его с панели элементов на диалог формы либо воспользуйтесь меню «Форма — Вставить элемент управления». После размещения элемент выделяется, и его свойства отображаются в палитре свойств. Для поля ввода, например, обязательно нужно указать источник данных — реквизит формы или объекта, с которым связано поле.
Размеры и положение элементов задаются мышью или точными значениями в свойствах. Обычные формы поддерживают привязки границ: можно задать, к каким краям формы «приклеен» элемент, чтобы при растягивании окна он смещался или растягивался нужным образом. Это важно для табличных полей, которые обычно должны занимать всё доступное пространство.
- 1Откройте форму в конфигураторе и перейдите на закладку «Диалог»
- 2Перетащите элемент «Кнопка» из панели элементов на форму
- 3В палитре свойств задайте имя и заголовок кнопки
- 4Нажмите кнопку с лупой у события «Нажатие» — редактор создаст процедуру в модуле
- 5Напишите код обработчика и сохраните конфигурацию или обработку
- 6Запустите режим предприятия и проверьте работу кнопки
Работа с модулем формы и событиями
Модуль формы содержит код, который выполняется при работе пользователя с формой. Наиболее часто используются предопределённые обработчики: «ПриОткрытии» — для инициализации данных перед показом формы, «ПередЗакрытием» — для проверок и подтверждений, обработчики нажатий кнопок и изменения полей.
Важно понимать контекст исполнения: в обычных формах весь код модуля выполняется на клиенте, и разработчик имеет прямой доступ к данным объекта. Это упрощает логику по сравнению с управляемыми формами, где есть разделение на клиентский и серверный контекст, но одновременно делает обычные формы непригодными для веб-клиента и тонкого клиента.
Чем обычная форма отличается от управляемой
Выбор типа формы определяется режимом запуска конфигурации и требованиями к клиентским приложениям. Понимание различий помогает не ошибиться при доработке старых решений и при планировании перехода на современный интерфейс.
| Критерий | Обычная форма | Управляемая форма |
|---|---|---|
| Размещение элементов | Вручную, в координатах | Автоматически платформой |
| Клиентские приложения | Только толстый клиент | Тонкий, толстый, веб-клиент |
| Модель кода | Весь код на клиенте | Разделение клиент/сервер |
| Описание формы | Декларативно в редакторе диалога | Дерево элементов и реквизитов |
| Актуальность | Унаследованные решения | Современные конфигурации |
Какой тип формы выбрать
Подходит для внешних обработок, запускаемых в толстом клиенте, и для сопровождения старых конфигураций. Ограничение: не работает в тонком и веб-клиенте.
Подходит для всех новых разработок и конфигураций на управляемом приложении. Ограничение: требует разделения кода на клиентский и серверный контекст.
Типичные ошибки при работе с редактором
Начинающие разработчики часто сталкиваются с одними и теми же проблемами. Самая распространённая — элемент на форме не отображает данные, потому что не указан источник данных в свойствах. Вторая типичная ситуация — обработчик события не выполняется, потому что процедура в модуле была переименована вручную, а связь в палитре свойств не обновлена.
Ещё одна группа ошибок связана с привязками: если не настроить привязки границ, при изменении размера окна элементы наезжают друг на друга или остаются в углу. Перед сдачей формы в работу всегда проверяйте её поведение при растягивании окна.
Проверка результата и ограничения
После изменения формы обновите конфигурацию базы данных (клавиша F7), если дорабатывалась форма объекта конфигурации, и запустите режим предприятия. Откройте форму и проверьте: отображаются ли все элементы, работают ли кнопки, сохраняются ли данные, корректно ли форма ведёт себя при изменении размеров окна.
Главное ограничение редактора обычных форм — он доступен только для форм, созданных под обычное приложение. Если конфигурация работает в управляемом режиме, объекту нужно создавать управляемую форму, и редактор будет выглядеть иначе: вместо диалога с координатами вы увидите дерево элементов и список реквизитов. Смешивать подходы в одной форме нельзя.
Как проверить результат
Форма открывается без ошибок, все элементы на месте
Ошибка компиляции модуля или пустая форма
Обработчики выполняются, данные сохраняются
Нажатие кнопки ничего не делает
Элементы растягиваются и смещаются по привязкам
Элементы наползают друг на друга или обрезаются
Обработка открывается в толстом клиенте
Форма недоступна в тонком или веб-клиенте — это ограничение платформы
Перед серьёзной доработкой формы в рабочей базе сделайте резервную копию или выполняйте изменения сначала в тестовой копии. Ошибка в обработчике, например при записи объекта, может привести к некорректным данным, которые сложно отследить.
FAQ: частые вопросы о редакторе обычных форм
Почему в конфигураторе нет привычного диалога формы, а только дерево элементов?
Значит, вы открыли управляемую форму. В ней нет визуального диалога с координатами — расположение элементов задаётся деревом и группировками, а платформа сама вычисляет внешний вид. Тип формы определяется при её создании и режимом работы конфигурации.
Можно ли преобразовать обычную форму в управляемую автоматически?
Полноценного автоматического конвертера нет. На практике создают новую управляемую форму и переносят в неё реквизиты, элементы и логику вручную, перерабатывая код под клиент-серверную модель. Простые формы переносятся быстро, сложные требуют переработки обработчиков.
Где хранится обычная форма и можно ли её выгрузить?
Форма хранится внутри конфигурации или файла внешней обработки. В конфигураторе форму можно выгрузить в файл через контекстное меню формы — это удобно для резервной копии перед доработкой или для сравнения версий.
Почему обработчик события не срабатывает, хотя процедура есть в модуле?
Проверьте, что имя процедуры указано в свойстве события элемента в палитре свойств. Если процедуру переименовали вручную в модуле, связь с событием теряется. Проще всего удалить старое значение и создать обработчик заново через кнопку с лупой.
Работают ли обычные формы в веб-клиенте?
Нет. Обычные формы поддерживаются только толстым клиентом в режиме обычного приложения. Для веб-клиента и тонкого клиента необходимы управляемые формы.
Что важно запомнить
Редактор обычных форм — инструмент конфигуратора для визуального проектирования форм обычного приложения: диалог, модуль, реквизиты и палитра свойств в одном окне. Обычные формы работают только в толстом клиенте, поэтому применяются в унаследованных конфигурациях и внешних обработках. Перед доработкой делайте копию, после — проверяйте открытие формы, работу обработчиков и поведение при изменении размеров окна.