Довідковий матеріал

Практикум 5. Створення звітів

Створимо звіт <strong>Реєстр документів надання послуги</strong>, використовуючи систему компонування даних. Цей звіт виводитиме список наявних у базі даних документів <strong>НаданняПослуги</strong> у порядку їх дат і номерів.Звіт Реєстр документів надання послуги. Звіт РейтингПослуг

Практикум 5. Створення звітів

Звіт Реєстр документів надання послуги

Звіт РейтингПослуг

 

Звіт Реєстр документів надання послуги

Створимо звіт Реєстр документів надання послуги, використовуючи систему компонування даних. Цей звіт виводитиме список наявних у базі даних документів НаданняПослуги у порядку їх дат і номерів.

1. Створіть у конфігураторі новий об'єкт конфігурації Звіт з іменем РеєстрДокументівНаданняПослуги.

2. На вкладці Основні натиснемо кнопку Відкрити схему компонування даних.

3. У відкритому діалоговому вікні конструктора макета натиснемо Готово.

4. У конструкторі схеми компонування даних створимо Набір даних → запит

Отчет РеестрДокументов...: ОсновнаяСхемаКомпоновкиДанных Р X Набор... Связи... Вычис... Ресур... Парам... Макеты В ложе... Настр... р... Св;: ВЕГ“ I ~1 Добавить набор данных • запрос} Добавить набор данных • объект 0 Добавить набор данных • объединение

і запустимо конструктор запиту.

Отчет РеестрДокчментовОказаниеУсячги: ОсновнаяСхемаКомпоновкиДанных

5. Як джерело даних для запиту виберемо об'єктну (посилальну) таблицю документів НаданняПослуги. Із цієї таблиці виберемо такі поля (можна подвійним клацанням):

  • Дата;
  • Номер;
  • Склад;
  • Майстер;
  • Клієнт.

гїі і Конструктор запроса х Таблицы и п... Группировка Условия Дополните ль... Объединени... Порядок Компоновка... Характерної. -.її- База данных Т аблицы Поля І+1-ДІ Справочники Е1-М] ОказаниеУ слуги 1.....- ОказаниеУ слуги. Дата Документы . ....— Ссылка

6. Після цього перейдемо на вкладку Порядок і вкажемо, що результат запиту має бути спочатку впорядкований за значенням поля Дата, а потім → за значенням поля НаданняПослуги.Посилання.

