Для создания отчета через конструктор отчетов необходимо:
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.*
Задача: Выгрузить список ФИО абонентов и их баланс на текущий момент
Запрос: select identify as "FIO", (DEBIT + OSTATOK - CREDIT)/10000000000.00 as "BALANCE" from useid<100000 and deleted=0 and end_user=1'
*Пример 3. *
Задача: Выгрузить список всех доступных телефонов абонентов, у которых баланс меньше либо равен нулю.
Запрос: select SMS from users where (DEBIT + OSTATOK - CREDIT)<=0 and DELETED=0 and SMS is not null
*Пример 4.*
Задача: Выгрузить список всех доступных МАС-адресов абонентов, использующих услугу IPTV с известным id.
Запрос: 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}:
Запрос: 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 uf_ip2string(ur.nas_ip_address)='172.16.1.177'"
*Пример 6.*
Задача: Выгрузить id, должность, тариф, ФИО, дата внесения.
Запрос: 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.*
Задача: Выгрузить id, должность, тариф, ФИО, дата внесения за заданный период с 21.12.2012 по 25.12.2012 {color:#ff0000}(поле "Должность" должно быть задано, иначе в выборку абонент не попадет){color}:
Запрос: 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.*
Задача: Выгрузить id, финансовый договор, ФИО, расход в заданный период с 01.11.2012 по 25.11.2012 (Для закрытого периода)
Запрос: 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.*
Задача: Выгрузить id, финансовый договор, ФИО, расход за текущий период
Запрос: select id, contract_number, identify, credit/10000000000.00 from users where end_user=1 and id<100000
=====
Отчет
Отчеты
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.*
Задача: Выгрузить список ФИО абонентов и их баланс на текущий момент
Запрос: select identify as "FIO", (DEBIT + OSTATOK - CREDIT)/10000000000.00 as "BALANCE" from useid<100000 and deleted=0 and end_user=1'
*Пример 3. *
Задача: Выгрузить список всех доступных телефонов абонентов, у которых баланс меньше либо равен нулю.
Запрос: select SMS from users where (DEBIT + OSTATOK - CREDIT)<=0 and DELETED=0 and SMS is not null
*Пример 4.*
Задача: Выгрузить список всех доступных МАС-адресов абонентов, использующих услугу IPTV с известным id.
Запрос: 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}:
Запрос: 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 uf_ip2string(ur.nas_ip_address)='172.16.1.177'"
*Пример 6.*
Задача: Выгрузить id, должность, тариф, ФИО, дата внесения.
Запрос: 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.*
Задача: Выгрузить id, должность, тариф, ФИО, дата внесения за заданный период с 21.12.2012 по 25.12.2012 {color:#ff0000}(поле "Должность" должно быть задано, иначе в выборку абонент не попадет){color}:
Запрос: 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.*
Задача: Выгрузить id, финансовый договор, ФИО, расход в заданный период с 01.11.2012 по 25.11.2012 (Для закрытого периода)
Запрос: 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.*
Задача: Выгрузить id, финансовый договор, ФИО, расход за текущий период
Запрос: select id, contract_number, identify, credit/10000000000.00 from users where end_user=1 and id<100000
=====
Отчет
Отчеты