К статье
Практический материал

Быстрый старт · 12 мин

Реквизиты в 1С 8: что это и как с ними работать

Что такое реквизиты в 1С 8, какие бывают виды реквизитов, как их создавать, изменять и использовать в отчётах. Практические примеры и типичные ошибки.

Реквизит в 1С 8 — это отдельное поле объекта конфигурации, в котором хранится конкретное значение: номер документа, наименование контрагента, сумма, дата, признак проведения. Если представить справочник или документ как таблицу, то реквизиты — это её колонки, а каждый конкретный элемент или документ — строка. Понимание того, как устроены реквизиты, нужно и пользователю, который настраивает отчёты и печатные формы, и разработчику, который дорабатывает конфигурацию.

Реквизиты встречаются практически у всех объектов: у справочников, документов, планов счетов, регистров, обработок. Часть реквизитов создаётся платформой автоматически (стандартные), часть добавляет разработчик конфигурации, а в типовых решениях пользователь может добавлять дополнительные реквизиты и сведения без изменения кода. Различать эти категории важно, потому что возможности по их изменению и использованию заметно отличаются.

Ниже разобрано, какие виды реквизитов существуют в 1С 8, где их искать в конфигураторе и в пользовательском режиме, как добавить свой реквизит, какие ограничения есть у типовых механизмов и каких ошибок стоит избегать при самостоятельной доработке.

Что такое реквизит и чем он отличается от табличной части

Реквизит описывает одно свойство объекта. Например, у документа «Реализация товаров и услуг» есть реквизиты «Контрагент», «Договор», «Склад», «Комментарий». Каждый реквизит имеет имя (идентификатор для обращения из кода), синоним (название, которое видит пользователь) и тип данных. Тип определяет, что можно хранить: строку ограниченной длины, число с заданной точностью, дату, булево (да/нет) или ссылку на другой объект базы.

Принципиально отличать реквизит нужно от табличной части. Реквизит хранит одно значение, табличная часть — набор строк с несколькими колонками. Список товаров в накладной — это табличная часть, а каждая колонка в ней (номенклатура, количество, цена) — реквизиты табличной части. При поиске «где хранится это поле» сначала определите, одиночное это значение или строка в списке.

Какие виды реквизитов существуют в 1С 8

Стандартные реквизиты платформа создаёт сама, и удалить их нельзя. У справочника это «Код», «Наименование», «Владелец», «Родитель», «Пометка удаления»; у документа — «Номер», «Дата», «Проведён», «Организация» (в типовых конфигурациях) и другие. Их состав и свойства зависят от настроек объекта: например, длина кода и наименования задаётся в свойствах справочника.

Прикладные реквизиты добавляет разработчик в конфигураторе: они становятся частью структуры базы данных и доступны в запросах, отчётах, печатных формах наравне со стандартными. Именно так реализованы поля вроде «ИНН» у контрагента или «Ставка НДС» в документе.

Дополнительные реквизиты и дополнительные сведения — механизм типовых конфигураций (БСП), позволяющий пользователю добавить собственные поля без доработки конфигурации. Дополнительный реквизит отображается прямо в форме объекта, дополнительное сведение — на отдельной закладке. Оба хранятся в служебных таблицах, а не в основной таблице объекта, что влияет на производительность и способы получения данных в отчётах.

Вид реквизитаКто создаётГде хранитсяОграничения
СтандартныйПлатформа автоматическиОсновная таблица объектаНельзя удалить, можно менять отдельные свойства
ПрикладнойРазработчик в конфигуратореОсновная таблица объектаТребуется обновление конфигурации базы данных
Дополнительный реквизитПользователь в режиме 1С:ПредприятиеСлужебные таблицы БСПМедленнее в запросах, ограниченный набор типов
Дополнительное сведениеПользователь в режиме 1С:ПредприятиеСлужебные таблицы БСПНе выводится в основную форму, только на вкладке

Где посмотреть реквизиты объекта

В конфигураторе структура видна сразу: откройте дерево конфигурации, разверните нужный объект (например, «Справочники → Контрагенты») — ветка «Реквизиты» покажет все прикладные поля, а стандартные видны через кнопку «Стандартные реквизиты». Двойной клик по реквизиту открывает палитру свойств: тип, длина, обязательность заполнения, индексирование, проверка заполнения.

