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