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