В пользовательском режиме список реквизитов виден в форме объекта. Если нужного поля на форме нет, это не значит, что его нет в объекте: разработчик мог просто не вывести его. Проверить полный состав можно через отчёт «Структура конфигурации» (если он есть в поставке) или через конструктор произвольного отчёта на СКД, где доступны все поля объекта.

Как добавить реквизит в конфигураторе

Для добавления прикладного реквизита нужны права на изменение конфигурации и монопольный доступ к базе на этапе обновления. Порядок действий стандартный: откройте объект в конфигураторе, в ветке «Реквизиты» выберите «Добавить», задайте имя латиницей без пробелов (например, НомерДоговораПоставщика), синоним для пользователя и тип данных. Для ссылочных типов укажите конкретный объект, иначе получите составной тип, который усложнит отчёты.

После добавления реквизит нужно вывести на форму: откройте форму объекта и перетащите новый реквизит из дерева реквизитов в дерево элементов формы. Затем обновите конфигурацию базы данных (F7 или через меню «Конфигурация»). Платформа выполнит реструктуризацию — для больших таблиц это может занять заметное время, поэтому на рабочих базах обновление делают в нерабочие часы.

Порядок действий
  1. 1
    Сделайте резервную копию базы или выгрузку DT
  2. 2
    Откройте конфигуратор, найдите объект и добавьте реквизит в ветке «Реквизиты»
  3. 3
    Задайте имя, синоним и точный тип данных
  4. 4
    Добавьте реквизит на форму объекта
  5. 5
    Обновите конфигурацию базы данных (F7) и примите реструктуризацию
  6. 6
    Проверьте в режиме 1С:Предприятие, что поле видно, заполняется и сохраняется

Как добавить дополнительный реквизит без доработки конфигурации

В типовых конфигурациях на базе БСП (Управление торговлей, ERP, Бухгалтерия предприятия и другие) пользователь с правами администратора может добавить поле самостоятельно. Обычно путь такой: «Администрирование → Общие настройки → Дополнительные реквизиты» (в ряде конфигураций — через карточку объекта, кнопка «Ещё → Изменить состав дополнительных реквизитов»). Там создаётся новый реквизит, задаётся заголовок, тип значения и обязательность.

Такой реквизит появляется в форме объекта автоматически, доступен в списках через настройку колонок и в отчётах через поля дополнительных реквизитов. Это безопасный способ: конфигурация не меняется, обновления типового релиза не затрагивают пользовательские поля.

Ограничения тоже есть: набор типов ограничен (строка, число, дата, булево, ссылки на основные справочники), выборка по дополнительным реквизитам в запросах медленнее, чем по обычным, а сложную логику проверки заполнения на них не навесить без доработки. Если поле участвует в проведении документов, обменах или массовых отчётах — правильнее добавить его как прикладной реквизит через конфигуратор.

Маршрут решения

Как выбрать действие

Поле нужно для справки, фильтрации в списках и простых отчётовИспользуйте дополнительный реквизит — быстро и без рисков для обновлений
Поле участвует в проведении, обменах, регламентных операциях или массовых выборкахДобавляйте прикладной реквизит через конфигуратор с участием разработчика
Нужно хранить данные, редко просматриваемые вручнуюПодойдёт дополнительное сведение — не загромождает основную форму

Реквизиты в запросах, отчётах и печатных формах

В языке запросов к реквизиту обращаются через точку от имени таблицы: Документ.РеализацияТоваровУслуг.Контрагент. Составные типы (когда реквизит может ссылаться на разные объекты) требуют осторожности: обращение к реквизиту через точку от поля составного типа приводит к неявным соединениям и замедляет запрос. По возможности задавайте реквизитам точный тип.

В печатных формах реквизиты выводятся через макет: в параметрах макета указывается обращение к данным объекта. Если добавили новый реквизит и хотите видеть его в печатной форме, потребуется доработать процедуру формирования печати — для дополнительных реквизитов в типовых конфигурациях часто есть готовый механизм вывода без кода.

