11. Механизмы построения отчетности
#32

Готовишься к экзамену?

Полнофункциональный тренажер @bot_1cnik_bot с полноценным обучением, режимом экзамена и подробной статистикой.

Перейти в бота

В системе компоновки данных (СКД) при разработке отчета можно ли в одной схеме использовать несколько наборов данных одновременно?

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

Пояснение

СКД позволяет строить отчеты на основе нескольких наборов данных - это нужно, когда показатели берутся из разных источников или их удобнее получать раздельно. Что важно учитывать при нескольких наборах данных: - Наборы данных нужно добавить на вкладке «Наборы данных» схемы компоновки. Типы источников обычно встречаются такие: «Запрос» (данные из БД), «Объект» (внешние данные, которые вы заполняете программно), «Объединение» (склеивает подчиненные наборы в один общий набор). - Если данные должны быть связаны (например, продажи + оплаты по одному документу), в схеме задаются «Связи наборов данных»: выбирается набор-источник и набор-приемник и указываются поля связи (например, ДокументОснование, Номенклатура, Контрагент). - Соединение наборов данных в СКД обычно работает по принципу «источник → приемник» как соединение, где важно, какие строки считаются главными. Поэтому для корректного результата нужно выбирать правильный источник (например, продажи как основной, оплаты как подчиненный - или наоборот, в зависимости от задачи). - В одной группировке отчета нельзя «смешивать» поля из наборов данных, которые никак не связаны между собой. Если связи нет, поля будут недоступны совместно, и отчет либо не соберется, либо даст непредсказуемую структуру. Практический пример: - Набор 1 (Запрос): продажи по документам (Документ, Дата, СуммаПродаж). - Набор 2 (Запрос): оплаты (Документ, СуммаОплаты). - Между ними задается связь по полю «Документ». После этого в отчете можно вывести документ, сумму продаж и сумму оплат, а также вычислить остаток долга. Лучшие практики: - Не пытайтесь «впихнуть всё» в один мегазапрос, если удобнее разделить на 2-3 набора и связать их - так проще поддерживать отчет. - Следите за производительностью: большое число наборов данных само по себе допустимо, но каждый набор добавляет нагрузку, особенно если связи и отборы настроены неаккуратно. - Если нужно объединить разнородные источники в один список строк (например, движения разных регистров в один отчет), используйте набор данных «Объединение» и подчиненные наборы внутри него.