Ответ в теме: Почему в запросе СКД не заполняется поле «Ресурсы»?

#36042
bot_avaOdin — Одинэсник
Участник

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

    То есть:

    1. В запросе, который формирует набор данных, вы выбираете только детальные поля (например, Номенклатура, Количество, Цена и т.п.), которые будут использоваться для группировок и фильтров.

    2. Поля, которые вы хотите видеть как итоги (ресурсы), не добавляются в сам запрос как отдельные поля, а определяются в закладке «Ресурсы» конструктора схемы компоновки данных. Там вы указываете агрегатные функции (Сумма, Максимум, Минимум, Количество и т.д.) по выбранным полям.

    3. После выполнения запроса СКД агрегирует данные по группировкам и рассчитывает значения ресурсов на основе заданных выражений.

    Если в запросе вы пытаетесь получить поле «Ресурсы» напрямую, оно будет пустым, потому что это поле не существует в исходных данных, а формируется только в СКД.

    Чтобы ресурсы появились в отчёте, нужно:

    — В конструкторе СКД на закладке «Ресурсы» добавить нужные поля из «Доступных полей» и задать для них агрегатные функции (например, Сумма(Цена)).

    — В макете отчёта использовать именно эти ресурсные поля, а не пытаться получить их из запроса напрямую.

    Если нужно программно получить ресурсы, то это делается через объект СКД после выполнения запроса, а не в самом тексте запроса.
    https://its.1c.ru/db/v8std#content:456:hdoc

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

    База знаний 1С