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