Студопедия — МЕТОДИЧЕСКИЕ УКАЗАНИЯ. 1. Отчет «Реестр документов Оказание услуги»
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

МЕТОДИЧЕСКИЕ УКАЗАНИЯ. 1. Отчет «Реестр документов Оказание услуги»






1. Отчет «Реестр документов Оказание услуги»

Создадим отчет Реестр документов Оказание услуги, используя систему компоновки данных. Этот отчет будет выводить список существующих в базе данных документов ОказаниеУслуги в порядке их дат и номеров.

Создадим в конфигураторе новый объект конфигурации Отчет. Присвоим ему имя РеестрДокументовОказаниеУслуги. На закладке Основные нажмем кнопку Открыть схему компоновки данных. В открывшемся диалоговом окне конструктора макета нажмем Готово. В конструкторе схемы компоновки данных создадим Набор данных запрос и запустим конструктор запроса.

В качестве источника данных для запроса выберем объектную (ссылочную) таблицу документов ОказаниеУслуги. Из этой таблицы выберем следующие поля (рис. 16.1):

§ Дата;

§ Номер;

§ Склад;

§ Мастер;

§ Клиент.

Рисунок 16.1 ― Выбранные поля

После этого перейдем на закладку Порядок и укажем, что результат запроса должен быть сначала упорядочен по значению поля Дата, а затем по значению поля ОказаниеУслуги.Ссылка (рис. 16.2).

Рисунок 16.2 ― Порядок вывода результата запроса

Нажмем ОK и посмотрим, какой запрос сформировал конструктор запроса (листинг 16.1).

 

Листинг 16.1. Текст запроса

ВЫБРАТЬ

ОказаниеУслуги.Дата КАК Дата,

ОказаниеУслуги.Номер,

ОказаниеУслуги.Склад,

ОказаниеУслуги.Мастер,

ОказаниеУслуги.Клиент

 

ИЗ

Документ.ОказаниеУслуги КАК ОказаниеУслуги

 

УПОРЯДОЧИТЬ ПО

Дата,

ОказаниеУслуги.Ссылка

 

Текст запроса начинается, как мы говорили выше, с части описания запроса (листинг 16.2).

 

Листинг 16.2. Описание запроса

ВЫБРАТЬ

ОказаниеУслуги.Дата КАК Дата,

ОказаниеУслуги.Номер,

ОказаниеУслуги.Склад,

ОказаниеУслуги.Мастер,

ОказаниеУслуги.Клиент

 

ИЗ

Документ.ОказаниеУслуги КАК ОказаниеУслуги

 

Описание запроса начинается с обязательного ключевого слова ВЫБРАТЬ. Затем следует список полей выборки. В нем описываются поля, которые должны содержаться в результате запроса. Этот список может содержать как собственно поля, так и некоторые выражения, вычисляемые на основе значений полей.

После ключевого слова ИЗ указываются источники данных исходные таблицы запроса, содержимое которых обрабатывается в запросе. В данном случае это объектная (ссылочная) таблица Документ.ОказаниеУслуги. После ключевого слова КАК указывается псевдоним источника данных. В нашем случае это ОказаниеУслуги. В дальнейшем к этому источнику данных можно будет обращаться в тексте запроса, используя псевдоним.

Такое обращение видим в описании полей выборки (листинг 16.3).

Листинг 16.3. Описание полей выборки

ВЫБРАТЬ

ОказаниеУслуги.Дата КАК Дата,

ОказаниеУслуги.Номер,

ОказаниеУслуги.Склад,

ОказаниеУслуги.Мастер,

ОказаниеУслуги.Клиент

 

Поля выборки также могут иметь псевдонимы, по которым в дальнейшем в тексте запроса можно обращаться к этому полю. В нашем случае это псевдоним Дата.

После части описания запроса в нашем примере следует часть упорядочивания результатов (листинг 16.4).

 

Листинг 16.4. Упорядочивание результатов запроса

УПОРЯДОЧИТЬ ПО

Дата,

ОказаниеУслуги.Ссылка

 

