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

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

Если вы когда-нибудь задавались вопросом, почему в регистре остатков товаров Номенклатура — это измерение, а Количество — ресурс, или почему при создании отчёта некоторые поля доступны только в разрезе, а другие — в ресурсах, этот материал станет вашим гидом.

1. Что такое измерения в 1С: определение и назначение

Измерения в 1С:Предприятие — это аналитические признаки, по которым группируются данные в регистрах (накопления, бухгалтерии, расчётов). Они определяют, в каком разрезе будут храниться и обрабатываться записи. Проще говоря, измерения отвечают на вопрос: «По чему мы ведём учёт?»

Примеры из типовых конфигураций:

  • 📦 Номенклатура в регистре остатков товаров — позволяет учитывать остатки по каждому виду товара отдельно.
  • 🏢 Склад — группирует данные по местам хранения.
  • 👥 Контрагент в регистре расчётов — разделяет долги по каждому партнёру.
  • 📅 Период (дата) — обязательное измерение во временных регистрах.

Измерения могут быть:

  • 🔹 Простыми (один тип данных, например, СправочникСсылка.Номенклатура).
  • 🔹 Составными (несколько полей, например, Номенклатура + Характеристика).
  • 🔹 Подчинёнными (иерархические, как Организация → Подразделение).
⚠️ Внимание: Если в регистре не указано ни одного измерения (кроме обязательного Период), все данные будут записываться «в кучу» — без возможности аналитики по разрезам. Это типичная ошибка при создании кастомных регистров.

Главная особенность измерений — они не участвуют в арифметических операциях. Их задача — разделять данные, а не суммировать. Например, в регистре остатков вы не сложите Номенклатуру1 + Номенклатуру2 — это бессмысленно, зато можете получить остатки по каждой номенклатуре отдельно.

2. Ресурсы в 1С: что это и зачем нужны

Ресурсы — это количественные показатели, которые хранят числовые значения в регистрах. Они отвечают на вопрос: «Что мы учитываем в разрезе измерений?» Если измерения определяют структуру данных, то ресурсы — их содержание.

Классические примеры ресурсов:

  • 📊 Количество — сколько единиц товара на складе.
  • 💰 Сумма — денежное выражение операции.
  • ⚖️ Вес — для логистических расчётов.
  • ⏱️ Время — в регистрах рабочего времени.

В отличие от измерений, ресурсы можно суммировать, вычитать, умножать — то есть использовать в вычислениях. Например, в отчёте «Ведомость по товарам» вы можете:

  • 🔢 Посчитать общее количество товаров на всех складах (сумма по ресурсу Количество).
  • 💵 Найти среднюю цену (ресурс Сумма / ресурс Количество).
  • 📉 Построить график динамики остатков (изменение ресурса Количество по измерению Период).
⚠️ Внимание: Если в регистре не указан ни один ресурс, он станет «пустышкой» — будет хранить только структуру (измерения), но не данные. Это частая ошибка при копировании регистров из других конфигураций.

Ресурсы всегда имеют тип данных, поддерживающий арифметические операции: Число, Дата (для временных интервалов), реже — Строка (например, для конкатенации). В типовых конфигурациях чаще всего используются:

Ресурс Тип данных Пример использования
Количество Число(15, 3) Остатки товаров, кол-во часов работы
Сумма Число(15, 2) Денежные обороты, выручка
Вес Число(15, 3) Логистика, складской учёт
Длительность Число(10, 0) Учёт рабочего времени

Критическое отличие: ресурсы могут быть виртуальными (вычисляемыми на лету, например, СуммаНДС = Сумма * СтавкаНДС), тогда как измерения всегда хранятся в базе явно.

3. Ключевые различия: измерения vs ресурсы

Чтобы окончательно разграничить понятия, сведем их особенности в сравнительную таблицу:

Критерий Измерения Ресурсы
Назначение Определяют разрезы учёта (по чему группируем данные) Хранят количественные показатели (что учитываем)
Типы данных Любые (справочники, документы, перечисления, строки) Только числовые (Число, Дата для интервалов)
Арифметические операции ❌ Не поддерживаются ✅ Поддерживаются (+, -, *, /, суммирование)
Примеры Номенклатура, Склад, Контрагент Количество, Сумма, Вес
Обязательность Минимум 1 (например, Период в регистрах накопления) Минимум 1 (иначе регистр не имеет смысла)
Использование в отчётах Для группировки (ГРУППИРОВКА ПО) Для агрегации (СУММА, СРЕДНЕЕ)

Простой пример для запоминания:

  • 📌 Измерение = «полка в магазине» (раздел: молочные продукты, хлеб, напитки).
  • 📌 Ресурс = «сколько товаров на полке» (количество пакетов молока, буханок хлеба).

📊 Как вы обычно определяете, что перед вами — измерение или ресурс?
По типу данных (число = ресурс)
По назначению (группировка = измерение)
Смотрю в типовых конфигурациях
Затрудняюсь ответить

4. Как измерения и ресурсы работают вместе: примеры из типовых конфигураций

В реальных конфигурациях измерения и ресурсы всегда используются совместно. Рассмотрим несколько типовых сценариев:

📦 Регистр остатков товаров (1С:Управление торговлей)

  • 🔹 Измерения: Номенклатура, Склад, Партия.
  • 🔹 Ресурсы: Количество, Сумма.

Здесь мы можем узнать, сколько (ресурс) какого товара (измерение) на каком складе (измерение). При этом можно:

  • 📊 Посчитать общее количество товаров на всех складах (сумма по ресурсу Количество).
  • 📈 Построить отчёт по оборотам номенклатуры (изменение ресурса Сумма в разрезе измерения Номенклатура).

💰 Регистр бухгалтерии (1С:Бухгалтерия)

  • 🔹 Измерения: СчетБухгалтерскогоУчета, Контрагент, Договор.
  • 🔹 Ресурсы: Сумма, ВалютнаяСумма, Количество.

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

⏱️ Регистр рабочего времени (1С:Зарплата и Управление Персоналом)

  • 🔹 Измерения: Сотрудник, Подразделение, ВидРабочегоВремени (отпуск, больничный, работа).
  • 🔹 Ресурсы: КоличествоЧасов, КоличествоДней.

Ресурсы здесь используются для расчёта зарплаты, а измерения — для аналитики (например, сколько дней отпуска взял сотрудник Иванов).

💡

Если в отчёте нужно показать данные и по измерениям, и по ресурсам, используйте конструкцию ГРУППИРОВКА ПО Измерение1, Измерение2 СУММА(Ресурс1), МАКСИМУМ(Ресурс2). Это позволит избежать двойной обработки данных.

5. Типичные ошибки при работе с измерениями и ресурсами

Даже опытные разработчики иногда путают измерения и ресурсы, что приводит к ошибкам в учёте или некорректной работе отчётов. Рассмотрим самые распространённые промахи:

❌ Ошибка 1: Использование ресурса вместо измерения

🔴 Пример: В регистре остатков товаров Номенклатура сделали ресурсом, а не измерением.

🔴 Последствия:

  • Невозможно будет получить остатки по каждой номенклатуре отдельно — система будет суммировать все товары в одну кучу.
  • Отчёты типа «Ведомость по товарам» перестанут работать корректно.

❌ Ошибка 2: Отсутствие обязательных измерений

🔴 Пример: В регистре накопления не указан Период (обязательное измерение для временных регистров).

🔴 Последствия:

  • Система не сможет хранить историю изменений (например, остатки товаров на разные даты).
  • Отчёты по динамике (например, «Обороты между датами») будут неверными.

❌ Ошибка 3: Неправильный тип данных для ресурса

🔴 Пример: Ресурс Сумма сделан типом Строка вместо Число(15, 2).

🔴 Последствия:

  • Невозможно будет суммировать значения в отчётах.
  • При записях с десятичными разделителями (например, "1000.50") возникнут ошибки преобразования типов.

❌ Ошибка 4: Избыточные измерения

🔴 Пример: В регистре остатков добавлено измерение Менеджер, хотя учёт по менеджерам не нужен.

🔴 Последствия:

  • Увеличится объём базы данных (лишние записи).
  • Замедлится работа отчётов из-за избыточной детализации.

☑️ Проверка корректности измерений и ресурсов

Выполнено: 0 / 4

Что будет, если в регистре не указать ни одного ресурса?

Регистр будет хранить только структуру данных (измерения), но не сами значения. Например, в регистре остатков товаров вы сможете увидеть, какие товары учитываются (по измерению Номенклатура), но не сколько их (нет ресурса Количество). Фактически такой регистр бесполезен для учёта.

6. Практические рекомендации: когда что использовать

Чтобы не ошибиться в выборе между измерением и ресурсом, следуйте этим правилам:

✅ Когда нужно измерение:

  • 📌 Если данные нужно группировать или фильтровать (например, по складам, контрагентам, периодам).
  • 📌 Если значение нельзя сложить/вычесть (например, Номенклатура, Договор).
  • 📌 Если это аналитический признак (например, ВидДвиженияДенег в банковских операциях).

✅ Когда нужен ресурс:

  • 📌 Если значение можно суммировать или агрегировать (например, Количество, Сумма).
  • 📌 Если это количественный показатель (например, Вес, Объём).
  • 📌 Если данные будут использоваться в математических выражениях (например, СуммаНДС = Сумма * СтавкаНДС).

🔧 Технические советы для разработчиков:

  • 🛠️ Для ускорения отчётов индексируйте часто используемые измерения (в настройках регистра).
  • 🛠️ Если ресурс используется только для расчётов (например, СуммаНДС), сделайте его виртуальным — это сэкономит место в базе.
  • 🛠️ Избегайте слишком длинных составных измерений (например, Номенклатура + Характеристика + Серия + Качество) — это усложнит поддержку.

💡

Главное правило: если вы можете сложить два значения — это ресурс. Если нет (например, нельзя сложить два контрагента) — это измерение.

7. Как исправить ошибки с измерениями и ресурсами

Если вы уже допустили ошибку в конфигурации (например, сделали измерение ресурсом или наоборот), исправить её можно двумя способами:

🔧 Способ 1: Редактирование конфигурации

  1. Откройте конфигуратор (1Cv8.exe /config).
  2. Найдите проблемный регистр в дереве объектов.
  3. Измените тип поля с измерения на ресурс (или наоборот).
  4. Обновите конфигурацию базы данных (Конфигурация → Обновить).

⚠️ Внимание: При таком изменении данные в базе могут быть утеряны! Перед правкой сделайте резервную копию (Администрирование → Выгрузить информационную базу).

🔧 Способ 2: Перенос данных через обработку

Если в регистре уже есть критичные данные, проще:

  1. Создать новый регистр с правильной структурой.
  2. Написать обработку для переноса данных из старого регистра в новый.
  3. Заменить ссылки на старый регистр в коде и отчётах.
  4. Удалить старый регистр (после проверки корректности работы).

Как перенести данные между регистрами без потерь?

Используйте запрос с конструкцией ВЫБРАТЬ ... ПОМЕСТИТЬ или циклом по записям старого регистра. Пример кода:

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| СтарыйРегистр.Период КАК Период,

| СтарыйРегистр.Номенклатура КАК Номенклатура,

| СтарыйРегистр.Количество КАК Количество

|ИЗ

| РегистрНакопления.СтарыйРегистр КАК СтарыйРегистр

|

|ПОМЕСТИТЬ НовыйРегистр";

Запрос.Выполнить();

Обязательно проверьте результат в НовыйРегистр перед удалением старого!

8. Часто задаваемые вопросы (FAQ)

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

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

🔍 Почему в регистре бухгалтерии измерение СчетБухгалтерскогоУчета обязательно?

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

🔍 Как добавить виртуальный ресурс в существующий регистр?

Виртуальные ресурсы добавляются в конфигураторе:

  1. Откройте регистр в дереве объектов.
  2. Вкладка РесурсыДобавить.
  3. Установите флаг Виртуальный.
  4. Задайте выражение для расчёта (например, СуммаНДС = Сумма * СтавкаНДС / 100).

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

🔍 В чём разница между измерением и реквизитом регистра?

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

Измерения же определяют структуру регистра и обязательно участвуют в группировке. Например, без измерения Номенклатура вы не сможете получить остатки по каждому товару.

🔍 Можно ли в отчёте использовать ресурс как измерение?

Нет, это противоречит логике . Однако вы можете:

  • 📌 Сгруппировать данные по измерениям, а затем вывести ресурсы в колонках.
  • 📌 Использовать условное оформление для визуального разделения ресурсов (например, раскрасить отрицательные остатки в красный цвет).
  • 📌 Создать вычисляемое поле в отчёте, которое будет имитировать группировку по ресурсу (например, разбить суммы по диапазонам: «до 1000», «1000-5000» и т.д.).