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