Предложение УПОРЯДОЧИТЬ ПО позволяет сортировать строки в результате запроса. После этого ключевого предложения располагается выражение упорядочивания, которое в общем случае представляет собой перечисление полей (выражений) и порядка вывода. В нашем случае упорядочивание будет выполняться сначала по полю Дата, а потом по полю ОказаниеУслуги.Ссылка. В обоих случаях порядок сортировки будет по возрастанию (настроен по умолчанию).На этом закончим изучение текста запроса и перейдем к настройке схемы компоновки данных.

Перейдем на закладку Настройки и добавим новую группировку в структуру отчета (рис. 16.3).

Рисунок 16.3 ― Командная панель закладки Настройки

 

В окне выбора поля группировки просто нажмем ОK (тем самым мы указываем, что в группировке будут выводиться детальные записи из информационной базы) и на закладке Выбранные поля зададим поля, которые будут выводиться в отчет:

§ Дата;

§ Номер;

§ Склад;

§ Мастер;

§ Клиент.

 

Рисунок 16.4 ― Настройка структуры отчета

Теперь запустим 1С: Предприятие в режиме отладки и откроем отчет Реестр документов Оказание услуги. Нажмем Сформировать и посмотрим на результат работы нашего отчета (рис. 16.5).

 

Рисунок 16.5 ― Отчет Реестр документов оказание услуги

 

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

 

2. Отчет Рейтинг услуг

Отчет Рейтинг услуг будет содержать информацию о том, выполнение каких услуг принесло наибольшую прибыль в указанном периоде. На примере отчета Рейтинг услуг проиллюстрируем, как отбирать данные в некотором периоде, как задавать параметры запроса и как использовать в запросе данные из нескольких таблиц и включать в результат запроса все данные одного из источников.

Создадим новый объект конфигурации Отчет. Назовем его РейтингУслуг. На закладке Основные нажмем кнопку Открыть схему компоновки данных. В открывшемся диалоговом окне конструктора макета нажмем Готово.

В конструкторе схемы компоновки данных создадим Набор данных запрос и запустим конструктор запроса.

Выберем объектную (ссылочную) таблицу справочника Номенклатура и виртуальную таблицу регистра накопления Продажи.Обороты. Для того чтобы исключить неоднозначность имен в запросе, переименуем таблицу Номенклатура в СпрНоменклатура (контекстное меню правой кнопки мыши Переименовать таблицу).

Затем выберем из таблиц поля СпрНоменклатура.Ссылка и ПродажиОбороты.ВыручкаОборот (рис. 16.6).

Рисунок 16.6 ― Выбранные поля

 

Перейдем на закладку Связи и увидим, что конструктор уже создал связь между двумя выбранными таблицами значение изменения регистра Номенклатура должно быть равно ссылке на элемент справочника Номенклатура.

Единственное, что нам останется сделать, это сбросить флаг Все у таблицы регистра и установить его у таблицы справочника (рис. 16.7).

Рисунок 16.7 ― Установка связей таблиц

 

Установка флага Все у таблицы справочника будет означать, что из справочника будут выбраны все элементы и этим элементам будет поставлено в соответствие значение оборота выручки из регистра. Таким образом, в результате запроса будут присутствовать все услуги, и для некоторых из них будут указаны обороты выручки. Для тех услуг, которые не оказывались в выбранном периоде, не будет указано ничего.

Перейдем на закладку Условия и зададим условия выбора элементов из справочника Номенклатура (рис. 16.8).

 

Рисунок 16.8 ― Условия выбора элементов

 

При задании условий выбора мы будем использовать параметры запроса. Первым условием должно быть то, что выбранный элемент не является группой (для этого следует переключиться в режим Произвольное условие установить флаг Произвольное). Затем ввести в поле условие следующий текст (листинг 16.5).

 

Листинг 16.5. Условие запроса

СпрНоменклатура.ЭтоГруппа = ЛОЖЬ

 

Вторым условием должно быть то, что выбранный элемент является услугой (это Простое условие) (рис. 16.14).

В дальнейшем, перед выполнением запроса, передадим в параметр ВидНоменклатуры соответствующее значение перечисления.

Перейдем на закладку Объединения/Псевдонимы и укажем, что представление элемента справочника будет иметь псевдоним Услуга, а поле регистра будет иметь псевдоним Выручка (рис. 16.9).

Рисунок 16.9 ― Объединения/Псевдонимы

 

