1С:Предприятие 8.2 /
Разработчикам /
Практикум
Практикум 6. Создание отчетов
Отчет Выручка мастеров
Отчет Выручка мастеров будет содержать информацию о том, какая выручка была полученв фирмой благодаря работе каждого из мастеров, с детализацией по всем дням в выбранном периоде и разворотом по клиентам, обслуженным в каждый из дней. На примере этого отчета мы проиллюстрируем, как строить многоуровневые группировки в запросе и как обходить все даты в выбранном периоде.
1. Создадим новый объект конфигурацииОтчет. Назовем его ВыручкаМастеров и запустим конструктор основной схемы компоновки данных.
2. Создадим Набор данных → запрос и запустим конструктор запроса.
3. Выберем виртуальную таблицу регистра накопления Продажи.Обороты.
4. Зададим один из параметров этой виртуальной таблицы → Периодичность. Для этого перейдем в поле Таблицы и нажмем кнопкуПараметры виртуальной таблицы.
5. В открывшемся окне параметров зададим значение параметра Периодичность → День.
6. Нажмем ОК. После этого выберем из таблицы следующие поля:
- ПродажиОбороты.Мастер;
- ПродажиОбороты.Период;
- ПродажиОбороты.Клиент;
- ПродажиОбороты.ВыручкаОборот.
7. Теперь перейдем на закладку Объединения/Псевдонимы и зададим псевдоним Выручка для поля ПродажиОбороты.ВыручкаОборот.
8. На закладке Группировка определим, что группировка будет проводиться по полям Мастер, Период и Клиент, а значения поля ВыручкаОборот будут суммироваться:
9. На закладке Порядок определим, что результат запроса будет отсортирован по возрастанию значения поля Период.
10. Нажмем ОК.
Рассмотрим текст запроса, сформированный конструктором.
В части описания запроса обратите внимание, что у источника данных кроме задания начала и окончания периода расчета итогов задана периодичность выбираемых данных → День.
Именно благодаря этому у нас появляется возможность описать среди выбранных полей поле Период.
11. Теперь перейдем к редактированию схемы компоновки данных. На закладке Ресурсы нажмем >> и убедимся, что конструктор выбрал единственный имеющийся у нас ресурс → Выручка.
12. На закладке Параметры выполним те же действия, что и при создании предыдущего отчета.
Для параметра НачалоПериода зададим заголовок Дата начала. В поле Доступные типы зададим состав даты → Дата.
Для параметра КонецПериода зададим соответствующее выражение и в поле Ограничение доступности установим флаг ограничения доступности.
В заключение добавим еще один параметр → ДатаОкончания, установим его тип как Дата, состав даты → Дата.
В результате перечисленных действий параметры компоновки данных будут иметь следующий вид:
13. Теперь создадим структуру отчета . На закладке Настройки последовательно создадим две вложенные группировки: верхнего уровня → по полю Мастер,
вложенная в нее → по полю Период.
Затем добавим еще одну группировку, вложенную в группировку по полю Период, - детальные записи (без указания группировочного поля):
14. Теперь, находясь на уровне Глобального отчета, перейдем на закладку Выбранные поля и добавим в список выбранных полей поля Клиент и Выручка.
15. В заключение с уровня Глобального отчета перейдем на закладку Другие настройки и изменим следующие параметры. Для параметра Расположение полей группировок установим значение Отдельно и только в итогах;
для параметра Расположение общих итогов по вертикали зададим значение Начало и для параметра Заголовок зададим значение Выручка мастеров:
Запустим 1С:Предприятие в режиме отладки посмотрим на результат работы отчета Выручка мастеров за период с 01.09.2008 по 07.09.2008.
В начале раздела мы говорили, что этот отчет должен показывать данные с детализацией по всем дням в выбранном периоде. У нас же отображаются только те дни, для которых существуют ненулевые записи в таблице регистра накопления . Поэтому сейчас мы изменим настройки отчета таким образом, чтобы в отчет попадала каждая дата из периода, за который сформирован отчет.
Вернемся в режим конфигуратора и выполним более тонкую настройку структуры отчета. До сих пор все настройки структуры, которые мы выполняли, относились ко всему отчету в целом. Но система компоновки данных позволяет настраивать также и каждый элемент структуры в отдельности.
1. В нашем случае потребуется изменить настройку группировки Период. Для того чтобы перейти к настройкам именно этой группировки, в поле структуры установим курсор на эту группировку, а затем нажмем кнопку Период в командной панели.
2. В нижней части формы будут отображены настройки, доступные только для данной группировки.
Перейдем на закладку Поля группировки. Для поля Период установим Тип дополнения → День.
Тем самым мы укажем, что для этой группировки существующие записи с ненулевым значением ресурса будут дополняться записями для каждого из дней.
После этого следует указать, в каком именно периоде будет выполняться такое дополнение. В поля, расположенные строчкой ниже, можно ввести даты начала и окончания этого периода. Но указание дат в явном виде вряд ли кого устроит, так как пользователь может пожелать сформировать отчет за произвольный период. И нам нужно, чтобы, чтобы дополнение дат выполнялось не в некотором фиксированном периоде, а именно в том периоде, который выбрал пользователь для всего отчета.
3. Для того чтобы обеспечить именно такую работу отчета, войдем в режим редактирования первого поля (например, дважды кликнув в нем) и нажмем на кнопку очистки (Х). После этого, нажав на кнопку Т, мы сможем выбрать тип данных, отображаемых в этом поле. Выберем Поле компоновки данных. Нажмем ОК.
4. Теперь нажмем в поле ввода кнопку выбора (…¦) и в открывшемся окне выбора поля отметим параметр НачалоПериода. ОК.
5. Для второго поля ввода аналогичным образом укажем, что дата окончания периода будет получена из параметра ДатаОкончания.
6. Запустим 1С:Предприятие в режиме отладки и выполним отчет Выручка мастеров за период с 03.09.2008 по 07.09.2008.
На примере этого отчета мы продемонстрировали, как строить многоуровневые группировки и как установить в системе компоновки обход по всем датам в выбранном периоде.
Отчет Перечень услуг
Отчет Перечень услуг будет содержать информацию о том, какие услуги и по какой цене оказывает фирма. На его примере мы познакомимся с возможностью получения последних значений из периодического регистра сведений и вывода иерархических справочников.
1. Создадим новый объект конфигурации Отчет с именем ПереченьУслуг и запустим конструктор схемы компоновки данных.
2. Создадим новый Набор данных → запрос и вызовем конструктор запроса.
3. Выберем объектную (ссылочную) таблицу справочника Номенклатура и виртуальную таблицу регистра сведенийЦены.СрезПоследних.
4. Чтобы исключить неоднозначность имен в запросе, переименуем таблицу Номенклатура в СпрНоменклатура.
5. Вызовем диалог ввода параметров виртуальной таблицы ЦеныСрезПоследних и укажем, что период будет передан в параметре ДатаОтчета.
6. Затем выберем из таблиц следующие поля:
- СпрНоменклатура.Родитель;
- СпрНоменклатура.Ссылка;
- ЦеныСрезПоследних.Цена.
7. Перейдем на закладку Связи, сбросим флаг Все у таблицы регистра и установим его у таблицы справочника.
8. На закладке Условия зададим условие выбора элементов справочника Номенклатура → выбираемые элементы должны соответствовать виду номенклатуры , переданному в параметре запроса ВидНоменклатуры.
9. На закладке Объединения/Псевдонимы укажем, что поле Родитель будет иметь псевдоним ГруппаУслуг, а поле Ссылка → Услуга.
10. На закладке Группировка укажем, что группировка будет производится по полю СпрНоменклатура.Родитель. Значения суммируемых полей задавать не станем.
11. На этом создание запроса завершено, ОК. Теперь рассмотрим текст запроса, сформированный конструктором.
Практически все конструкции, использованные в этом запросе, нам уже известны.
12. Перейдем к редактированию схемы компоновки данных. На закладке Ресурсы нажатием кнопки >> выберем единственный доступный ресурс Цена.
13. На закладке Параметры зададим значение параметра ВидНоменклатуры как Перечисление.ВидыНоменклатуры.Услуга. Кроме этого снимем ограничение доступности для параметра ДатаОкончания и в поле Доступные типы зададим состав даты → Дата. Для параметра Период, наоборот, установим ограничение доступности.
14. Приступим к созданию структуры отчета. Перейдем на закладку Настройки и создадим группировку по полю ГруппаУслуг, указав тип группировки Иерархия. Внутри этой группировки создадим еще одну группировку без указания группового поля. Она будет содержать детальные записи отчета.
15. Перейдем на закладку Выбранные поля и укажем, что в отчет будут выводиться поля Услуга и Цена.
И в заключение настроим внешний вид отчета на закладке Другие настройки. Так как наш отчет будет представлять собой просто список оказываемых услуг, в котором интересны цены на конкретные услуги, выводить значения ресурса Цена для каждой из группировок и для всего отчета в целом не имеет смысла.
16. Чтобы запретить вывод общих итогов во всем отчете, установим параметр Расположение общих итогов по вертикали в значение Нет.
Для параметра Расположение полей группировок укажем значение Отдельно и только в итогах (так наш отчет будет лучше «читаться»).
17. Затем перейдем к настройкам конкретной группировки → ГруппаУслуг. Для параметра Расположение итогов этой группировки укажем значение Нет.
18. Напоследок зададим заголовок отчета→ Перечень услуг.
19. Запустим 1С:Предприятие в режиме отладки и прежде всего откроем периодический регистр Цены. Добавим в него еще одно значение для услуги Диагностика: новая цена услуги на 15.09.2008 → 350. Это позволит нам протестировать отчет.
21. Теперь выполним отчет Перечень услуг по состоянию на 01.09.2008.
22. Наш отчет правильно отражает цену услуги Диагностика на 31.08.2008 → 200 руб.
Еще раз выполним отчет, но теперь уже на другую дату → 15.09.2008.
Как видите, показана новая цена услуги Диагностика → 350 руб.
Таким образом, на примере этого отчета мы показали, как система компоновки данных получает последние значения из периодического регистра сведений и как вывести группировки по иерархии справочника.
Отчет Рейтинг Клиентов
Отчет Рейтинг Клиентов будет показывать, каков доход от оказания услуг каждому из клиентов за все время работы фирмы. На его примере мы продемонстрируем возможность использованиядиаграммы для отображения результата запроса.
1. Создадим в конфигураторе новый объект конфигурации с именем Рейтинг клиентов и откроем его основную схему компоновки данных.
2. Создадим Набор данных → запрос, вызовем конструктор запроса и выберем виртуальную таблицу регистра накопленияПродажи.Обороты и из нее одно поле → ПродажиОбороты.Клиент.
3. Затем добавим новое поле и при помощи построителя выражений (редактор произвольного выражения поля) определим его как разность между выручкой и стоимостью:
4. В результате список выбранных полей будет иметь следующий вид:
5. На закладке Объединения/Псевдонимы укажем, что вычисляемое поле будет иметь псевдоним Доход:
6.На закладке Порядок укажем, что строки результата нужно упорядочивать по убыванию значения поля Доход.
7. Нажмем ОК и посмотрим, какой текст сформировал конструктор запроса. По сравнению с предыдущими отчетами текст запроса довольно прост. Единственным интересным местом, на которое следует обратить внимание, является поле Доход, являющееся результатом вычисления выражения:
8. Теперь добавим поле Доход в ресурсы схемы компоновки:
9. Перейдем на закладку Настройки для того, чтобы создать структуру отчета.
В отличие от всех предыдущих отчетов, структура которых содержала группировки, в этот раз добавим в структуру отчета Диаграмму:
10. В точки диаграммы добавим группировку по полю Клиент. Серии диаграммы оставим без изменений.
11. Теперь перейдем на закладку Выбранные поля и выберем поле Доход для вывода в отчет. Структура отчета должна принять следующий вид:
12. На закладке Другие настройки зададим заголовок отчета Рейтинг клиентов, а также выберем тип диаграммы → Круговая объемная.
13. Запустим 1С:Предприятие в режиме отладки и откроем отчет Рейтинг клиентов. Обратите внимание, что при наведении курсора на сектор диаграммы появляется подсказка.
14. Откроем настройки отчета и изменим тип диаграммы на Измерительная. Заново сформируем отчет.
Таким образом, мы продемонстрировали, как можно использовать различные виды диаграмм для визуализации данных отчета.
Другие материалы по теме:
родитель, доступные поля, настройки ..., группировка, выручка, заголовок, группировки, периоде, оборот, цена, клиент, регистр., услуги, доход, 09, дата, 00, номенклатура, настройки, параметры, услуг, на закладке, значение, регистр, период, справочник, отчет
Материалы из раздела: 1С:Предприятие 8.2 / Разработчикам / Практикум
Другие материалы по теме:
Нас находят: https://stimul kiev ua/materialy htm?a=praktikum_6_sozdanie_otchetov, 95996, создать расчет выручки мастера, (&началопериода &конецпериода ) параметры виртуальной таблицы, Практическая часть Вывод данных в таблицу Это наиболее гибкий и универсальный отчет который позволяет пользователю изменять его структуру и внешний вид самостоятельно В режиме Конфигуратор Добавим новый объект конфигурации Отчет Назовем его Универ-сальный , обход по группировкам запроса вывод общих итогов, разворотом по клиентам обслуженным в каждый из дней (рис 1) На примере этого отчета мы проиллюстрируем как строить многоуровневые группировки в запросе и как обходить все даты выбранном периоде Также продемонстрируем настройку отдельных элементов структуры, параметр период детальные записи, отчет рейтинг клиентов 1с
Мы на Facebook