Конструктор отчетов

Skip to end of metadata
Go to start of metadata
Вы просматриваете старую версию данной страницы. Смотрите текущую версию. Сравнить с текущим  |   просмотр истории страницы

Описание конструктора отчетов

Конструктор отчетов позволяет делать запросы напрямую к БД. Описание ограничений, возможностей и синтаксиса используемого диалекта SQL Вы можете найти в документации Firebird 2.1.

  • Конструктор отчетов находится на вкладке "Отчеты" в основном меню биллинга



  • Отчеты разбиваются на группы. Не относящиеся ни к одной попадают в группу "Не определено". Группы настраиваются в справочниках:

Есть готовые отчеты, также можно создать свой отчет.

Отличительная особенность отчета состоит в том, что можно указывать параметры. Если в настройках указать параметр (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]$'
  • $ - флаг отмечает обязательную переменную

Выполнение отчёта из консоли

Для того, чтобы запустить выполнение отчета из консоли, необходимо:
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 Разрешать подключение обещанного платежа только один раз в текущий месяц;

Примеры

  1. Список абонентов, подключенных к NAS с ip 172.16.0.6 в формате id, фио, номер телефона
    select UR.user_id as ID,
           U.identify as FIO,
           AV.attribute_value as TELEFON
    from users_radiusauth UR
    left join USERS U on U.id=UR.user_id
    left join ATTRIBUTE_VALUES AV on AV.user_id=UR.user_id and AV.ATTRIBUTE_ID=1
    where UF_IP2STRING(UR.NAS_IP_ADDRESS)='172.16.0.6'
    order by U.identify
    
  2. Список абонентов, оплативших через платежную систему "Qiwiwallet" в формате логин, ФИО, сумма, дата
    select LOGIN_IN as LOGIN,
           USER_NAME_OUT as FIO,
           SUMMA_IN as SUMMA,
           OPERATOR_DATE_IN as DATA
    from PAY_LOG
    where MSG_OUT='ACCEPTED' and ACT_IN='PAY' and PAY_OPERATOR='Qiwiwallet'
    order by USER_NAME_OUT
    
Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.