Перейдем на закладку Порядок и укажем, что результат запроса должен быть отсортирован по убыванию значения поля Выручка. Создание запроса закончено, нажмем кнопку ОK.

Рассмотрим запрос, сформированный конструктором (листинг 16.6).

 

Листинг 16.6. Текст запроса

ВЫБРАТЬ

СпрНоменклатура.Ссылка КАК Услуга,

ПродажиОбороты.ВыручкаОборот КАК Выручка

 

ИЗ

Справочник.Номенклатура КАК СпрНоменклатура

ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты

ПО ПродажиОбороты.Номенклатура = СпрНоменклатура.Ссылка

 

ГДЕ

СпрНоменклатура.ЭтоГруппа = ЛОЖЬ И СпрНоменклатура.ВидНоменклатуры = & ВидНоменклатуры

 

УПОРЯДОЧИТЬ ПО

Выручка УБЫВ

 

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

При описании источников запроса (после ключевого слова ИЗ) использована возможность определения нескольких источников запроса (листинг 16.7).

 

Листинг 16.7. Определение нескольких источников запроса

ИЗ

Справочник.Номенклатура КАК СпрНоменклатура

ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты

ПО ПродажиОбороты.Номенклатура = СпрНоменклатура.Ссылка

 

В данном случае выбираются записи из двух источников: СпрНоменклатура и ПродажиОбороты, причем ключевым предложением ЛЕВОЕ СОЕДИНЕНИЕ … ПО описан способ, которым будут скомбинированы между собой записи этих двух источников.

ЛЕВОЕ СОЕДИНЕНИЕ означает, что в результат запроса надо включить комбинации записей из обоих источников, которые соответствуют указанному после ключевого слова ПО условию. Кроме этого в результат запроса надо включить еще и записи из первого (указанного слева от слова СОЕДИНЕНИЕ) источника, для которых не найдено соответствующих условию записей из второго источника.

Продолжим рассматривать текст запроса. В части описания запроса есть еще одна конструкция задание условий отбора данных из исходных таблиц (листинг 16.8).

 

Листинг 16.8. Задание условий отбора

ГДЕ

СпрНоменклатура.ЭтоГруппа = ЛОЖЬ И СпрНоменклатура.ВидНоменклатуры = & ВидНоменклатуры

 

Условию отбора всегда предшествует ключевое слово ГДЕ. После него описывается само условие. Обратите внимание, что поля исходных таблиц, на которые накладывается условие, могут и не входить в список выборки (как в нашем случае). Кроме того, в нашем условии использован параметр запроса ВидНоменклатуры.

Теперь, когда мы закончили знакомиться с текстом запроса, продолжим формирование схемы компоновки данных.

Перейдем на закладку Ресурсы и нажмем кнопку > >, чтобы конструктор выбрал все доступные ресурсы, по которым можно вычислять итоги. В нашем случае это единственный ресурс Выручка (рис. 16.10).

 

Рисунок 16.10 ― Ресурсы схемы компоновки данных

Перейдем на закладку Параметры (рис. 16.11).

 

Рисунок 16.11 ― Параметры компоновки данных

 

На этой закладке мы увидим три параметра: НачалоПериода, КонецПериода и ВидНоменклатуры. Может возникнуть вопрос: почему параметра три, хотя в запросе задавали всего один ВидНоменклатуры?

Все дело в том, что система компоновки данных самостоятельно анализирует текст запроса и помимо тех параметров, которые указаны в нем в явном виде (ВидНоменклатуры), предоставляет возможность настроить и те параметры, которые в явном виде в запросе не указаны, но с большой долей вероятности могут быть использованы в отчете. Такими параметрами являются НачалоПериода и КонецПериода. Это первые два параметра виртуальной таблицы РегистрНакопления.Продажи.Обороты, которую мы использовали в запросе, в левом соединении.

Первым параметром передается начало периода расчета итогов, вторым конец периода. В результате исходная таблица будет содержать только обороты, рассчитанные в переданном периоде.

Для параметра НачалоПериода зададим заголовок, который будет отображаться пользователю Дата начала.

Здесь всегда следует помнить, что если мы передаем в качестве этих параметров дату (а в нашем случае так и будет), то дата содержит и время с точностью до секунды.

