Завдання дол 3

// перебрати вибірку результату запиту і створити серії і значення Поки ВиборкаРезультатаЗапроса.Следующій () Цикл ТекущаяСеріяДіаграмми = Діаграма

УстановітьСеріяКВиборкаРезультатаЗапроса.Кліент); Діаграмма.УстановітьЗначеніе (ТочкаДіаграмми, ТекущаяСеріяДіаграмми,

// дозволити автотранспонірованіе діаграми Діаграмма.АвтоТранспонірованіе = Істина;

Замінимо одним рядком:

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

Запустіть 1С: Підприємство в режимі налагодження і перевірте роботу звіту. Зверніть увагу на те, що деякі типи діаграм виглядають «некрасиво» (графік) або не відображаються зовсім (ізометрична безперервна, ізометрична стрічка). Це пов'язано з тим, що при використанні джерела даних немає можливості використовувати властивість діаграми «АвтоТранспонірованіе» і потрібно обробляти транспонування діаграми властивість СерііВСтроках).

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

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

Будівник звіту є об'єктом вбудованої мови, що дозволяє виконувати різні настройки запиту в ході виконання програми. Такі установки можуть виконуватися як засобами вбудованої мови (в результаті деякого алгоритму роботи програми), так і роботи інтерактивно, безпосередньо користувачем.

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

Завдання дол 3

Формувати параметри налаштування на основі тексту запиту будівник звіту може двома способами: автоматично і на підставі вказівок, розташованих в тексті запиту.

Автоматично параметри налаштування формуються викликом методу ЗаполнітьНастройкі () наступним чином:

• полями, доступними для вибору в якості полів відбору, порядку або виведення в звіт (властивість «ДоступниеПоля»), стають все поля зі списку вибірки і всі їхні підлеглі поля,

в список полів, вибраних для виведення в звіт (властивість «ВибранниеПоля»), додаються всі поля зі списку вибірки,

полями, доступними для вибору в якості вимірювань, стають все поля з пропозиції ПІДСУМКИ ПО і всі їхні підлеглі поля,

в список вимірювань по рядках (властивість «ІзмереніяСтрокі») додаються всі поля з пропозиції ІТОГІПО,

в доступні відбори (властивість «Відбір») додаються параметри віртуальних таблиць.

Другим способом формування параметрів налаштувань будівника звіту є виділення їх в тексті запиту. Для цього використовуються фігурні дужки «<>». Фігурними дужками можуть бути виділені параметри будівника звіту, а також деякі синтаксичні конструкції:

ВИБРАТИ. - описує поля, які користувач зможе вибирати для виведення,

ДЕ. - описує поля, на які користувач може накладати обмеження,

ВПОРЯДКУВАТИ ЗА . - описує поля для позначення порядку,

• ПІДСУМКИ ПО. - описує поля, за якими будуть виводитися підсумкові значення.

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

Створення універсального звіту

Ми з вами розглянемо один з варіантів використання будівника звіту, в якому результати звіту будуть виводитися в зведену таблицю.

Створимо в конфігураторі новий об'єкт конфігурації Звіт «Універсальний». Цей звіт буде мати реквізит «ПостроітельОтчета», з типом ПостроітельОтчета.

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

Встановимо курсор перед символом крапки з комою і викличемо конструктор запитів (Текст | Конструктор запиту.).

Як таблиці виберемо віртуальну таблицю регістра накопичення «Продажі.Обороти». З цієї таблиці виберемо все поля:

Завдання дол 3

Ha закладці «Підсумки» вкажемо отримання загальних підсумків і виберемо всі ресурси регістра:

Натиснемо «OK». B модулі звіту з'явиться текст сформованого запиту:

Як бачите це зовсім простий запит за регістром накопичення «Продажі», в якому розташовані керуючі конструкції для будівника звіту.

Конструкція ВИБРАТИ дозволяє надати користувачеві можливість вибирати в якості полів запиту як самі вихідні поля запиту, так і всі поля «через точку» від даних полів.

Конструкція УПОРЯДОЧИТЬ ПО надає користувачеві можливість впорядковувати рядки результату запиту.

Тепер, для того, щоб привести склад полів в «вихідне» стан, додамо команду очищення обраних полів будівника звіту, і потім в обробник «КнопкаСформіроватьНажатіе» вставимо команди виконання будівника звіту:

| Продажі.Номенклатура ЯК Номенклатура,

| Продажі.Кліент ЯК Клієнт,

| Продажі.Мастер ЯК Майстер,

| Продажі.Колічество ЯК Кількість,

| Продажі.Виручка ЯК Виручка,

| Продажі.Стоімость ЯК Вартість

I РегістрНакопленія.Продажі ЯК Продажі

Якщо будівник звіту не вказувати об'єкт, в який необхідно виводити результат, то результат буде виведений в новий табличний документ. Будівник звіту має можливість оформити макет результату, використовуючи варіанти стандартного оформлення макетів. Для цього ми на початку процедури отримуємо стандартний макет оформлення, використовуючи значення, яке буде вибрано користувачем в поле вибору, а потім на основі цього макета оформляємо макет, створений будівником звіту за замовчуванням.

Тут слід сказати про те, що будівник звіту надає можливість повністю формувати макет майбутнього звіту, як задаючи його цілком (властивість «Макет»), так і шляхом опису окремих областей макета (властивості «МакетДетальнихЗапісей», «МакетЗаголовка» і т.д.) .

Тепер, для завершення нашого універсального звіту слід заповнити список вибору поля вибору «ПолеВибораОформленіе» і встановити початкове значення поля:

ПостроітельОтчета.Вишшшть (); ПостроітельОтчета.Вивесті (); КонецПроцедури

I Продажі.Номенклатура ЯК Номенклатура,

I Продажі.Кліент ЯК Клієнт,

| Продажі.Мастер ЯК Майстер,

| Продажі.Колічество ЯК Кількість,

| Продажі.Виручка ЯК Виручка,

| Продажі.Стоімость ЯК Вартість

I РегістрНакопленія.Продажі ЯК Продажі

СпісокВибора.Добавіть (СтандартноеОформленіе.Апельсін, "Апельсин"); СпнсокВибора.Добавіть (СтандартноеОформленіе.Асфальт, "Асфальт"); СпісокВибора.Добавіть (СтандартноеОформленіе.Бірюза, "Бірюза"); СпісокВибора.Добавіть (СтандаргноеОформленіе.Текстіль, "Текстиль");

Запустимо 1С: Підприємство в режимі налагодження і відкриємо звіт «Універсальний2».

Виберемо поля: «Майстер», «Номенклатура.ВідНоменклатури», «Номенклатура» і «Виручка». Задамо наступний порядок сортування:

«Майстер» по зростанню,

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

«Номенклатура» по зростанню.

Виберемо оформлення «Апельсин» і натиснемо «Сформувати». Результат буде виглядати наступним чином:

Завдання дол 3

Тепер змінимо умови формування звіту. Виберемо поля «Клієнт», «Номенклатура» і «Виручка», порядок сортування буде по зростанню значення поля «Клієнт», а варіант оформлення - «Асфальт»:

Завдання дол 3

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

Схожі статті