Цель: не вникая в особенности логики отчетов-источников, необходимо сформировать сводный отчет, объединяющий и сопоставляющий исходные данные.
Решение:
1. База данных
Пустая конфигурация.
2. СКД1
Добавим отчет СКД1. Основная схема содержит единственный набор данных получаемых простым запросом. Результат выборки - одна строка детальных записей, состоящая из двух полей: Ключ и Ресурс1.
Пояснение: на картинке ниже, имя варианта отчета равно имени отчета (аналогично типовому решению УП ЕРП)
3. СКД2
Добавим копированием отчет СКД 2. При этом по смыслу заменим "1" на "2" в основной схеме СКД:
4. Эталонные данные.
Сохраним конфигурацию и проверим оба отчета. Полученный результат будем считать эталонными данными.
5. СКД 3
Создадим отчёт СКД 3.
Пояснение: отчет является обёрткой для единой настройки, последовательного вызова и получения данных каждого отчета-источника с последующим выводом объединенных данных, например, в разрезе общего ключа.
Схема отчета СКД3:
Набор данных содержит объединение нескольких объектов, где каждый объект - это результат очередного склеиваемого отчета, взятый как таблица значений.
В момент выполнения отчета СКД 3, перехватывается исполнение типового алгоритма. Предварительно вызывается программное исполнение каждого отчета, входящего по имени в объединенный набор СКД 3. Далее происходит программное формирование отчета СКД 3.
Реализация логики СКД3
Опишем набор данных СКД3:
- добавим группу наборов вида объединение;
- внутри группы добавим объекты с наименованием объекта, содержащего данные, по шаблону "тз"+ИмяОчередногоСклеиваемогоОтчета. Отчет должен быть включен в состав конфигурации;
- В каждом наборе опишем требуемые поля исходного отчета. Здесь можно задать свои псевдонимы полей и типы значений.
Алгоритм СКД 3 "ПриКомпоновкеРезультата"
В модуле отчета СКД 3 опишем алгоритм исполнения предопределенной процедуры "ПриКомпоновкеРезультата"
Схема универсальной логики "ПриКомпоновкеРезультата":
0. Прочитаем настройки СКД 3;
1. Определим схемы СКД используемых отчетов-источников, прочитав имена объединяемых наборов определив метаимена соответствующих отчетов;
2. Выполним СКД используемых источников программно на уровне детальных записей с заданными параметрами и отборами. Получим массив таблиц ;
примечание: здесь используются приемы программной настройки СКД:
2.1 Переформируем СКД источник, добавив новую структуру вывода "детальные данные" на основе требуемых здесь к выводу полей:
2.1.1 Выбор полей выводимой группировки на основе требуемых здесь к выводу полей;
2.1.2 Выбор полей выводимой группировки на основе вычисляемых полей;
2.1.3 Скопируем параметры СКД;
2.1.4 Скопируем отборы СКД;
2.1.5 Отключим вывод итогов;
2.2 Получим результат СКД источник в ТаблицуЗначений;
3. Выведем результат:
3.1 зададим Типовой макет оформления
3.2 выполним Программный вывод в табличный документ
Результат