Допустим, заранее известно, что пользователя не будут интересовать результаты работы отчета в периодах, указанных с точностью до секунды. В этом случае следует учесть две особенности.

Во-первых, пользователя надо избавить от необходимости указывать время при вводе даты. Для этого мы изменим существующее описание типа для параметра НачалоПериода. Дважды щелкнем в ячейке Доступные типы, соответствующей параметру НачалоПериода, нажмем кнопку выбора (…) и в нижней части окна редактирования типа данных установим Состав даты в значение Дата (рис. 16.12).

 

Рисунок 16.12 ― Редактирование состава даты

 

Нажмем ОK.

Вторая особенность заключается в том, что по умолчанию время в дате установлено 00: 00: 00. Поэтому, если пользователь задаст период отчета с 01.03.2004 по 31.03.2004, итоги регистра будут рассчитаны с начала дня 01.03.2004 00: 00: 00 по начало дня 31.03.2004 00: 00: 00. Таким образом, данные за 31 число, отличные от начала дня, в расчет не войдут, что сильно удивит пользователя.

Для того чтобы исключить эту ситуацию, добавим еще один параметр, в который пользователь будет вводить дату окончания. Значение параметра КонецПериода будем рассчитывать автоматически таким образом, чтобы оно указывало на конец дня даты, введенной пользователем. Поэтому для параметра КонецПериода установим флаг Ограничение доступности.

С помощью кнопки командной панели добавим новый параметр с именем ДатаОкончания (рис. 16.13).

 

Рисунок 16.13 ― Добавление параметра ДатаОкончания

 

Для этого параметра платформа автоматически сформирует заголовок Дата окончания. Оставим его без изменений. Зададим тип значения параметра Дата. При этом, как и для параметра НачалоПериода, укажем состав даты Дата.

Обратите внимание, что по умолчанию добавленный нами параметр доступен для пользователя (ограничение доступности в последней колонке снято).

Перейдем к параметру КонецПериода. Для него система установила флаг ограничения доступности. Это нас устраивает, поскольку значение этого параметра собираемся вычислять на основании значения, установленного пользователем для параметра ДатаОкончания.

Чтобы задать формулу, по которой будет вычисляться значение параметра КонецПериода, воспользуемся языком выражений системы компоновки данных. Он содержит функцию КонецПериода(), которая позволяет получить дату, соответствующую концу какого-либо периода, например, указанного дня.

В ячейке Выражение зададим для параметра КонецПериода следующее выражение (листинг 16.9):

 

Листинг 16.9. Выражение для расчета значения параметра КонецПериода

КонецПериода(& ДатаОкончания, " День")

 

В результате перечисленных действий параметры компоновки будут иметь следующий вид (рис. 16.14):

 

Рисунок 16.14 ― Параметры системы компоновки

 

И в заключение настроим параметр ВидНоменклатуры. Поскольку отчет должен отображать выручку, полученную только от реализации услуг, значение параметра ВидНоменклатуры пользователь изменять не должен. Оно должно быть задано непосредственно в схеме компоновки как Перечисление.ВидыНоменклатуры.Услуга. Флаг ограничения использования у параметра ВидНоменклатуры платформа установила по умолчанию, поэтому нам остается только указать нужное значение перечисления ВидыНоменклатуры в ячейке Значение, соответствующей параметру ВидНоменклатуры (рис. 16.15).

 

Рисунок 16.15 ― Установка значения параметра ВидНоменклатуры

 

Перейдем к формированию структуры отчета. На закладке Настройки добавим группировку и не укажем поле группировки. На закладке Выбранные поля укажем поля Услуга и Выручка (рис. 16.16).

 

Рисунок 16.16 ― Структура отчета РейтингУслуг

В заключение перейдем на закладку Другие настройки и зададим заголовок отчета Рейтинг Услуг (рис. 16.17).

Рисунок 16.17 ― Установка заголовка отчета

 

Запустим 1С: Предприятие в режиме отладки.

Запустим наш отчет Рейтинг услуг, но перед тем, как нажать кнопку Сформировать, откроем Настройки и на закладке Параметры данных зададим период отчета с 01.03.2004 по 30.04.2004 (рис. 16.18).

 

