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