... Для создания отчета через конструктор отчетов необходимо: 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 *Пример 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:
|
Задача: Выгрузить ФИО и Адрес всех абонентов. у которых в качестве 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 or av.attribute_id is NULL) 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
|
Задача: Выгрузить 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 or av.attribute_id is NULL) 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 = 1) and (FO.OP_DATE between '2012-11-01' and '2012-11-25') 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 ===== Отчет Отчеты
|