Для того, чтобы создать отчет, необходимо зайти в веб-интерфейс администратора Carbon Billing 5, раздел Отчеты и выбрать Конструктор отчетов. В открывшемся окне можно будет выбрать одну из вкладок, в которой будут создаваться отчеты. Для создания отчета необходимо выбрать папку и нажать на кнопку Добавить.
Есть готовые отчеты, также можно создать свой отчет.
Отличительная особенность отчета состоит в том, что можно указывать параметры. Если в настройках указать параметр (prm), то при нажатии запустить отчет, можно будет задать параметр. Задать название отчета и текст запроса, который вы можете уточнить у тех.поддержки (должен начинаться со слова "select").
Данные в отчете можно выгрузить в csv.
Параметры полей формы
Переменные, отображаемые в виде формы:
':title|type[params]$'
- : - указывает, что это строка с переменной
- title - заголовок, отображаемый на форме
- | - разделитель заголовка и типа
- type[params] - тип с параметрами:
- date - дата, без параметров, отображает на форме календарь выбора даты
BILL_DATE between ':Начало|date$' and ':Конец|date$'
- choices - список
Homes.City = ':Город|choices[Москва^]Москва^[Волгоград^]Волгоград]$' Abonents.Id = ':Абонент|choices[35^]Михаил^[40^]Володя]$'
- select - список, построенный на основе модели, подобно работе API, параметры содержат модель (обязательно) и фильтры
a.parent_id = ':Группа|select[Abonents,is_folder=1]$' h.id = ':Заявка|select[HDSK]$'
- date - дата, без параметров, отображает на форме календарь выбора даты
- $ - флаг отмечает обязательную переменную
Выполнение отчёта из консоли
Для того, чтобы запустить выполнение отчета из консоли, необходимо:
1) Перейти в контейнер биллинга
chroot /app/asr_billing/
2) Запустить скрипт
python /usr/lib/python2.6/site-packages/jobs_worker/jobs_scripts/make_reports.pyc -r 105
Где 105 - id отчёта.
Информация, выведенная на экран, будет иметь кодировку cp1251
Описание полей
К большенсту полей БД существуют описания. Описание всех полей можно получить выполнив команду sqlexeс "show comments", например:
sqlexec "show comments" | head -n 5
COMMENT ON DOMAIN RAD_ATTRIB IS Radius-attribute;
COMMENT ON COLUMN ABONENTS.ID IS №;
COMMENT ON COLUMN ABONENTS.NAME IS Название/ФИО;
COMMENT ON COLUMN ABONENTS.PARENT_ID IS Группа;
COMMENT ON COLUMN ABONENTS.CONTRACT_NUMBER IS Номер договора;
Поля, отраженные в веб-интерфейсе (настройки абонента, тарифов, услуг и тд) как правило имею описание согласно названию. На примере настроек тарифа, вкладка "Опции", параметры Обещанного платежа:
sqlexec "show comments" | grep "Разрешать подключение обещанного платежа только один раз в текущий месяц" COMMENT ON COLUMN TARIF.PROMISE_PAY_ONLY_THIS_MONTH IS Разрешать подключение обещанного платежа только один раз в текущий месяц;