гїй Конструктор запроса П Таблицы и п... Группировка Условия Дополнитель... Объединени... Порядок Компоновка... Характерист. Поля Номер Склад Мастер Клиент 2 Все поля В- г] ОказаниеУслуги {.....- І исылка ЩШШ 1.....- ПометкаУдалі і.....- Номер і.....- Дата

7. Натиснемо ОК і подивимося, який запит сформував конструктор запиту.

1 часть 2 часть ВЫБРАТЬ ОказаниеУслуги.Дата КАК Дата, ОказаниеУслуги.Номер, ОказаниеУслуги.Склад, ОказаниеУслуги.Мастер, ОказаниеУслуги.Клиент ИЗ Документ.ОказаниеУслуги КАК ОказаниеУслуги УПОРЯДОЧИТЬ ПО Дата, ОказаниеУслуги.Ссылка

Текст запиту починається з частини опису запиту (частина 1).

Опис запиту починається з обов'язкового ключового слова Вибрати. Потім йде список полів вибірки. У ньому описуються поля, які мають міститися в результаті запиту. Цей список може містити як власне поля, так і деякі вирази, що обчислюються на основі значень полів.

Після ключового слова З вказуються джерела даних → вихідні таблиці запиту, вміст яких обробляється в запиті. У цьому випадку це об'єктна (посилальна) таблиця Документ.НаданняПослуги. Після ключового слова ЯК вказується псевдонім джерела даних. У нашому випадку це НаданняПослуги. Надалі до цього джерела даних можна буде звертатися в тексті запиту, використовуючи псевдонім.

Таке звернення ми бачимо в описі полів вибірки:

ВЫБРАТЬ ОказаниеУслуги.Дата КАК Дата, ОказаниеУслуги.Номер, ОказаниеУслуги.Склад, ОказаниеУслуги.Мастер, ОказаниеУслуги.Клиент

Поля вибірки також можуть мати псевдоніми, за якими надалі в тексті запиту можна звертатися до цього поля. У нашому випадку це псевдонім Дата.

Після частини опису запиту в нашому прикладі йде частина впорядкування результатів (частина 2).

УПОРЯДОЧИТЬ по Дата, ОказаниеУслуги.Ссылка

Речення УПОРЯДКУВАТИ ЗА дає змогу сортувати рядки в результаті запиту. Після цього ключового речення розміщується вираз упорядкування, який у загальному випадку являє собою перелік полів (виразів) і порядку виведення.

У нашому випадку впорядкування виконуватиметься спочатку за полем Дата, а потім за полем НаданняПослуги.Посилання. В обох випадках порядок сортування буде за зростанням (налаштований за замовчуванням).

8. Перейдемо до налаштування схеми компонування даних. На вкладці Налаштування додамо нове групування до структури звіту.

Отчет РеестрДокументовОказаниеУслуги: ОсновнаяСхемаКомпоновкиДанных Наборы данных Связи наборов данных Вычисляемые поля Ресурсы Параметры Макеты Вложенные схемы Настройки ойки Настройки Выбраннь - К - К - Ь - С _і С ЬШ Новая группировка. Новая таблица Нова

9. У вікні вибору поля групування просто натиснемо ОК, тим самим указуючи, що в групуванні виводитимуться детальні записи з інформаційної бази.

10. На вкладці Вибрані поля задамо поля, які виводитимуться у звіт:

  • Дата;
  • Номер;
  • Склад;
  • Майстер;
  • Клієнт.

Отчет РеестрДокументовОказаниеУ слуги: ОсновнаяСхемаКомпоновкиДанных Наборы данных Связи наборов данных Вычисляемые поля Ресурсы Параметры Макеты Вложенные схемы Настройки В Отчет „у Детальные записи Настройки: Отчет Детальные записи СВыбранные полО Отбор

11. Тепер запустимо 1С:Підприємство в режимі налагодження і відкриємо звіт Реєстр документів надання послуги. Натиснемо Сформувати і подивимося на результат роботи нашого звіту.

Отчет Реестр документов оказание услуги Действия Сформировать '2 конструктор настроек... Настройки... 1- Номер Склад Мастер Клиент Л 01.09.200812:00:00 000000005 Основной Деловой Иван Сергеевич Иванов Михаил Юрьевич 02.09.2008 0:00:00 000000007 Основной Си

Звіт РейтингПослуг

Звіт РейтингПослуг міститиме інформацію про те, виконання яких послуг принесло фірмі найбільший прибуток у зазначеному періоді.

1. Створіть новий об'єкт конфігурації Звіт з іменем РейтингПослуг.

2, На вкладці Основні натисніть кнопку Відкрити схему компонування даних.

Отчет РейтингУсяуг _ п : 1 1 к Пгипсиию Г іуиі Данные Имя: Синоним: РейтингУ слуг Формы Макеты Комментарий: Подсистемы Праеа Интерфейсы Прочее Основная схема компоновки данных: . .. X С1 С Открыть схему компоновки данных Действия Ў Назаа Далее Закрыть Спра

3. У відкритому діалоговому вікні конструктора макета натиснемо Готово.

4. У конструкторі схеми компонування даних створимо Набір даних → запит і запустимо Конструктор запиту.

Отчет РейтингУсяуг: ОсновнаяСхемаКомпоновкиДанных Наборы дань Связи наборов данных Вычисляемые поля Ресурсы Параметры Макеты Вложенные схемы Настройки Добавить набор данных запрос] Добавить набор данных • объект 0 Добавить набор данных • объединение