Рисунок 16.18 ― Настройки отчета

 

Нажмем OK и сформируем отчет. Результат будет выглядеть следующим образом (рис. 16.19):

Рисунок 16.19 ― Результат выполнения отчета

 

3. Отчет Выручка мастеров

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

Создадим новый объект конфигурации Отчет. Назовем его ВыручкаМастеров и запустим конструктор основной схемы компоновки данных.

Создадим Набор данных - запрос и запустим конструктор запроса. Выберем виртуальную таблицу регистра накопления Продажи.Обороты.

Зададим один из параметров этой виртуальной таблицы Периодичность. Для этого перейдем в поле Таблицы и нажмем кнопку Параметры виртуальной таблицы (рис. 16.20).

 

Рисунок 16.20 ― Изменение параметров виртуальной таблицы

 

В открывшемся окне параметров зададим значение параметра Периодичность День (рис. 16.21). Нажмем OK.

 

Рисунок 16.21 ― Параметры виртуальной таблицы

 

После этого выберем из таблицы следующие поля:

§ ПродажиОбороты.Мастер;

§ ПродажиОбороты.Период;

§ ПродажиОбороты.Клиент;

§ ПродажиОбороты.ВыручкаОборот (рис. 16.22).

 

Рисунок 16.22 ― Выбранные поля

Теперь перейдем на закладку Объединения/Псевдонимы и зададим псевдоним Выручка для поля ПродажиОбороты.ВыручкаОборот (рис. 16.23).

 

Рисунок 16.23 ― Объединения/Псевдонимы

На закладке Группировка определим, что группировка будет проводиться по полям Мастер, Период и Клиент, а значения поля ВыручкаОборот будут суммироваться (рис. 16.24).

 

Рисунок 16.24 ― Поля группировок

На закладке Порядок определим, что результат запроса будет отсортирован по возрастанию значения поля Период. Нажмем ОK.

Рассмотрим текст запроса, сформированный конструктором (листинг 16.10).

 

Листинг 16.10. Текст запроса

ВЫБРАТЬ

ПродажиОбороты.Мастер,

ПродажиОбороты.Период КАК Период,

ПродажиОбороты.Клиент,

СУММА(ПродажиОбороты.ВыручкаОборот) КАК Выручка

 

ИЗ

РегистрНакопления.Продажи.Обороты(,, День,) КАК ПродажиОбороты

 

СГРУППИРОВАТЬ ПО

ПродажиОбороты.Мастер,

ПродажиОбороты.Период,

ПродажиОбороты.Клиент

 

УПОРЯДОЧИТЬ ПО

Период

 

В части описания запроса обратите внимание, что у источника данных кроме задания начала и окончания периода расчета итогов задана периодичность выбираемых данных День (листинг 16.11):

 

Листинг 16.11. Задание периодичности виртуальной таблицы

ИЗ

РегистрНакопления.Продажи.Обороты(,, День,) КАК ПродажиОбороты

 

Именно благодаря этому у нас появляется возможность описать среди выбранных полей поле Период.

Теперь перейдем к редактированию схемы компоновки данных. На закладке Ресурсы нажмем > > и убедимся, что конструктор выбрал единственный имеющийся у нас ресурс Выручка.

На закладке Параметры выполним те же действия, что и при создании предыдущего отчета.

Для параметра НачалоПериода зададим заголовок Дата начала. В поле Доступные типы зададим состав даты Дата.

Для параметра КонецПериода зададим выражение (листинг 16.12) и в поле Ограничение доступности установим флаг ограничения доступности.

 

Листинг 16.12. Выражение для расчета параметра КонецПериода

КонецПериода(& ДатаОкончания, " День")

 

В заключение добавим еще один параметр ДатаОкончания, установим его тип как Дата, состав даты Дата.

В результате перечисленных действий параметры компоновки данных будут иметь следующий вид (рис. 16.25):

 

Рисунок 16.25 ― Параметры компоновки данных

 

Теперь создадим структуру отчета. На закладке Настройки последовательно создадим две вложенные группировки: верхнего уровня по полю Мастер, вложенная в нее по полю Период. Затем добавим еще одну группировку, вложенную в группировку по полю Период, Детальные записи (без указания группировочного поля) (рис. 16.26).

 

