Практикум 7. Універсальний звіт
На прикладі створення універсального звіту ми дізнаємося, як система компонування даних може взаємодіяти зі зведеною таблицею.Звіт Універсальний2
На прикладі створення універсального звіту ми дізнаємося, як система компонування даних може взаємодіяти зі зведеною таблицею.
1. Створимо новий об'єкт конфігурації Звіт. Назвемо його Універсальний. Відкриємо його основну схему компонування даних і створимо новий Набір даних → запит.
2. Викличемо конструктор запиту та виберемо віртуальну таблицю регістру накопичення Продажі.Обороти.
3. Із цієї таблиці виберемо всі поля.

4. На вкладці Групування за допомогою кнопки >> виберемо всі поля, доступні для групування, а всі ресурси додамо до Поля, що підсумовуються.

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

6. Завершимо створення схеми компонування даних тим, що на вкладці конструктора схеми компонування Ресурси виберемо всі доступні ресурси (натиснемо >>).
На цьому роботу зі схемою компонування даних завершено, закриємо її та повернемося до вікна редагування об'єкта конфігурації Звіт Універсальний.

7. Перейдемо на вкладку Форми і створимо основну форму звіту, натиснувши кнопку перегляду біля табличного поля Основна форма звіту. Оскільки основна форма поки що відсутня, система викличе конструктор форм. Погодимося з тим, що система пропонує за замовчуванням, і відразу натиснемо Готово.
8. На екрані відкриється основна форма звіту. Як бачите, система вже вставила за нас поле табличного документа та надала йому ім'я Результат.

9. Ми збираємося вставити в це поле зведену таблицю. Але комірки поля табличного документа Результат зараз перебувають у режимі Лише перегляд. Щоб вставити зведену таблицю, потрібно вимкнути цей режим, тому клацнемо на полі табличного документа та виконаємо Таблиця в†’ Вигляд в†’ Лише перегляд.

10. Тепер ми можемо редагувати табличне поле.
Установимо курсор у верхню ліву комірку поля табличного документа та виконаємо Таблиця в†’ Вбудовані таблиці в†’ Вставити зведену таблицю. Система додасть до табличного поля зведену таблицю та відкриє вікно полів зведеної таблиці:

11. Щоб вивести дані до зведеної таблиці, нам потрібно буде написати кілька рядків у модулі форми. Відкриємо модуль форми звіту та додамо в текст змінну, яка нам знадобиться:
![]()
12. Після цього викличемо палітру властивостей Звіт Універсальний і створимо обробник події форми звіту ПриВідкритті, додавши до нього такий текст:

Цим текстом ми призначаємо зведеній таблиці як джерело даних схему компонування даних і встановлюємо їй налаштування компонувальника налаштувань.
13. Запустимо 1С:Підприємство в режимі налагодження та відкриємо звіт Універсальний. На екрані з'явиться форма звіту та вікно вибору полів зведеної таблиці:

14. Помістимо значення ресурсу ВиручкаОборот у дані,

вимір Номенклатура → у рядки, а вимір Майстер → у колонки. Звіт матиме такий вигляд:
![Отчет Универсальный Действия Сформировать Конструктор настроек... Настройки... Выручка об] Мастер // Номенклат Гусаков Николай Дг. Симонов Валерий М Дело в ой Иван Сер г Итог Материалы 900 744 150 1 794 Услуги 800 1 400 800 3 000 Итог 1 700 2144 950 4 794](/img/materialy_praktikum_7_universalnyy_otchet/227.png)
15. Тепер у вікні вибору полів зведеної таблиці розкриємо групу Номенклатура і додамо значення (Без ієрархії) до рядків,

а вимір Клієнт додамо до колонок. Звіт матиме такий вигляд:
Отже, використовуючи ці схеми компонування даних, ми надали користувачеві альтернативну можливість самостійно формувати звіт за регістром НаданіПослуги.
Звіт Універсальний2
На прикладі створення другого універсального звіту ми розглянемо способи безпосереднього керування налаштуваннями системи компонування та можливість формування макетів на основі варіантів стандартного оформлення.
Для легшого розуміння будемо використовувати практично той самий запит за регістром накопичення Продажі. Отже, можна сказати, що в цьому звіті ми просто покажемо інший варіант керування налаштуваннями системи компонування.
1. Створимо новий об'єкт конфігурації Звіт з ім'ям Універсальний2. Відкриємо його основну схему компонування даних, створимо новий Набір даних → запит і запустимо конструктор запиту.
2. Виберемо всі поля з віртуальної таблиці регістру накопичення Продажі.Обороти і натиснемо ОК.
3. На вкладці Ресурси конструктора схеми компонування даних натиснемо >> і переконаємося, що система підібрала три ресурси: ВиручкаОборот, КількістьОборот і ВартістьОборот.
4. На вкладці Налаштування створимо нове групування Детальні записи (не вибираючи поле групування).
5. Тепер на вкладці Форми вікна редагування звіту Універсальний2 за допомогою конструктора створимо основну форму звіту та відредагуємо її.
6. Розтягнемо форму та розташуємо в ній два написи з іменами Поля: і Порядок: відповідно. Для цього:
- у нижньому меню натиснемо кнопку
(Напис); - при наведенні курсору на область звіту він набуде вигляду:

