Обучающие статьи. Урок - Создание обычных отчетов и при помощи СКД

Эта статья была обновлена 23 Июня 2022, Чт

Пример отчета

Приветствуем читателей нашей постоянной рубрики. Сегодня мы поговорим об одних из самых технически сложных объектах - Отчетах в BAS.

Отчеты необходимы лишь для одной цели – вывод информации с регистров для анализа. Отчеты очень похожи на обработки, и технически почти не отличаются. В этой статье рассмотрим постороение обычных отчетов и отчетов использующих СКД. Сложность обычных отчетов, не использующих СКД – необходимость писать все вручную. Т.е. весь процесс вывода, формирования и заполнения отчета вам необходимо реализовывать самостоятельно.

Как и в других статьях, будем использовать данные из демоверсии BAS Управління торгівлею 3.2

Создание обычных отчетов

Для примера создадим отчет по остаткам товаров на складах. Для простоты создания и отладки первоначально создадим отчет в виде внешней обработки. Нажимаем Файл - Новий - Зовнішній звіт.

Обычные отчеты

Для запуска отчета создадим форму с именем "ФормаОтчета", на которой в свою очередь создадим команду "Сформировать" с действием "Создать на клиенте и процедуру на сервере" а также создадим реквизит "ТабДок" с типом Табличный документ, он нам понадобится для вывода отчета на форму. Поместим команду и реквизит на форму.

Обычный отчет

Обычный отчет

Следующим этапом создаем макет с типом "Табличный документ"

Обычный отчет

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

Обычный отчет

 

Предварительная подготовка окончена, перейдем к получению данных и созданию самого отчета.

В Процедуре СформироватьНаСервере получаем наш созданный Макет. Если нашу обработку захотим встроить в конфигурацию, то получние макета следует использовать из закомментированной строки.

Обычный отчет

Сделаем запрос к регистру накопления «ТоварыНаСкладахОстатки». Воспользуемся конструктором с обработкой результата и укажем, что нам нужно не просто получить результат, а вывести его в табличный документ. 

Далее получаем нужные области и заполняем табличный документ ТабДок данными отчета.

Вывод результата отчета на таб поле

Если посмотреть весь текст модуля, то можно заметить, что код очень напоминает печатные формы. Теперь удостоверьтесь в режиме предприятия, что все работает.

Обычные отчеты

Теперь давайте усложним отчет. В данном виде отчет выводит остатки только на текущую дату. Добавим возможность выбора даты.

Создаем новый реквизит "ДатаОстатков" с типом "Дата"

Обычные отчеты

Поместим этот реквизит на форму.

Обычные отчеты

Следующим шагом мы должны изменить наш запрос, добавив в него параметр ДатаОстатков. Вызываем конструктор запроса и в параметрах виртуальной таблицы добавляем период &ДатаОстатков.

Обычные отчеты

Проверяем, в запросе появился наш параметр, теперь добавим передачу из реквизита данных в запрос.

Обычные отчеты

Небольшое пояснение к коду. В переменную "Выбранная дата" мы добавили условие в соотвествии с котороым, если значение ДатаОстатков заполнено, то берем его значение на конец дня и добавляем 1 секунду, для корректности результата, если значение не заполнено, то берем пустую дату, как это было ранее. Проверяем в Предприятии, дата выбирается, отчет формируется с учетом выбранной даты.

Обычные отчеты

Как мы видим, в данном виде отчетов каждую настройку, структуру, внешний вид приходится дорабатывать в конфигураторе. Отчет в свою очередь имеет жесткую структуру, что делает его не всегда удобным.

Отчеты с использованием СКД

Теперь рассмотрим более прогрессивный вид отчетов - это отчеты созданные с использованием СКД.

Для примера создадим аналогичный отчет и рассмотрим его преимущества по сравнению с обычными отчетами. Создаем внешний отчет без реквизитов, форм, макетов и т.д., нажимаем кнопку "Відкрити схему компоновки даних"

Отчет СКД

Отчет СКД

В конструкторе запросов создаем максимально простой запрос, в котором выводим из регистра накопления ТоварыНа Складах.Остатки Номенклатуру, склад, количество:

Отчет СКДОтчет СКД

Для итогов суммируем количество.

Делаем группировку по полю Склад

Отчет СКД

Добавляем возможность для пользователя, если необходимо указывать дату.

Отчет СКД

Наш отчет готов. Запускам обработку, проверяем результат

Отчет СКД

Отчет похож на предыдущий, за исключением другой сортировки складов, отсутствия поля Артикул и выбора даты.

На создание отчета мы потратили намного меньше времени, не создавали макет, кнопки, не писали ни строчки кода.

Встраиваем наш отчет в конфигурацию, не забывая первый раз запустить базу с настройкой /С ЗапуститьОбновлениеИнформационной базы

Отчет СКД

Попробуем при помощи настроек добавить дату. При создании отчета мы предусмотрели такую возможность, но оставили настройку не активной. Заходим в правом верхнем углу в Ще - Інше - Змінити варіант звіту

Отчет СКД

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

Отчет СКД 

Следующим шагом проверяем что получилось и сохраняем наши настройки нажав на кнопку "Варіанти звіту"

Отчет СКД

В результате на форме отчета появляется поле с выбором даты и при открытии настройки дата всегда будет заполнена значением "Початок тиждня".

Отчет СКД

Посмотрим что еще можно сделать при помощи настроек. В прошлом отчете у нас было поле Артикул, добавим его, а также попробуем расположить склады в колонках, так удобнее анализировать информацию. Опять заходим в Ще - Інше - Змінити варіант звіту, Переходим в верхнее поле "Структура звіту", убираем все настройки и добавляем "Нова таблиця" 

Отчет СКД

 

 В Рядках добавляем поле Товар, а в Колонки - Склад. Во вкладке "Поля" из "Доступні поля" добавляем "Артикул". В "Додаткових настройках" "Розташування реквізитів" - окремо для того чтобы ариткул был в отдельной колонке, а не вместе с номенклатурой.

Отчет СКД

Отчет СКД

Сохраняем изменения, создаем новую настройку, формируем отчет. Получаем артикул в отдельной колонке и склады в столбцах.

Отчет СКД

Кроме табличных данных отчет можно настроить и сформировать в виде диаграммы. Заходим в настройки, удаляем из Структуры таблицу и добавляем "Діаграму", а в "Додаткових настройках" "Тип діаграми" - "Кругова", "Серії" - Склад.

Отчет СКД

В результате получаем круговую диаграмму с данными по складам.

Отчет СКД

Таблицу можно было бы не удалять, в таком случае, в отчете сформировалось бы два объекта - таблица и диаграмма.

Подводя можно сказать что отчеты с применением СКД проще в построении и обладают большими возможностями по настройке пользователями. Дополнительно по работе с отчетами можно прочитать в нашей статье Отчеты СКД в BAS

Так же, наша компания проводит обучение по курсам:

 

 Обучение проводится в вечернее время, что позволит вам не отрываться от работы или обучения, практикующим программистом нашей компании.

Если у вас остались вопросы, Вы всегда можете обратиться к нашим аналитикам по телефонам:
(093) 090-70-20
(095) 090-70-20
(068) 090-70-20

Комментарии
Пока нет комментариев
Написать комментарий

Свяжитесь с нами

Если вы хотите получить больше информации, заполните эту форму. Мы свяжемся с вами в ближайшее время.

(095) 090-70-20 (068) 090-70-20 (093) 090-70-20 info@finsoft.ua