В начало

Сравнение объединений таблиц и наборов

           

Сравним два отчета: первый будет создан при объединении двух таблиц, второй – при объединении двух наборов данных. В качестве таблиц для запроса будем использовать табличные части «СписокТоваров»  документов «ПриходнаяНакладная» и «РасходнаяНакладная».

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

Рис. 1. Конструктор запроса, закладка «Таблицы и поля»

 

После это перейдем на закладку «Объединения/Псевдонимы», где добавим новый запрос, но уже к документу «РасходнаяНакладная». Из которого также выберем поля: Номенклатура, Количество и Цена. Переименуем некоторые поля, так Количество из документа «Приходная накладная» назовем «Поступило», а «Количество» из расходной накладной – «Продано». Соответственно поступим и с ценами: та цена, что у документа «Приходная накладная» теперь будет называться «ЦенаПоступления»,  а цена у расходной накладной – «ЦенаПродажи».

Рис. 2. Закладка «Объединения/Псевдонимы» в конструкторе запросов

 

            Далее закроем конструктор запроса и вернемся в СКД. На закладке «Ресурсы» перетащим ресурсы, по которым собираемся формировать итоги в отчете, это поля: Поступило, Продано, ЦенаПоступления и ЦенаПродажи.

Рис. 3. Закладка «Ресурсы»

После этого перейдем на вкладку «Настройки», где с помощью конструктора настроек добавим новую группировку с сортировкой по полю «Номенклатура», как показано далее.

Рис. 4. Вкладка «Настройки»

 

            Таким образом, мы создали первый макет отчета с использованием в запросе объединения двух таблиц.

Далее вернемся  в дерево конфигурации к нашему отчету «Поступление и продажа», выберем узел «Макеты», в котором  создадим другой макет отчета, назовем его «ОбъединениеНаборов», перейдем на закладку «Наборы данных». В этом макете создадим набор данных типа «Объединение», в котором создадим два отдельных набора типа «Запрос». Один назовем «Поступление»,  другой – «Продажа».

Рис. 5. Набор данных типа «Объединение»

 

Затем запустим конструктор запросов и в первом наборе данных с имением «Поступление» выберем таблицу «СписокТоваров» из документа «ПриходнаяНакладная», в которой выберем поля: Номенклатура, Количество, Цена  и перетащим их в правую колонку.

Рис. 6. Закладка «Таблицы и поля» в конструкторе запросов

 

После этого перейдем на закладку «Объединения/Псевдонимы» и переименуем поля по-новому: вместо поля «Количество» будет поле «Поступило», а вместо поля Цена – «ЦенаПоступления», т.к. эти поля из приходной накладной.

Рис. 7. Закладка «Объединения/Псевдонимы»

 

            Далее вернемся в СКД, перейдем в набор данных «Продажа» и сделаем тоже самое, но уже с документом «Расходная накладная», выбрав в конструкторе запросов те же поля: Номенклатура, Количество и Цена на закладке «Таблицы и поля».

Рис. 8. Закладка «Таблицы и поля» для набора данных «Продажа»

 

            Затем перейдем на вкладку «Объединения/Псевдонимы» и переименуем поля. Вместо поля «Цена» дадим название «ЦенаПродажи», а вместо поля «Количество» зададим «Продано».

Рис. 9. Вкладка «Объединения/Псевдонимы»

 

            Потом закрываем конструктор запросов, возвращаемся в СКД, переходим на закладку «Ресурсы» и перетаскиваем нужные поля для формирования итогов.

Рис. 10. Закладка «Ресурсы» в наборе данных «ОбъединениеНаборов»

 

            И наконец,  идем на закладку «Настройки», где с помощью конструктора добавляем новую группировку. Таким образом, второй макет готов.

Рис. 11. Вкладка «Настройки»

 

            Теперь у отчета «Поступление и продажа» есть два макета и в зависимости от того какой макет выбран по умолчанию, будет сформирован отчет, соответствующий выбранному макету.

Рис. 12. Отчет «Поступление и продажа» в дереве метаданных

 

            Сначала установим в качестве основной схемы компоновки данных макет с объединением в запросе двух таблиц.

Рис. 13. Выбор в качестве схемы компоновки данных макета «Объединение таблиц»

 

            После установки макета «ОбъединениеТаблиц», обновляем конфигурацию, запускаем режим «1С:Предприятие» и формируем отчет. Смотрим что получилось.

Рис. 14. Вариант отчета «Поступление и продажа» при объединении таблиц

 

            Чтобы сформировать второй отчет, в котором данные будут сформированы путем объединения наборов данных нужно вернуться в конфигуратор. В конфигураторе снова перейти на закладку «Основные» свойств отчета «Поступление и продажа». На этой закладке требуется установить макет «ОбъединениеНаборов» в качестве основной схемы компоновки данных.

Рис. 15. Закладка «Основные» свойств отчета «Поступление и продажа»

 

После чего, снова обновляем конфигурацию, запускаемся в режиме «1С:Предприятие» и формируем новый отчет.

Рис. 16. Вариант отчета, с использованием макета с объединением наборов данных

 

            ВЫВОД: как видим разницы никакой, по крайней мере, я ее не нахожу.