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