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