Рисунок 16.26 ― Структура отчета

 

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

В заключение, с уровня глобального отчета перейдем на закладку Другие настройки и изменим следующие параметры. Для параметра Расположение полей группировок установим значение Отдельно и только в итогах; для параметра Расположение общих итогов по вертикали зададим значение Начало и для параметра Заголовок зададим значение Выручка мастеров (рис. 16.27).

 

Рисунок 16.27 ― Установка вывода общих итогов в начало

 

Запустим 1С: Предприятие в режиме отладки и посмотрим на результат работы отчета Выручка мастеров за период с 01.03.2004 по 30.04.2004 (рис. 16.28).

Рисунок 16.28 ― Результат выполнения отчета

 

На примере этого отчета продемонстрировано, как строить многоуровневые группировки.

 

4. Отчет Перечень услуг

Отчет Перечень услуг будет содержать информацию о том, какие услуги и по какой цене оказывает предприятие. На его примере мы познакомимся с возможностью получения последних значений из периодического регистра сведений и вывода иерархических справочников.

Создадим новый объект конфигурации Отчет. Назовем его ПереченьУслуг и запустим конструктор схемы компоновки данных. Создадим новый Набор данных запрос и вызовем конструктор запроса.

Выберем объектную (ссылочную) таблицу справочника Номенклатура и виртуальную таблицу регистра сведений Цены.СрезПоследних. Для того чтобы исключить неоднозначность имен в запросе, переименуем таблицу Номенклатура в СпрНоменклатура.

Вызовем диалог ввода параметров виртуальной таблицы ЦеныСрезПоследних и укажем, что период будет передан в параметре ДатаОтчета (рис. 16.29).

 

Рисунок 16.29 ― Параметры виртуальной таблицы

 

Затем выберем из таблиц следующие поля:

§ СпрНоменклатура.Родитель;

§ СпрНоменклатура.Ссылка;

§ ЦеныСрезПоследних.Цена (рис. 16.30).

§

Рисунок 16.30 ― Выбранные поля

 

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

На закладке Условия зададим условие выбора элементов справочника Номенклатура - выбираемые элементы должны соответствовать виду номенклатуры, переданному в параметре запроса ВидНоменклатуры (рис. 16.31).

 

Рисунок 16.31 ― Условия выбора элементов

 

На закладке Объединения/Псевдонимы укажем, что поле Родитель будет иметь псевдоним ГруппаУслуг, а поле Ссылка Услуга (рис. 16.32).

 

Рисунок 16.32 ― Объединения/Псевдонимы

 

Перейдем на закладку Группировка и укажем, что группировка будет производиться по полю СпрНоменклатура.Родитель Значения суммируемых полей задавать не станем (рис. 16.33).

 

Рис.16.33 ― Поля группировки

 

На этом создание запроса завершено, нажмем OK. Теперь рассмотрим текст запроса, сформированный конструктором (листинг 16.13).

 

Листинг 16.13. Текст запроса

ВЫБРАТЬ

СпрНоменклатура.Родитель КАК ГруппаУслуг,

СпрНоменклатура.Ссылка КАК Услуга,

ЦеныСрезПоследних.Цена

 

ИЗ

Справочник.Номенклатура КАК СпрНоменклатура

ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Цены.СрезПоследних(& ДатаОтчета,) КАК ЦеныСрезПоследних

ПО ЦеныСрезПоследних.Номенклатура = СпрНоменклатура.Ссылка

 

ГДЕ

СпрНоменклатура.ВидНоменклатуры = & ВидНоменклатуры

 

СГРУППИРОВАТЬ ПО

СпрНоменклатура.Родитель,

СпрНоменклатура.Ссылка,

ЦеныСрезПоследних.Цена

 

Практически все конструкции, использованные в этом запросе, нам уже известны.

Перейдем к редактированию схемы компоновки данных. На закладке Ресурсы нажатием кнопки > > выберем единственный доступный ресурс Цена.

На закладке Параметры зададим значение параметра ВидНоменклатуры как Перечисление.ВидыНоменклатуры.Услуга. Кроме этого снимем ограничение доступности для параметра ДатаОтчета и зададим ему заголовок Дата отчета. В поле Доступные типы зададим состав даты Дата. Для параметра Период, наоборот, установим ограничение доступности (рис. 16.34).