Отчет РейтингУсячг: ОсновнаяСхемаКомпоновкиДанных

5. Виберемо об'єктну (посилальну) таблицю довідника Номенклатура і віртуальну таблицю регістру накопичення Продажі.Обороти.

гїй Конструктор запроса П Таблицы и... Связи Группировка Условия Дополните... Объединен... Порядок Компоновк... Характери. -.и- База данных Т аблицы Поля Справочники Е1-Ш] Номенклатура Ш' • Клиенты Ш! ПродажиОбороты Й' - Сотрудники 0--1 Номенклатура Ё--С=1

6. Для того щоб усунути неоднозначність імен у запиті, перейменуємо таблицю Номенклатура на ДовНоменклатура (контекстне меню правою кнопкою миші → Перейменувати таблицю).

ГІІ8 Конструктор запроса х Таблицы и... Связи Группировка Условия Дополните... Объединен... Порядок Компоновк... Характери... Л База данных Т аблицы Поля Справочники тшш Добавить і і В-{ ] Клиенты Е --’1 Прода Й--С=1 Сотрудники 0--1 Номенклатура Ё--С=1 Скл

7. Виберемо з таблиць поля ДовНоменклатура.Посилання і ПродажіОбороти. ВиручкаОбо-

рот.

Т аблицы : ПродажиО бороты 0-1- Номенклатура Й I Клиент Ё -1- Мастер КоличеотвоО борот . .... В ыручкаО борот -—-- СтоимоотьО борот В { СпрНоменклатура / /.....— Ссылка — ..... - П ометкаУделения .....— П редопределенный - Зпг-- Поля I.....- СпрНоменклатур

8. Перейдемо на вкладку Зв'язки і побачимо, що конструктор уже створив зв'язок між двома вибраними таблицями → значення виміру регістру Номенклатура має дорівнювати посиланню на елемент довідника Номенклатура.

гїі і Конструктор запроса х Таблицы и поля Связи Группировка Условия Дополнительно Объединения/П. Порядок Компоновка да..._ Характеристики Л N1- Т аблица 1 Все Т аблица 2 Все П. Условие связи Ні Л4 ПродажиО бороты у: РП СпрНоменклатура Ц 1— ПродажиОбороты.

9. Скинемо прапорець Усі у таблиці регістру та встановимо його в таблиці довідника.

Таблицы и поля Связи Группировка Условия Дополнительно Обьединения/П... Порядок Компоновка да... Характеристики Иг Т аблица 1 Все аблица 2 /Все ... Условие связи 1 ПродажиОбороты п СпрНоменклатура / р1 [П ПродажиО бороты. Ном... = - СпрНоменклатура.Ссы...

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

10. Перейдемо на вкладку Умови і задамо умови вибору елементів із довідника Номенклатура. Під час задання умов вибору ми використовуватимемо параметри запиту.

Першою умовою має бути те, що вибраний елемент не є групою (для цього слід переключитися в режим Довільна умова → встановити прапорець Довільна). Потім ввести в поле умови такий текст

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

Другою умовою має бути те, що вибраний елемент є послугою (це Проста умова).

гвіі Конструктор запроса Таблицы и поля Связи Группировка Условия Дополнительно Объединения/Псевдон Условие СпрНоменклатура.ЗтоГ руппа = ЛОЖЬ В-Е=1 СпрНоменклатура - Ссылка - ПометкаУделения - Предопределенный В-- Родитель - ЭтоГруппа - Код - Наименование

Номер П... Условие 1 0 СпрНоменклатура.ЗтоГ руппа = ЛОЖЬ 2 - СпрНоменклагура.ВиаНоменкла... = В иаН оменклатуры

Надалі, перед виконанням запиту, ми передамо в параметр ВидНоменклатури відповідне значення переліку.

11. На вкладці Об'єднання/Псевдоніми укажемо, що подання елемента довідника матиме псевдонім Послуга, а поле регістру матиме псевдонім Виручка:

  • подвійне клацання по слову Посилання в†’ з'явиться значок Очистити;

гїй Конструктор запроса П Таблицы и поля Связи Группировка Условия Дополнительно Обьединения/П... Порядок Компоновка да... Характеристики І 1 і Имя Без дубл. Имя ПОЛЯ Запрос 1 Запрос 1 і.....— ияш X :.....- СпрНоменклатура. Ссылка :.....І ВыручкаОборот Очи

  • за допомогою цього значка очищаємо це поле;
  • в очищене поле вводимо нове ім'я Послуга;
  • аналогічно робимо з псевдонімом Виручка.

Имя поля Запрос 1 1.....— Услуга 1.....- СпрНоменклатура. Ссылка {ЩЦГ] Выручка 5...../ П родажиО бороты. В ыручкаО борот

12. На вкладці Порядок укажемо, що результат запиту має бути відсортований за спаданням значення поля Виручка:

  • двічі клацніть по полю Виручка;
  • двічі клацніть по полю Зростання в†’ виберіть сортування Спадання.

гіи Конструктор запроса Таблицы и... Связи Группировка Условия Дополните... Объединен... Порядок Компоновк... Характери... Поля Поле Сортировка + 0 1.....— Услуга Выручка Возрастание Ў I—1 ШЖ1Г5 Все поля ИШІІІІІ Возрастание 1 Убывание V Запрос Назад Далее

13. Створення запиту завершено. ОК.

14. Розглянемо запит, сформований конструктором:

ВЫБРАТЬ СпрНоменклатура.Ссылка КАК Услуга, ПродажиОбороты.ВыручкаОборот КАК Выручка ИЗ Справочник.Номенклатура КАК СпрНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты ПО ПродажиОбороты.Номенклатура = СпрНоменклатура.Ссылка

Спочатку, як завжди, йде частина опису запиту, і в ній є нові для нас конструкції.

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

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

У цьому випадку вибираються записи з двох джерел ДовНоменклатура і ПродажіОбороти, причому ключовим реченням ЛІВЕ З'ЄДНАННЯ …¦ ЗА описано спосіб, яким будуть скомбіновані між собою записи цих двох джерел.

ЛІВЕ З'ЄДНАННЯ означає, що до результату запиту треба включити комбінації записів з обох джерел, які відповідають зазначеній після ключового слова ЗА умові. Крім цього, до результату запиту треба включити також записи з першого (зазначеного ліворуч від слова З'ЄДНАННЯ) джерела, для яких не знайдено відповідних умові записів із другого джерела.

Продовжимо розглядати текст запиту. У частині опису запиту є ще одна нова для нас конструкція → задання умов відбору даних із кількох таблиць:

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

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

15. Тепер, коли ми завершили ознайомлення з текстом запиту, продовжимо формування нашої схеми компонування даних.

Перейдемо на вкладку Ресурси і натиснемо кнопку >>, щоб конструктор вибрав усі доступні ресурси, за якими можна обчислювати підсумки. У нашому випадку → це єдиний ресурс Виручка.

Отчет РейтингУсяуг: ОсновнаяСхемаКомпоновкиДанных Наборы данных Связи наборов данных Вычисляемые поля Ресурсы Параметры Макеты Вложенные схемы Настройки Доступные поля Поле Выражение Рассчитывать по... 1 — Выручка — Выручка Сумма Выручка — Услуга

16. Перейдемо на вкладку Параметри.

Отчет РейтингУсяуг: ОсновнаяСхемаКомпоновкиДанных Наборы данных Связи наборов данных Вычисляемые поля Ресурсы Параметры Макеты Вложенные схемы Настройки Имя Заголовок Доступные типы Доступные значе... Д... Значение Выражение В к... Ог... ІНачалоПериода Нач

На цій вкладці ми побачимо три параметри, хоча в запиті ми задавали лише один - ВидНоменклатури:

  • ПочатокПеріоду;
  • КінецьПеріоду;
  • ВидНоменклатури.

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

Це перші два параметри віртуальної таблиці РегістрНакопичення.Продажі.Обороти, яку ми використали в запиті, у лівому з'єднанні.

Першим параметром передається початок періоду розрахунку підсумків, другим → кінець періоду. У результаті вихідна таблиця міститиме лише обороти, розраховані в переданому періоді.

17. Для параметра ПочатокПеріоду задамо заголовок, який відображатиметься користувачеві → Дата початку.

Отчет РейтингУсяуг: ОсновнаяСхемаКомпоновкиДанных Наборы данных Связи наборов данных Вычисляемые поля Ресурсы Параметры Макеты Вложенные схемы Настройки Имя Заголовок Доступные типы Доступные значе... Д... Значение Выражение В к... Ог... ІНачалоПериода Дат

Тут завжди слід пам'ятати, що якщо ми передаємо як ці параметри дату, то дата містить і час із точністю до секунди.

Користувача, як правило, не цікавлять результати роботи звіту в періодах, зазначених із точністю до секунди. У цьому випадку слід врахувати дві особливості.

По-перше, користувача треба позбавити необхідності вказувати час під час введення дати. Для цього змінимо наявний опис типу для параметра ПочатокПеріоду.

18. Двічі клацнемо в комірці Доступні типи, що відповідає параметру ПочатокПеріоду, натиснемо кнопку вибору (…¦) і в нижній частині вікна редагування типу даних встановимо Склад дати у значення Дата.

Имя Заголовок Доступные типы Доступные значе... Д... Значение НачалоПериода Дата начала Дата КонецПериода ВиаНоменклатуры :; Кос Вио Редактирование типа данных П Составной тип данных 'у . т 7 і-ПЩн СтанаартныйПериод / /ф] Булево / V

19. Натиснемо ОК.

Друга особливість полягає в тому, що за замовчуванням час у даті встановлено 00:00:00. Тому, якщо користувач задасть період звіту з 01.03.2008 по 31.03.2008, підсумки регістру буде розраховано з початку дня 01.03.2008 00:00:00 до початку дня 31.03.2008 00:00:00. Таким чином, дані за 31 число, відмінні від початку дня, до розрахунку не ввійдуть, що дуже здивує користувача.

Щоб виключити цю ситуацію, ми додамо ще один параметр, у який користувач вводитиме дату закінчення.

Значення параметра КінецьПеріоду обчислюватимемо автоматично таким чином, щоб воно вказувало на кінець дня дати, введеної користувачем. Тому для параметра КінецьПеріоду встановимо прапорець Обмеження доступності.

20. За допомогою кнопки командної панелі додамо новий параметр з іменем ДатаЗакінчення.

Имя Заголовок Доступные типы Доступные значе... Д... Значение НачалоПфиода Дата начала Дата КонецПериода Конец периода Дата ВиаНоменклатуры Вин номенклату; П еречислениеСсылк... ДатаОкончания Дата окончания ЕЯ Редактирование типа данных Составной тип данны

Для цього параметра платформа автоматично сформує заголовокДата закінчення. Залишимо його без змін. Задамо тип значення параметра → Дата. При цьому, як і для параметра ПочатокПеріоду, укажемо склад дати → Дата.

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

21. Перейдемо до параметра КінецьПеріоду. Для нього ми встановили прапорець обмеження доступності, оскільки значення цього параметра ми збираємося обчислювати на підставі значення, встановленого користувачем для параметра ДатаЗакінчення.

22. Щоб задати формулу, за якою обчислюватиметься значення параметра КінецьПеріоду, скористаємося мовою виразів системи компонування даних. Вона містить функцію КінецьПеріоду(), яка дає змогу отримати дату, що відповідає кінцю будь-якого періоду, наприклад, зазначеного дня.

У комірці Вираз задамо для параметра КінецьПеріоду такий вираз

Отчет РейтингУсяуг: ОсновнаяСхемаКомпоновкиДанных Наборы данных Связи наборов данных Вычисляемые поля Ресурсы Параметры Макеты Вложенные схемы Настройки І Имя Заголовок Доступные типы До... д... Зн... Выражение В ключа... Огранич... НачалоПериода Дата нача

23. І на завершення налаштуємо параметр ВидНоменклатури. Оскільки звіт має відображати виручку, отриману лише від реалізації послуг, значення параметра ВидНоменклатури користувач не повинен змінювати. Воно має бути задане безпосередньо за схемою компонування як Перелік. ВидНоменклатури.Послуга.

Прапорець обмеження використання для параметра ВидНоменклатури платформа встановила за замовчуванням, тому нам залишається лише вказати потрібне значення переліку ВидНоменклатури у комірці Значення, що відповідає параметру ВидНоменклатури.

Отчет РейтингУслуг: ОсновнаяСхемаКомпоновкиДанных 9- X Наборы данных Связи наборов данных Вычисляемые поля Ресурсы] Параметры Макеты Вложенные схемы Настройки шчъ t Имя Заголовок Доступные типы Д... Д... Знамение Выражение Вк... Ог.. НачалоПериода Дата нач