- натиснувши й утримуючи праву кнопку миші, розтягнемо вставку з написом Напис1;
- аналогічно для Напис2;
- клацнувши по кожному з отриманих написів і викликавши його палітру властивостей, надамо їм імена та заголовки:

7. Під кожним написом розташуємо табличне поле з іменами ТабличнеПолеПоля і ТабличнеПолеПорядку, використовуючи кнопку нижнього меню
(Табличне поле):

8. Над табличними полями додамо командні панелі, джерелами дій яких будуть призначені створені нами табличні поля. За допомогою кнопки нижнього меню
(Командна панель) вставимо командні панелі. Отримаємо таку картинку:

9. Викличемо палітру властивостей кожної зі створених командних панелей і прив'яжемо до них ДжерелоДій відповідного табличного поля. Установимо прапорець АвтоЗаповнення.

10. Тепер аналогічну прив'язку здійснимо для табличних полів:

11. Тепер для табличного поля ТабличнеПолеПоля задамо джерело даних як ЗвітОб'єкт.КомпонувальникНалаштувань.Налаштування.Вибір. Крім того, установимо прапорець АвтоКонтекстнеМеню. Увага: зовнішній вигляд створеного нами меню зміниться.

12. Аналогічно для табличного поля ТабличнеПолеПорядок вкажемо джерело даних ЗвітОб'єкт.КомпонувальникНалаштувань.Налаштування.Порядок. Отримаємо:

Виконавши описані дії, ми пов'язали елементи керування, розташовані у формі, з налаштуваннями системи компонування нашого звіту → Вибір і Порядок.
Вибір дає змогу керувати списком полів, які увійдуть до результату звіту, а Порядок задає порядок виведення рядків результату.
Командні панелі знадобляться користувачеві для налаштування значень цих полів.
Використовуючи властивості командних панелей АвтоЗаповнення і ДжерелоДій, ми отримали автоматичне формування команд, засноване на типі даних, що містяться в кожному з табличних полів.
13. Розмістимо ще один напис з іменем Оформлення і заголовком Оформлення, а під ним розташуємо поле вибору (кнопка нижнього меню
) з іменем ПолеВиборуОформлення без підпису:
![Заголовок Расположение Поле [аЫ1 Поле ееода Цы] Поле веода Ш Поле ееода : Поле Направление сор... [аЫ1 Поле ееода [аЫ1 Поле ееода Оформление](/img/materialy_praktikum_7_universalnyy_otchet/242.png)
14. У властивостях нашого поля вибору відкриємо вікно Рядки списку вибору і заповнимо його іменами макетів із бібліотеки макетів оформлення компонування даних:

15. Щоб наше поле вибору змінювало застосовуваний макет оформлення системи компонування, створимо обробник ПриЗміні поля вибору:

Цим текстом для параметра компонування даних МакетОформлення ми вказуємо ім'я макета, яким має оформлюватися звіт, і встановлюємо ознаку використання макета оформлення.
Запустимо 1С:Підприємство в режимі налагодження та відкриємо звіт Універсальний2.
1. До вибраних полів додамо такі поля:
- Майстер;
- Номенклатура;
- Номенклатура.ВидНоменклатури;
- ВиручкаОборот.

2. Задамо порядок сортування:
- Майстер за зростанням;
- Номенклатура.ВидНоменклатури за спаданням;
- Номенклатура за зростанням.

3. Виберемо оформлення, наприклад Зелений, і натиснемо Сформувати. Результат матиме такий вигляд:

4. Тепер змінимо умови формування звіту. Виберемо поля
- Клієнт;
- Номенклатура;
- ВиручкаОборот.
Порядок сортування буде таким:
- Клієнт за зростанням.
Варіант оформлення → Море. Виконаємо звіт:

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