Генерация отчетов в системе Бипиум

Генерация отчетов в системе Бипиум

1. Введение

Генерация отчетов — это сервис, который позволяет автоматизировать формирование отчетов по указанному алгоритму и с учетом указанных фильтров.

2. Принцип работы

При создании новой записи в каталоге «Отчеты» запускается «Сценарий генерации отчета». Далее сценарий собирает данные по заранее заложенному алгоритму и с учетом указанных фильтров, из получившихся данных формируется отчет по заранее заданному шаблону и сохраняется в поле файл карточки отчета в каталоге «Отчеты».

3. Реализация

3.1. Настройка структуры данных

3.1.1. Создание и настройка каталога «Отчеты»

Создайте каталог «Отчеты». Данный каталог является «хранилищем» сгенерированных отчетов, именно здесь они будут храниться. При создании каталога нужно добавить и настроить поля следующим образом:

  • Типы отчетов (связанный каталог). Описание: Данный каталог является «справочником», в котором содержатся все типы шаблонов.

  • Компании (связанный каталог). Описание: Данный каталог является «справочником», в котором содержатся все компании.

  • Услуга (связанный каталог). Описание: Данный каталог является «справочником», в котором содержатся все типы услуг.

  • Статус формирования (статус). Описание: Отражает на какой стадии сейчас находится генерация.

  • Описание ошибки (текст). Описание: Описывает ошибку.

  • Файл (файл). Описание: В данном поле будет хранится сгенерированный отчет.

3.1.2. Создание и настройка каталога «Типы отчетов»

Создайте каталог «Типы отчетов». Данный каталог предназначен для хранения шаблонов отчетов. При создании каталога нужно добавить и настроить поля следующим образом:

  • Название (текст). Описание: Название для типа отчета.

  • Шаблон (файл). Описание: В данном поле указывается шаблон для генерации отчета.

3.1.3. Создание и настройка каталога «Компании»

Создайте каталог «Компании». Данный каталог предназначен для хранения данных о компаниях, которым мы оказываем услуги. При создании каталога нужно добавить и настроить поля следующим образом:

  • Название (текст). Описание: Название для компании.

3.1.4. Создание и настройка каталога «Услуги»

Создайте каталог «Услуги». Данный каталог предназначен для хранения данных о предоставляемых нами услугах. При создании каталога нужно добавить и настроить поля следующим образом:

  • Название (текст). Описание: Название для услуги.

3.1.5. Создание и настройка каталога «Заявки»

Создайте каталог «Заявки». Данный каталог предназначен для хранения всего перечня наших заявок. При создании каталога нужно добавить и настроить поля следующим образом:

  • Дата заявки (дата). Описание: Дата поступления заявки.

  • Статус заявки (статус). Описание: В каком статусе сейчас находится заявка.

  • Компания (связанный каталог). Описание: Данный каталог является «справочником», в котором содержатся все компании.

  • Услуга (связанный каталог). Описание: Данный каталог является «справочником», в котором содержатся все типы услуг.

  • Сумма (число). Описание: Общая сумма оказанных нами услуг.

3.2. Настройка автоматизации

3.2.1. Создание и настройка события

Для создания события нужно зайти в каталог «События» (обычно он находится в отделе Управление). Нажать кнопку Добавить и заполнить карточку события как указано на скриншоте ниже.

Карточка события выглядит следующим образом:

3.2.2. Создание и настройка сценария

Создайте сценарий в каталоге «Сценарии». Данный сценарий предназначен для генерации отчетов. При создании сценария нужно добавить и настроить компоненты следующим образом:

Для того, чтобы реализовать данный сценарий в системе нужно изменить следующие компоненты:

3.2.2.1. Компонент «company && service»

Требуется изменить компонент «company && service»:

В переменных service лежит значение поля «Услуга» из каталога «Отчет».

В переменных company лежит значение поля «Компания» из каталога «Отчет».

3.2.2.2.Компонент «Изменить запись отчета»

Требуется изменить компонент «Изменить запись отчета»:

В значении полей изменить значение 12 на API ID поля «Статус формирования» в каталоге «Отчет», также изменить значение 13 на API ID поля «Описание ошибки» в каталоге «Отчет».

3.2.2.3.Компонент «Найти записи заявок»

Требуется изменить компонент «Найти записи заявок:

В фильтре изменить значения с 5, 4 на API ID полей «Услуга» и «Компания» в каталоге «Заявки».

3.2.2.4.Компонент «Ищем заказчика»

Требуется изменить компонент «Код (javascript)»:

Изменить r.values[ 2 ] на r.values[ id поля «Дата заявки» из каталога «Заявки» ]. Изменить r.values[ 3 ] на r.values[ id поля «Статус заявки» из каталога «Заявки» ].

Изменить r.values[ 4 ] на r.values[ id поля «Компания» из каталога «Заявки» ].

Изменить r.values[ 5 ] на r.values[ id поля «Услуга» из каталога «Заявки» ].

Изменить r.values[ 7 ] на r.values[ id поля «Сумма» из каталога «Заявки» ]

3.2.2.5.Компонент «Изменить запись отчета»

Требуется изменить компонент «Изменить запись отчета»:

В значение полей изменить значения с 12 на API ID поля «Статус формирования» в каталоге «Отчет».

Добавляем созданный сценарий в поле «Выполнить» в карточке события созданного в пункте 3.2.1.

3.2.3 Создание шаблона Отчета

Для создания шаблона нужно создать excel файл следующего вида:

Теперь нужно загрузить его в систему. Для этого необходимо перейти в каталог «Типы отчетов» и создать карточку следующим образом:

4. Тестирование

Тестирование функционала происходит следующим образом. Создаем карточку отчета в каталоге «Отчет»

Заполняем поля «Тип отчета» и «Услуга»

Проверяем сгенерированный документ: