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

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

Что такое ресурсы в 1С и как с ними работать

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

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

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

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

Ресурсы как объект метаданных: где они находятся

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

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

Чем ресурсы отличаются от измерений и реквизитов

Ключ к пониманию регистров — различие трёх категорий полей. Измерения отвечают на вопрос «в каком разрезе храним»: склад, товар, организация. Ресурсы отвечают на вопрос «что считаем»: количество, сумма. Реквизиты — «какие дополнительные сведения прикладываем к записи»: комментарий, номер партии, ответственный.

Практическое различие проявляется в итогах. По ресурсам платформа автоматически рассчитывает суммы и остатки — именно поэтому отчёт по остаткам товара показывает итоговое количество. По измерениям и реквизитам итоги не считаются: склад «Основной» нельзя «просуммировать», это просто признак группировки.

Категория поляНазначениеПримерУчастие в итогах
ИзмерениеРазрез хранения данныхСклад, НоменклатураНет, используется для группировки
РесурсЧисловой показательКоличество, СуммаДа, суммируется
РеквизитДополнительная информацияКомментарий, ПартияНет, только выводится

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

Куда поместить поле

Измерение

Подходит для разрезов аналитики: склад, контрагент, товар. Ограничение: много измерений замедляют запись и усложняют запросы.

Ресурс

Подходит для показателей, которые складываются: количество, сумма, вес. Ограничение: не подходит для цен, курсов и процентов в регистрах накопления.

Реквизит

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

Типы данных ресурсов и их настройка

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

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

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

Как добавить новый ресурс в регистр

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

Порядок действий
  1. 1
    Сделайте резервную копию базы или выполните работу на копии.
  2. 2
    Откройте конфигуратор, найдите нужный регистр в дереве конфигурации.
  3. 3
    Правой кнопкой по ветке «Ресурсы» выберите «Добавить», задайте имя, тип, длину и точность.
  4. 4
    Доработайте модули проведения документов, чтобы новый ресурс заполнялся в движениях.
  5. 5
    Обновите конфигурацию базы данных (F7) и согласитесь с реструктуризацией.
  6. 6
    Проведите тестовый документ и проверьте, что ресурс заполнился в движениях и попадает в отчёты.

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

Как проверить ресурсы через запрос и отчёт

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

bsl
ВЫБРАТЬ
	Номенклатура,
	Склад,
	КоличествоОстаток,
	СуммаОстаток
ИЗ
	РегистрНакопления.ОстаткиТоваров.Остатки(&Дата, )

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

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

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

Остаток по ресурсу в отчёте
Норма

Совпадает с суммой приходов минус расходы за период

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

Расхождение без объяснимых причин — ищите непроведённые документы

Движения тестового документа
Норма

Все ресурсы заполнены, вид движения указан верно

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

Ресурс пустой или нулевой — ошибка в модуле проведения

Точность чисел
Норма

Копейки и доли единиц сохраняются после записи

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

Значения округляются — недостаточная точность ресурса

Ресурсы сервера: второе значение термина

В контексте администрирования «ресурсы 1С» — это потребление вычислительных мощностей: сколько оперативной памяти занимает rphost, как загружен процессор сервера СУБД, хватает ли скорости дисковой подсистемы. Эта тема всплывает, когда пользователи жалуются на «тормоза»: медленное проведение документов, долгое формирование отчётов, обрывы сеансов.

Диагностика начинается с простых наблюдений: диспетчер задач на сервере, консоль кластера 1С, счётчики производительности СУБД. Если память rphost растёт и не освобождается, помогает настройка перезапуска рабочих процессов по объёму памяти. Если узкое место — диски, проверяют размещение tempdb и журналов транзакций. Точные пороги зависят от размера базы и числа пользователей, универсальных норм здесь нет.

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

Типичные ошибки
01
Размещение цены или курса в ресурсе регистра накопления — итоги суммируют несуммируемое, отчёты показывают бессмысленные числа.
02
Недостаточная точность числа — суммы округляются до целых, копейки теряются, учёт расходится с первичкой.
03
Добавление ресурса без доработки проведения — поле существует, но всегда равно нулю, пользователи получают пустые отчёты.
04
Изменение типа ресурса без копии базы — реструктуризация на большой таблице обрывается, база требует восстановления.
05
Избыточное число ресурсов «про запас» — каждая запись регистра становится тяжелее, запросы и хранение замедляются.

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

Маршрут решения

Как выбрать действие

Нужно хранить разрез, по которому строятся итоги и отборыСоздавайте измерение регистра
Нужно складывать и вычитать значение при движенияхСоздавайте числовой ресурс с достаточной точностью
Нужно просто показать дополнительную информацию в строке движенияИспользуйте реквизит, не нагружая итоги
Пользователи жалуются на медленную работу базыПроверяйте ресурсы сервера: память rphost, загрузку СУБД и дисков, а не метаданные

Частые вопросы

Может ли ресурс регистра быть не числом?

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

Почему новый ресурс не виден в старом отчёте?

Отчёт, скорее всего, построен на фиксированном запросе или схеме компоновки, где поле не добавлено. Откройте запрос отчёта и включите новый ресурс в выборку и в ресурсы СКД. Если отчёт универсальный (динамический список), достаточно обновить настройки колонок.

Что будет со старыми данными после добавления ресурса?

Существующие записи регистра получат в новом ресурсе значение по умолчанию — ноль для числа. Исторические движения сами не заполнятся: нужно перепровести документы или заполнить ресурс отдельной обработкой. Перед массовым перепроведением сделайте копию базы и оцените длительность операции.

Как понять, что поле регистра — ресурс, а не измерение?

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

Сколько ресурсов может быть у одного регистра?

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

Ресурсы в 1С и ресурсы в бухгалтерском смысле — это одно и то же?

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

Итог

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

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