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

Разработка и Конфигурация · 11 мин

Какие бывают реквизиты в 1С и как с ними работать

Что такое реквизиты в 1С, какие бывают виды реквизитов объектов и форм, как добавить, найти и проверить реквизит в конфигураторе и пользовательском режиме.

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

Одно и то же слово «реквизит» в 1С используется в нескольких разных смыслах: реквизиты объекта метаданных, реквизиты табличной части, реквизиты формы и даже реквизиты организации в печатных документах. Из-за этого у новичков возникает путаница, когда они ищут «реквизит» не в том месте. Ниже разобраны все основные значения термина и практические приёмы работы с каждым видом.

Материал ориентирован на платформу 1С:Предприятие 8.3 и типовые конфигурации на управляемых формах (Управление торговлей, ERP, Бухгалтерия предприятия, Зарплата и управление персоналом). В старых конфигурациях на обычных формах часть механизмов отличается, о чём сказано отдельно.

Что такое реквизит объекта конфигурации

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

Тип реквизита может быть примитивным (Строка, Число, Дата, Булево), ссылочным (СправочникСсылка.Номенклатура, ДокументСсылка.РеализацияТоваровУслуг), перечислением, типом «ХранилищеЗначения» или составным — когда в одном поле допускается несколько типов. Составные типы удобны, но замедляют запросы и усложняют индексирование, поэтому их применяют осознанно.

Пример: у документа «Реализация товаров и услуг» реквизиты шапки — «Организация», «Контрагент», «Договор», «Склад», «Валюта». Каждый из них хранится в базе как отдельное поле таблицы документа, а при проведении значения попадают в движения по регистрам.

Стандартные реквизиты: что платформа создаёт сама

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

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

Обращение к стандартным реквизитам в коде не отличается от обращения к обычным: ДокументОбъект.Номер или СправочникОбъект.Наименование. В запросах стандартные реквизиты доступны без дополнительных соединений, например ВЫБРАТЬ Номенклатура.Код, Номенклатура.Наименование ИЗ Справочник.Номенклатура.

Реквизиты табличных частей

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

Ключевое отличие от реквизитов шапки — множественность значений. В коде к строкам обращаются через коллекцию: Для Каждого Строка Из ДокументОбъект.Товары Цикл ... КонецЦикла;. В запросах табличная часть выступает отдельной виртуальной таблицей: Документ.РеализацияТоваровУслуг.Товары.

Типичная ошибка начинающих — пытаться хранить список значений в строковом реквизите через запятую вместо создания табличной части. Такой подход ломает отчёты, поиск и проведение: по подстроке нельзя построить индекс и корректно соединить данные в запросе.

Реквизиты формы и чем они отличаются от реквизитов объекта

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

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

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

Дополнительные реквизиты и сведения в пользовательском режиме

В типовых конфигурациях есть механизм дополнительных реквизитов и сведений, который позволяет добавить собственные поля без доработки конфигуратора и без снятия объектов с поддержки. Путь в типовых решениях: «Администрирование» → «Общие настройки» → включить флажок «Дополнительные реквизиты и сведения», затем открыть одноимённый раздел и задать наборы для нужных объектов.

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

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

Как добавить дополнительный реквизит в типовой конфигурации
  1. 1
    Откройте «Администрирование» → «Общие настройки» и включите «Дополнительные реквизиты и сведения»
  2. 2
    Перейдите в раздел «Дополнительные реквизиты» и выберите набор нужного объекта, например «Номенклатура»
  3. 3
    Создайте реквизит: задайте заголовок, тип значения и при необходимости список допустимых значений
  4. 4
    Откройте карточку объекта и проверьте, что поле появилось и сохраняется после записи
  5. 5
    Проверьте доступность реквизита в отчётах и настройках списка

Как найти и проверить реквизит в конфигураторе

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

Быстрый поиск реквизита по всей конфигурации выполняется через «Правка» → «Найти ссылки на объект» или через глобальный поиск по имени. Если нужно понять, где реквизит используется в коде, удобен поиск по строке имени с учётом обращений через точку.

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

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

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

Реквизит добавлен в конфигураторе
Норма

Объект открывается, значение вводится и сохраняется после записи

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

Поле видно, но значение очищается — вероятно, это реквизит формы, а не объекта

Дополнительный реквизит в типовой
Норма

Поле появилось в карточке и доступно в отчётах

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

Поле есть в карточке, но не выводится в отчёт — проверьте, что создан именно реквизит, а не сведение

Изменение типа или длины
Норма

После обновления конфигурации данные на месте, реструктуризация прошла без ошибок

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

Часть значений обрезана или сброшена — длина уменьшена или тип несовместим

Ограничения, риски и безопасные приёмы

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

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

Удаление реквизита, на который ссылаются алгоритмы проведения, отчёты или обмены, приведёт к ошибкам при обновлении и в работе. Перед удалением выполните поиск ссылок на реквизит по всей конфигурации и проверьте внешние обработки и планы обмена.

FAQ

Чем реквизит отличается от измерения и ресурса регистра?

Измерение и ресурс — частные случаи полей регистров: измерение задаёт разрез хранения (склад, номенклатура), ресурс — накапливаемое значение (количество, сумма). Термин «реквизит» у регистров тоже существует — это дополнительные поля записи, не участвующие в итогах, но сохраняемые в движениях для аналитики.

Как узнать имя реквизита для кода, если на форме виден только его заголовок?

Откройте объект в конфигураторе на закладке «Данные» и найдите реквизит по синониму — колонка «Имя» и есть идентификатор для обращения из кода. В пользовательском режиме можно вывести список через «Ещё» → «Вывести список» и сопоставить заголовки.

Почему добавленное поле на форме не сохраняется в базе?

Чаще всего поле привязано к реквизиту формы, а не к реквизиту объекта. Реквизиты формы живут только пока форма открыта. Проверьте свойство «ПутьКДанным» элемента формы: оно должно указывать на «Объект.ИмяРеквизита».

Можно ли добавить реквизит без программиста?

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

Что будет с данными при удалении реквизита из конфигурации?

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

Чем реквизиты в 1С отличаются от реквизитов организации в документах?

Реквизиты организации (ИНН, КПП, ОГРН, адрес, банковский счёт) — это обычные реквизиты справочника «Организации» и табличной части банковских счетов, которые подставляются в печатные формы. Технически это те же поля объекта, просто с юридическим смыслом.

Итог

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

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