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