Просмотр Исходного

Для создания отчета через конструктор отчетов необходимо:

1. Зайти в АСР менеджере "Отчеты \-> Конструктор отчетов"

!1.png|border=1!

2. Добавить новый отчет кнопкой "+" справа ("-" удаляет выбранный отчет)
3. Задать название отчета и текст запроса, который вы можете уточнить у тех.поддержки (должен начинаться со слова "select").

!Снимок-Отчет.png|border=1!

4. Также есть возможность настроить привилегии доступа для разных типов администраторов.

 Для вывода отчета достаточно выбрать нужный и нажать кнопку "Запросить".  

5. Начиная с версии {color:#000000}{*}3.9.6 484{*}{color} {color:#000000}есть возможность выгрузить полученный отчет в Excel.{color} {color:#ff0000}Работает только под системой Windows\!{color}
 
!werwer.png|border=1!


{color:#e00000}{*}Важно:*{color}{color:#ff0000}* *{color}Если у вас не выводится отчет при нажатии на кнопку запросить(и она впадает при наведении курсора) вероятнее всего у вас стоит неверный пароль для пользователя SYSDBA. Паролем для пользователя SYSDBA являются первые 8 символов от пароля локальной консоли (или меньше, если пароль меньше восьми символов)

h3. Примеры:


*Пример 1.* 

Задача: Выгрузить список всех доступных телефонов абонентов в формате (порядковый номер, логин абонента, номер телефона)

Запрос: select id, login, SMS from users where DELETED=0 and sms is not null

*Пример 2.* 

Задача: Выгрузить список ФИО абонентов и их баланс на текущий момент

Запрос:&nbsp;select &nbsp;identify as "FIO", (DEBIT + OSTATOK - CREDIT)/10000000000.00 as "BALANCE" from useid<100000 and deleted=0 and end_user=1'


*Пример 3.&nbsp;*

Задача:&nbsp;Выгрузить список всех доступных телефонов абонентов, у которых баланс меньше либо равен нулю.

Запрос:&nbsp; select SMS from users where (DEBIT + OSTATOK - CREDIT)<=0 and DELETED=0 and SMS is not null


*Пример 4.*&nbsp;

Задача: Выгрузить список всех доступных МАС-адресов абонентов, использующих услугу IPTV с известным id.

Запрос:&nbsp; select mac from users join users_usluga on users_usluga.user_id = users.id where users_usluga.usluga_id = <id услуги> and users.mac is not null and users.mac \!= ''

*Пример отчетов по VOIP.*
{code:lang=sql|title=Журнал определенных звонков за текущий месяц}select SRC as "Номер абонента",
DST as "Направление звонка",
S_TIME as "Начало звонка",
E_TIME as "Окончание звонка",
DURATION as "Общая длительность",
BILL_SEC as "Платное время",
CHAN,
BILLED as "Обработан",
USER_ID as "Ид пользователя"
from VOIP_LOG
where USER_ID is not null and extract(month from E_TIME) = extract(month from current_timestamp) and extract(year from E_TIME) = extract(year from current_timestamp)
order by E_TIME desc{code}
{code:lang=sql|title=Журнал неопределенных звонков за текущий месяц}select SRC as "Номер абонента",
DST as "Направление звонка",
S_TIME as "Начало звонка",
E_TIME as "Окончание звонка",
DURATION as "Общая длительность",
BILL_SEC as "Платное время",
CHAN,
BILLED as "Обработан",
USER_ID as "Ид пользователя"
from VOIP_LOG
where USER_ID is null and extract(month from E_TIME) = extract(month from current_timestamp) and extract(year from E_TIME) = extract(year from current_timestamp)
order by E_TIME desc{code}





{code:lang=sql|title=VOIP Абоненты со статусом}select U.IDENTIFY as "Наименование",
UU.SIP_ID as "Номер",
U.ENABLED as "1-Включен/0-Выключен"
from USERS_USLUGA UU
left join USERS U on UU.USER_ID = U.ID
where UU.SYSTEM_TYPE = 5
order by U.ID {code}
*Пример 5.*


Задача: Выгрузить ФИО и Адрес всех абонентов. у которых в качестве nas_ip указан адрес 172.16.1.177 {color:#ff0000}(поле "Адрес" должно быть задано, иначе в выборку абонент не попадет){color}:

Запрос:&nbsp;select u.identify as "FIO", av.ATTRIBUTE_VALUE as "Address" from users u left outer join attribute_values av on av.user_id=u.id left outer join users_radiusauth ur on ur.user_id=u.id where av.attribute_id=3 and &nbsp;uf_ip2string(ur.nas_ip_address)='172.16.1.177'"&nbsp;


*Пример 6.*


Задача: Выгрузить id, должность, тариф, ФИО, дата внесения.

Запрос:&nbsp;select u.id,av.attribute_value, u.tariff_id_cache, u.identify, u.create_date from users u left join attribute_values av on av.user_id=u.id where (av.attribute_id=19 or av.attribute_id is NULL) order by u.create_date,u.tariff_id_cache

*Пример 7.*


Задача:&nbsp;Выгрузить id, должность, тариф, ФИО, дата внесения за заданный период с 21.12.2012 по 25.12.2012&nbsp;{color:#ff0000}(поле "Должность" должно быть задано, иначе в выборку абонент не попадет){color}:

Запрос:&nbsp;select u.id, av.attribute_value, u.tariff_id_cache, u.identify, u.create_date from users u left join attribute_values av on av.user_id=u.id where av.attribute_id=19 and (u.create_date between '2012-12-21' and '2012-12-25') order by u.create_date,u.tariff_id_cache

*Пример 8.*

Задача: Получить, соответствующие пользователям, коды 1С из биллинга.
{code:lang=sql|title=1С коды}select U.ID as "Номер",
U.IDENTIFY as "Наименование",
U.CODE1C "Код синхронизации",
U.SYNC1C as "1-синхронизирован/0-несинхронизирован"
from USERS U
where U.END_USER = 1{code}

*Пример 9.*

Задача:&nbsp;Выгрузить id, финансовый договор, ФИО, расход в заданный период с 01.11.2012 по 25.11.2012 (Для закрытого периода)

Запрос:&nbsp;select U.ID,U.CONTRACT_NUMBER,U.IDENTIFY,sum(FO.OP_SUMMA)/10000000000.00 from USERS U left join FINANCE_OPERATIONS FO on U.ID = FO.USER_ID where (FO.OP_TYPE <>2 and FO.OP_TYPE <>3) and (FO.OP_DATE between '2012-11-01' and '2012-11-30') group by U.ID, U.CONTRACT_NUMBER, U.IDENTIFY

*Пример 10.*

Задача:&nbsp;Выгрузить id, финансовый договор, ФИО, расход за текущий период

Запрос:&nbsp;select id, contract_number, identify, credit/10000000000.00 from users where end_user=1 and id<100000

=====
Отчет
Отчеты