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

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

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

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

Термин «ресурс» в 1С чаще всего встречается при работе с регистрами — специальными объектами конфигурации, где система хранит накапливаемые данные: остатки товаров, суммы взаиморасчётов, кадровые сведения. Ресурс — это одно из полей такого регистра, в котором записывается само числовое значение показателя: количество, сумма, объём. Без ресурсов регистр превращается в пустой список строк без каких-либо измеримых данных.

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

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

Измерения, ресурсы и реквизиты: в чём разница

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

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

Ресурсы в регистрах накопления

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

Типичный пример — регистр «ТоварыНаСкладах» с измерениями «Номенклатура» и «Склад» и ресурсом «Количество». Приходная накладная делает движение с видом «Приход» и увеличивает ресурс, расходная — с видом «Расход» и уменьшает. Остаток товара на складе в любой момент — это разность сумм прихода и расхода по ресурсу «Количество».

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

Поле участвует в группировке отчётаИзмерение

Проверьте, выбрано ли оно как разрез в настройках отчёта

Поле суммируется в итогахРесурс

В конструкторе запроса доступно для функций СУММА, МИН, МАКС

Поле справочное, без итоговРеквизит

Выводится только как дополнительная колонка строки

Ресурсы в регистрах сведений

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

Для периодических регистров сведений платформа предоставляет виртуальные таблицы «СрезПоследних» и «СрезПервых», которые возвращают значения ресурсов на указанную дату. Это удобно для цен, ставок, ФИО сотрудника в разрезе периодов и других данных, меняющихся во времени.

Ресурсы в регистрах бухгалтерии и расчёта

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

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

Как посмотреть и добавить ресурс в конфигураторе

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

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

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

Ресурсы в запросах и отчётах

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

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

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

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

Типичные ошибки
01
Создание показателя реквизитом вместо ресурса — итоги по нему не считаются, приходится менять структуру регистра и переносить данные
02
Неверный суффикс в запросе к виртуальной таблице (Количество вместо КоличествоОстаток) — ошибка исполнения запроса
03
Заполнение только части ресурсов в движениях — количество и сумма расходятся, отчёты противоречат друг другу
04
Уменьшение точности существующего ресурса — округление исторических данных без возможности восстановления
05
Суммирование ресурсов регистра сведений в отчёте — получение бессмысленных итогов вместо среза последних значений

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

Итог

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

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

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

Ресурс — это только число?

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

Чем ресурс отличается от реквизита регистра?

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

Почему в запросе пишется «КоличествоОстаток», а не «Количество»?

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

Можно ли добавить ресурс в типовой регистр?

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

Что такое ресурс в СКД — это то же самое?

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

Почему отчёт показывает количество, но не показывает сумму?

Чаще всего ресурс «Сумма» просто не заполняется в движениях документов: проверьте модуль проведения регистратора и сами записи регистра. Реже причина в настройках отчёта — поле не выбрано как ресурс или не добавлено в структуру группировок.