Рисунок 16.34 ― Параметры схемы компоновки

 

Приступим к созданию структуры отчета. Перейдем на закладку Настройки и создадим группировку по полю ГруппаУслуг, указав тип группировки Иерархия. Внутри этой группировки создадим еще одну группировку без указания группового поля. Она будет содержать детальные записи отчета (рис. 16.35).

 

Рисунок 16.35 ― Структура и выделенные поля отчета

 

Перейдем на закладку Выбранные поля и укажем, что в отчет будут выводиться поля Услуга и Цена (рис. 16.36).

 

Рисунок 16.36 ― Структура отчета

 

И в заключение настроим внешний вид отчета на закладке Другие настройки. Так как наш отчет будет представлять собой просто список оказываемых услуг, в котором интересны цены на конкретные услуги, выводить значения ресурса Цена для каждой из группировок и для всего отчета в целом не имеет смысла.

Чтобы запретить вывод общих итогов в отчете, установим параметр Расположение общих итогов по вертикали в значение Нет.

Затем перейдем к настройкам конкретной группировки ГруппаУслуг. Для параметра Расположение итогов этой группировки укажем значение Нет. Вернемся к настройкам всего отчета в целом.

Для параметра Расположение полей группировок укажем значение Отдельно и только в итогах (так отчет будет лучше «читаться»). Напоследок зададим заголовок отчета Перечень услуг.

Теперь запустим 1С: Предприятие в режиме отладки и выполним отчет Перечень услуг.

 

Рисунок 16.37 ― Результат выполнения отчета

 

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

 

5. Отчет Рейтинг клиентов

Отчет Рейтинг клиентов будет показывать, каков доход от оказания услуг каждому из клиентов за все время работы предприятия. На его примере продемонстрируем возможность использования диаграммы для отображения результата запроса.

 

Создадим в конфигураторе новый объект конфигурации Отчет. Назовем его РейтингКлиентов, откроем его основную схему компоновки данных.

Создадим набор данных запрос, вызовем конструктор запроса и выберем виртуальную таблицу регистра накопления Продажи.Обороты и из нее одно поле ПродажиОбороты.Клиент.

Затем добавим новое поле (значок Добавить в командной панели над списком полей) и при помощи построителя выражений определим его как разность между выручкой и стоимостью (рис. 16.38).

 

Рисунок 16.38 ― Редактор произвольного выражения поля

 

В результате список выбранных полей будет иметь следующий вид (рис. 16.39):

 

Рисунок 16.39 ― Выбранные поля

 

На закладке Объединения/Псевдонимы укажем, что вычисляемое поле будет иметь псевдоним Доход (рис. 16.40).

 

Рисунок 16.40― Объединения/Псевдонимы

 

На закладке Порядок укажем, что строки результата нужно упорядочивать по убыванию значения поля Доход. Нажмем OK и посмотрим, какой текст сформировал конструктор запроса (листинг 16.14).

 

Листинг 16.14. Текст запроса

ВЫБРАТЬ

ПродажиОбороты.Клиент,

ПродажиОбороты.ВыручкаОборот ПродажиОбороты.СтоимостьОборот КАК Доход

 

ИЗ

РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты

 

УПОРЯДОЧИТЬ ПО

Доход УБЫВ

 

По сравнению с предыдущими отчетами текст запроса довольно прост. Единственным интересным местом, на которое следует обратить внимание, является поле Доход, являющееся результатом вычисления выражения (листинг 16.15).

 

Листинг 16.15. Вычисляемое поле

ПродажиОбороты.ВыручкаОборот ПродажиОбороты.СтоимостьОборот КАК Доход

 

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

В отличие от всех предыдущих отчетов, структура которых содержала группировки, в этот раз добавим в структуру отчета диаграмму (рис. 16.41).

 

Рисунок 16.41 ― Структура отчета

В точки диаграммы добавим группировку по полю Клиент. Серии диаграммы оставим без изменений.

Теперь перейдем на закладку Выбранные поля и выберем поле Доход для вывода в отчет. Структура отчета должна принять следующий вид (рис. 16.42):

 

Рисунок 16.42 ― Структура отчета и настройки диаграммы

 

