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