Навчальні статті. Урок - Створення звичайних звітів та за допомогою СКД
Вітаємо читачів нашої постійної рубрики. Сьогодні ми поговоримо про одних з найбільш технічно складних об'єктів - Звіти в BAS.
Звіти необхідні лише для однієї мети – виведення інформації з регистрів для аналізу. Звіти дуже схожі на обробки і технічно майже не відрізняються. У цій статті розглянемо побудову звичайних звітів, та звітів, які використовують СКД. Складність звичайних звітів, які не використовують СКД – необхідність писати все вручну. Тобто. весь процес виведення, формування та заповнення звіту вам необхідно реалізовувати самостійно.
Як і в інших статтях, використовуватимемо дані з демоверсії BAS Управління торгівлею
Створення звичайних звітів
Наприклад, створимо звіт щодо залишків товарів на складах. Для простоти створення та налагодження спочатку створимо звіт у вигляді зовнішньої обробки. Натискаємо Файл - Новий - Зовнішній звіт.
Для запуску звіту створимо форму з ім'ям "ФормаОтчета", на якій у свою чергу створимо команду "Сформувати" з дією "Створити на клієнті та процедуру на сервері", а також створимо реквізит "ТабДок" з типом Табличний документ, він нам знадобиться для виведення звіту на форму. Помістимо команду та реквізит на форму.
Наступним етапом створюємо макет з типом "Табличний документ"
На макеті створимо варіант нашого звіту. Попередньо макет можна створити в Excel і потім скопіювати/вставити на макет. На макеті створюємо потрібні поля, параметри. Детально відновлюватися на створенні макета не будемо, оскільки процес ідентичний до створення макета для друкованих форм. У нашому звіті ми хочемо бачити залишки в кількісному вираженні в розрізі складів.
Попередня підготовка закінчена, перейдемо до отримання даних та створення самого звіту.
У Процедурі СформироватьНаСервере отримуємо наш створений Макет. Якщо нашу обробку захочемо вбудувати в конфігурацію, то макет слід використовувати з закоментованого рядка.
Зробимо запит до регістру накопичення «ТоварыНаСкладахОстатки». Скористаємося конструктором із обробкою результату та вкажемо, що нам потрібно не просто отримати результат, а вивести його в табличний документ.
Далі отримуємо потрібні області та заповнюємо табличний документ ТабДок даними звіту.
Якщо подивитися весь текст модуля, можна помітити, що код дуже нагадує друковані форми. Тепер переконайтесь у режимі підприємства, що все працює.
Тепер ускладнимо звіт. У цьому вигляді звіт виводить залишки лише на поточну дату. Додамо можливість вибору дати.
Створюємо новий реквізит "ДатаОстатков" с типом "Дата"
Помістимо цей реквізит на форму.
Наступним кроком ми повинні змінити наш запит, додавши параметр ДатаОстатков. Викликаємо конструктор запиту та у параметрах віртуальної таблиці додаємо період &ДатаОстатков.
Перевіряємо, чи в запиті з'явився наш параметр, тепер додамо передачу з реквізиту даних у запит.
Невелике пояснення коду. У змінну "ВыбраннаяДата" ми додали умову у відповідності з яким, якщо значення ДатаОстатков заповнено, то беремо його значення на кінець дня і додаємо 1 секунду, для коректності результату, якщо значення не заповнене, то беремо порожню дату, як це було раніше. Перевіряємо у Підприємстві, дата обирається, звіт формується з урахуванням обраної дати.
Як бачимо, у вигляді звітів кожну настройку, структуру, зовнішній вигляд доводиться допрацьовувати в конфігураторі. Звіт, у свою чергу, має жорстку структуру, що робить його не завжди зручним.
Звіти з використанням СКД
Тепер розглянемо більш прогресивний вид звітів – це звіти, створені з використанням СКД.
Наприклад створимо аналогічний звіт і розглянемо його переваги проти звичайними звітами. Створюємо зовнішній звіт без реквізитів, форм, макетів тощо, натискаємо кнопку "Відкрити схему компоновки даних"
У конструкторі запитів створюємо максимально простий запит, у якому виводимо з регистра накопления ТоварыНа Складах.Остатки Номенклатуру, склад, количество:
Для підсумків підсумовуємо кількість.
Робимо угруповання по полю Склад.
Додаємо можливість для користувача, якщо потрібно вказувати дату.
Наш звіт готовий. Запускаємо обробку, перевіряємо результат
Звіт схожий на попередній, за винятком іншого сортування складів, відсутності поля Артикул та вибору дати.
На створення звіту ми витратили набагато менше часу, не створювали макет, кнопки, не писали жодного рядка коду.
Вбудовуємо наш звіт у конфігурацію, не забуваючи вперше запустити базу з налаштуванням /С ЗапуститьОбновлениеИнформационной базы
Спробуємо за допомогою налаштувань додати дату. Під час створення звіту ми передбачили таку можливість, але залишили налаштування не активним. Заходимо у правому верхньому кутку в Ще - Інше - Змінити варіант звіту
У вікні активуємо параметр Період, натискаємо праву кнопку миші і у вікні активуємо "Включати у користувацькі настройки" та змінюємо Режим редагування на Швидкий доступ. Натискаємо ОК, переходячи до звіту
Наступним кроком перевіряємо що вийшло та зберігаємо наші налаштування натиснувши на кнопку "Варіанти звіту"
В результаті на формі звіту з'являється поле з вибором дати і при відкритті налаштування дата завжди буде заповнена значенням "Початок тиждня".
Подивимося, що ще можна зробити за допомогою налаштувань. У минулому звіті ми мали поле Артикул, додамо його, а також спробуємо розташувати склади в колонках, так зручніше аналізувати інформацію. Знову заходимо в Ще - Інше - Змінити варіант звіту, Переходимо у верхнє поле "Структура звіту", прибираємо всі налаштування та додаємо "Нова таблиця"
В Рядках добавляємо поле Товар, а в Колонки - Склад. Во вкладці "Поля" из "Доступні поля" добавляємо "Артикул". В "Додаткових настройках" "Розташування реквізитів" - окремо, щоб артикул був у окремій колонці, а чи не разом із номенклатурою.
Зберігаємо зміни, створюємо нове налаштування, формуємо звіт. Отримуємо артикул в окремій колонці та склади у стовпцях.
Крім табличних даних звіт можна налаштувати та сформувати у вигляді діаграми. Заходимо в налаштування, видаляємо з Структури таблицюу и добавляємо "Діаграму", а в "Додаткових настройках" "Тип діаграми" - "Кругова", "Серії" - Склад.
В результаті одержуємо кругову діаграму з даними по складах.
Таблицю можна було б не видаляти, у такому разі, у звіті сформувалося б два об'єкти - таблиця та діаграма.
Підводячи можна сказати що звіти із застосуванням СКД простіше у побудові і мають великі можливості з налаштування користувачами. Додатково щодо роботи зі звітами можна прочитати в нашій статті Звіти СКД в BAS
Також, наша компанія проводить навчання за курсами:
Навчання проводиться у вечірній час, що дозволить вам не відриватися від роботи або навчання, практикуючим програмістом нашої компанії.
Якщо у вас залишилися питання, Ви завжди можете звернутися до наших аналітиків за телефонами:
(093) 090-70-20
(095) 090-70-20
(068) 090-70-20
Зв'яжіться з нами
Якщо ви хочете отримати більше інформації, заповніть цю форму. Ми зв'яжемося з вами найближчим часом.