bsl
Запрос = Новый Запрос("ВЫБРАТЬ Контрагенты.Наименование, Контрагенты.ИНН ИЗ Справочник.Контрагенты КАК Контрагенты");

Типичные ошибки при работе с реквизитами

Чаще всего проблемы возникают не из-за самих реквизитов, а из-за решений о них: неверно выбранный тип, составной тип «на всякий случай», дублирование полей в разных объектах без синхронизации. Исправлять такие решения на заполненной базе сложно: изменение типа реквизита при реструктуризации может привести к потере данных, если старые значения не приводятся к новому типу.

Типичные ошибки
01
Составной тип без необходимости — запросы замедляются, отчёты усложняются
02
Изменение типа существующего реквизита на рабочей базе — часть значений может быть очищена при реструктуризации
03
Добавление прикладного реквизита там, где хватило бы дополнительного — лишняя доработка и сложности при обновлении типовых релизов
04
Создание реквизита без вывода на форму — пользователи не видят поле и считают, что его нет
05
Дублирование одного и того же поля в нескольких объектах без механизма синхронизации — данные расходятся

Как проверить результат после изменений

После добавления или изменения реквизита проверку стоит вести по трём направлениям: отображение, сохранение и использование в отчётах. Откройте форму объекта, убедитесь, что поле видно и доступно для ввода. Заполните его, запишите объект, закройте и откройте снова — значение должно сохраниться. Затем постройте отчёт или список с этим полем и убедитесь, что данные выводятся корректно.

Контрольные точки

Как проверить результат

Поле на форме объекта
Норма

Поле видно, доступно для ввода, значение сохраняется после записи

Тревожный признак

Поле отсутствует на форме или очищается после записи

Данные в списке и отчётах
Норма

Колонка с реквизитом выводится и показывает заполненные значения

Тревожный признак

В отчёте поле пустое, хотя в карточке заполнено

Поведение старых данных
Норма

Ранее введённые значения на месте после реструктуризации

Тревожный признак

Значения обнулены или отображаются некорректно — проверяйте изменение типа

Итог

Что важно запомнить

Реквизит — это поле объекта 1С с заданным типом. Стандартные создаёт платформа, прикладные — разработчик, дополнительные — пользователь без доработки конфигурации. Для простых задач используйте дополнительные реквизиты, для логики и обменов — прикладные, а перед любым изменением конфигурации рабочей базы делайте резервную копию.

Частые вопросы

Чем реквизит отличается от свойства в 1С?

В пользовательском смысле «свойство» — это обычно дополнительный реквизит или дополнительное сведение из механизма БСП. В конфигураторе «свойства» — это характеристики самого реквизита (тип, длина, обязательность), которые задаются в палитре свойств. Контекст подскажет, о чём речь.

Можно ли удалить стандартный реквизит, например «Код» у справочника?

Нет, стандартные реквизиты удалить нельзя. Можно изменить отдельные параметры: длину кода, длину наименования, отключить автонумерацию. Если код не нужен пользователям, его просто не выводят на форму.

Почему дополнительный реквизит не виден в отчёте?

Проверьте, что реквизит создан именно для того набора объектов, по которому строится отчёт, и что в настройках отчёта поле добавлено из ветки дополнительных реквизитов. В некоторых отчётах дополнительные поля нужно включать в схеме компоновки отдельно.

Что произойдёт с данными, если изменить тип реквизита?

При реструктуризации платформа попытается привести старые значения к новому типу. Значения, которые привести нельзя (например, строка в число), будут очищены. Перед таким изменением обязательно делайте копию базы и проверяйте результат на тестовых данных.

Как обратиться к реквизиту из кода на встроенном языке?

Через точку от объекта: Объект.ИмяРеквизита. Для ссылочных значений сначала получите объект методом ПолучитьОбъект() или используйте запрос — обращение к реквизитам через точку от ссылки порождает отдельные обращения к базе и замедляет код в циклах.

Можно ли добавить реквизит в типовую конфигурацию без снятия с поддержки?

Да, если использовать дополнительные реквизиты и сведения — конфигурация при этом не меняется. Добавление прикладного реквизита через конфигуратор потребует включения возможности изменения и усложнит последующие обновления, поэтому такие доработки обычно поручают разработчику.