В этом примере мы продолжим работать с объектами встроенного языка и рассмотрим их объединение в наборе данных. Такое решение нам подходит, так как мы хотим разработать отчет, содержащий объединенную информацию о поступлении и расходе комплектующих на сборку системных блоков. Этот отчет будет вызываться из документа СборкаКомпьютера и представлять информацию о списке комплектующих, содержащихся в документе (рис. 2.305).
Рис. 2.305. Требуемый вид отчета
Решив поставленную задачу средствами схемы компоновки данных, мы затем осуществим программную настройку и компоновку отчета.
Итак, сначала создадим схему компоновки данных, позволяющую получить нужный отчет. Затем программно заполним используемые в ней наборы данных. Далее с помощью встроенного языка осуществим компоновку данных. Затем попробуем выполнить программную настройку отчета и программное описание схемы компоновки данных.
Выделим ветку Макеты документа СборкаКомпьютера в дереве объектов конфигурации и нажмем кнопку Добавить в командной панели окна конфигурации. В открывшемся конструкторе макета зададим имя макета АнализЦенКомплектующих и выберем тип макета Схема компоновки данных. Нажмем кнопку Готово. В окне конструктора схемы компоновки данных добавим новый набор данных – объединение (рис. 2.306).
Рис. 2.306. Добавление набора данных – объединение
Затем выделим его и добавим два вложенных в него набора данных – объект. Назовем первый набор ЦеныСборки и такое же имя зададим в поле Имя объекта, содержащего данные. Этот набор данных будет отражать информацию о расходе комплектующих, указанных в документе, на сборку системных блоков. Нажимая кнопку Добавить, создадим список полей набора данных с аналогичными именами (рис. 2.307):
Рис. 2.307. Список полей набора данных
Второй набор назовем ЦеныПоступления и такое же имя зададим в поле Имя объекта, содержащего данные. Этот набор данных будет отражать информацию о поступлении комплектующих, указанных в документе, на сборку системных блоков. Нажимая кнопку Добавить, создадим список полей набора данных с аналогичными именами (рис. 2.308):
Рис. 2.308. Список полей набора данных
ПРИМЕЧАНИЕ
Обратите внимание, что имена полей (Цена, Количество) табличной части документов СборкаКомпьютера и ПриходнаяНакладная, данными которых будут заполняться объекты, одинаковы, но мы дали им разные имена, чтобы использовать их в ресурсах и настройках отчета.
Дальше выполним уже знакомые действия по формированию настроек схемы компоновки данных. На закладке Вычисляемые поля () добавим поле Выручка, но не будем указывать выражение для его расчета, так как мы зададим его позже при определении полей ресурсов (). На закладке Ресурсы перетащим в список ресурсов доступные поля отчета и введем вручную Выражения для них (табл. 2.3).
Таблица 2.3. Заполнение полей ресурсов и выражений для их расчета
Поле ресурса | Выражение |
---|---|
ЦенаПриход | Среднее(ЦенаПриход) |
ЦенаСборки | Среднее(ЦенаСборки) |
Выручка | Сумма(Собрано) * (Среднее(ЦенаСборки) - Среднее(ЦенаПриход)) |
Собрано | Сумма(Собрано) |
Поступило | Сумма(Поступило) |
В отчете мы будем группировать данные по полю Номенклатура, а в итогах по группировке хотим получать суммарные сведения о количестве и средние сведения о ценах поступления и расходования комплектующих. Ресурс Выручка рассчитывается как произведение разницы между ценами сборки и поступления на сумму количества комплектующих, израсходованных на сборку. В результате окно ресурсов схемы компоновки данных примет вид (рис. 2.309).
Рис. 2.309. Определение ресурсов отчета
На закладке Настройки добавим в отчет группировку по полю Номенклатура, так как по этому полю будут группироваться данные о количестве и ценах поступления и расходования комплектующих. На закладке Выбранные поля создадим многоуровневую структуру полей отчета. Сначала, нажав кнопку Добавить, создадим две группы: Поступило и Собрано. Затем в первую группу из списка доступных полей перетащим поля Поступило и ЦенаПриход, во вторую – Собрано и ЦенаСборки. В заключение перетащим в основной уровень отчета поле Выручка (рис. 2.310).
Рис. 2.310. Определение полей и группировок отчета
На закладке Другие настройки установим заголовок отчета – Анализ цен комплектующих и параметр вывода Расположение общих итогов по вертикали – Нет. На закладке Наборы данных изменим заголовки у полей ЦенаПриход и ЦенаСборки на Цена, Собрано и Поступило на Количество, так как мы ввели для них в шапке отчета поясняющее общее поле (рис. 2.311).
Рис. 2.311. Определение заголовков полей в шапке отчета
Для полей ЦенаПриход и ЦенаСборки на закладке Наборы данных и поля Выручка на закладке Вычисляемые поля в колонке Оформление зададим формат, чтобы значения отображались без копеек. Вызовем диалог Формат поля и в строку Формат введем выражение (листинг 2.59).
Листинг 2.59. Формат полей «ЦенаПриход», «ЦенаСборки», Выручка
ЧЦ=6; ЧДЦ=0
На этом закончим работу со схемой компоновки данных.