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