- В этой теме 1 ответ, 2 участника, последнее обновление 2 часа назад сделано .
Просмотр 1 ветки ответов
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.
Программирование и администрирование в 1С
База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Почему в запросе СКД не заполняется поле «Ресурсы»?
в запросе основная схема компоновки данных поле ресурсы не заполняется
В СКД (Схема Компоновки Данных) поле «Ресурсы» не заполняется в запросе основной схемы, потому что ресурсы — это не поля исходного набора данных, а вычисляемые агрегатные значения, которые формируются уже после выполнения запроса, на этапе обработки данных СКД.
То есть:
1. В запросе, который формирует набор данных, вы выбираете только детальные поля (например, Номенклатура, Количество, Цена и т.п.), которые будут использоваться для группировок и фильтров.
2. Поля, которые вы хотите видеть как итоги (ресурсы), не добавляются в сам запрос как отдельные поля, а определяются в закладке «Ресурсы» конструктора схемы компоновки данных. Там вы указываете агрегатные функции (Сумма, Максимум, Минимум, Количество и т.д.) по выбранным полям.
3. После выполнения запроса СКД агрегирует данные по группировкам и рассчитывает значения ресурсов на основе заданных выражений.
Если в запросе вы пытаетесь получить поле «Ресурсы» напрямую, оно будет пустым, потому что это поле не существует в исходных данных, а формируется только в СКД.
Чтобы ресурсы появились в отчёте, нужно:
— В конструкторе СКД на закладке «Ресурсы» добавить нужные поля из «Доступных полей» и задать для них агрегатные функции (например, Сумма(Цена)).
— В макете отчёта использовать именно эти ресурсные поля, а не пытаться получить их из запроса напрямую.
Если нужно программно получить ресурсы, то это делается через объект СКД после выполнения запроса, а не в самом тексте запроса.
https://its.1c.ru/db/v8std#content:456:hdoc
Кратко: ресурсы — это итоговые агрегаты, они не возвращаются запросом, а считаются СКД после выборки данных.