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