24. Перейдемо до формування структури звіту. На вкладці Налаштування додамо групування і знову не вкажемо поле групування.

25. На вкладці Вибрані поля вкажемо поля Послуга і Виручка.

Отчет РейтингУсяуг: ОсновнаяСхемаКомпоновкиДанных Наборы данных Связи наборов данных Вычисляемые поля Ресурсы Параметры Макеты Вложенные схемы Настройки В Отчет „у Детальные записи Настройки: Отчет Параметры данных Детальные записи Выбранные поля Отбор Сор

26. На завершення, перебуваючи на рівні Глобального звіту, перейдемо на вкладку Інші налаштування і задамо заголовок звіту → Рейтинг послуг.

Отчет РейтингУслчг: ОсновнаяСхемаКомпоновкиДанных Настройки: Отчет Отчет Параметры данных Выбранные поля Отбор Сортировка Условное оформление Пользовательские поля Другие настройки [_ Параметр Значение Выводить заголовок Авто Заголовок Рейтинг услуг Выводи

Запустіть 1С:Підприємство в режимі налагодження.

1. Запустимо наш звіт Рейтинг послуг. Але перед тим, як натиснути кнопку Сформувати, відкриємо Налаштування і на вкладці Параметри даних задамо період звіту з 01.09.2008 по 03.09.2008.

і/ Настройки отчета Рейтинг услуг П в--; -у его Детальные записи и і Настройки: Отчет Отчет Параметры данных Выбранные поля Отбор Сортировка Условное оформление Пользовательские поля Другие настройки Параметр Значение Дата 0 Дата начала Произвольная дата 0

2. Натиснемо ОК і сформуємо звіт. Результат матиме такий вигляд:

Рейтинг услуг Параметры данных: Дата начала = 01.09.2008 Дата окончания = 03.10.2008 Услуга Выручка Ремонт импортного телевизора 800 Подключение воды 800 Подключение электричества 800 Ремонт отечественного телевизора 600 Диагностика Итого 3 000

Як ми бачимо, дані за 03.09.08 потрапляють до звіту. У разі зміни періоду зміниться і вміст звіту.

Рейтинг услуг Параметры данных: Дата начала = 01.09.2008 Дата окончания = 02.09.2008 Услуга Выручка Подключение воды 800 Подключение электричества 800 Ремонт отечественного телевизора 600 Диагностика Ремонт импортного телевизора Итого 2 200

Записатися телефоном