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