На закладке Другие настройки зададим заголовок отчета Рейтинг клиентов, а также выберем тип диаграммы Круговая объемная.

Запустим 1С: Предприятие в режиме отладки и откроем отчет Рейтинг клиентов (рис. 16.43).

 

Рисунок 16.43 ― Круговая объемная диаграмма в отчете

 

Обратите внимание, что при наведении курсора на сектор диаграммы появляется подсказка.

Откройте настройки отчета, измените тип диаграммы на Измерительная и заново сформируйте отчет.

На примере этого отчета мы продемонстрировали, как можно использовать различные виды диаграмм для визуализации данных отчета.

 

6. Универсальный отчет

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

Создадим в конфигураторе новый объект конфигурации Отчет. Присвоим ему имя Универсальный. Откроем его основную схему компоновки данных и создадим новый набор данных запрос.

Вызовем конструктор запроса и выберем виртуальную таблицу регистра накопления Продажи.Обороты. Из этой таблицы выберем все поля (рис. 16.44).

 

Рисунок 16.44 ― Выбранные поля

На закладке Группировка с помощью кнопок > > выберем все поля, доступные для группировки, а все ресурсы добавим в Суммируемые поля (рис. 16.45).

 

Рисунок 16.45 ― Поля группировки и ресурсы

 

Нажмем OK и посмотрим на текст, сформированный конструктором запроса (листинг 16.16).

 

Листинг 16.16. Текст запроса

ВЫБРАТЬ

ПродажиОбороты.Номенклатура,

ПродажиОбороты.Клиент,

ПродажиОбороты.Мастер,

СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот,

СУММА(ПродажиОбороты.ВыручкаОборот) КАК ВыручкаОборот,

СУММА(ПродажиОбороты.СтоимостьОборот) КАК СтоимостьОборот

 

ИЗ

РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты

 

СГРУППИРОВАТЬ ПО

ПродажиОбороты.Клиент,

ПродажиОбороты.Мастер,

ПродажиОбороты.Номенклатура

 

Закончим создание схемы компоновки данных тем, что на закладке конструктора схемы компоновки Ресурсы выберем все доступные ресурсы (нажмем > >). На этом работа со схемой компоновки данных завершена, закроем ее и вернемся к окну редактирования объекта конфигурации Отчет Универсальный.

Перейдем на закладку Формы и создадим основную форму отчета, нажав на кнопку просмотра у табличного поля Основная форма отчета. Так как основная форма пока отсутствует, система вызовет конструктор форм. Согласимся с тем, что система предлагает по умолчанию, и сразу нажмем Готово.

На экране откроется основная форма отчета. Как видите, система уже вставила поле табличного документа и дала ему имя Результат (рис. 16.46).

 

Рис.16.46 ― Редактирование формы отчета

 

Мы собираемся вставить в это поле сводную таблицу. Но ячейки поля табличного документа Результат сейчас находятся в режиме Только просмотр. Для того чтобы вставить сводную таблицу, нужно снять этот режим, поэтому щелкнем на поле табличного документа и выполним Таблица > Вид > Только просмотр. Теперь мы можем редактировать табличное поле.

Установим курсор в верхнюю левую ячейку поля табличного документа и выполним Таблица > Встроенные таблицы > Вставить сводную таблицу. Система добавит в табличное поле сводную таблицу и откроет окно полей сводной таблицы (рис. 16.47).

Рисунок 16.47 ― Сводная таблица

 

Для того чтобы в сводную таблицу вывести данные, потребуется написать несколько строк в модуле формы. Откроем модуль формы отчета и добавим в текст переменную, которая нам понадобится (листинг 16.17







Дата добавления: 2014-11-10; просмотров: 1365. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Уравнение волны. Уравнение плоской гармонической волны. Волновое уравнение. Уравнение сферической волны Уравнением упругой волны называют функцию , которая определяет смещение любой частицы среды с координатами относительно своего положения равновесия в произвольный момент времени t...

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

Основные разделы работы участкового врача-педиатра Ведущей фигурой в организации внебольничной помощи детям является участковый врач-педиатр детской городской поликлиники...

Studopedia.info - Студопедия - 2014-2024 год . (0.014 сек.) русская версия | украинская версия