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

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (1)

просмотр истории страницы
AND (vl.DST between (':4 Начало пула$') and (':5 Конец пула$'))
{code}

h6. Пример 139. Отчёт по RADIUS-сессиям выбранного абонента: начало, конец, длительность, причина завершения (если завершена), IP.
{code}select
START_TIME "Начало",
END_TIME "Конец",
case
when coalesce(end_reason,'')='' then 'Не было Act-Session-Stop'
when datediff(hour from start_time to end_TIME)>=1 then datediff(hour from start_time to end_TIME) || ' часов'
when datediff(minute from start_time to end_TIME)<1 then 'Меньше минуты'
when datediff(hour from start_time to end_TIME)<1 then datediff(minute from start_time to end_TIME) || ' минут'
end as "Длительность",
coalesce(END_REASON,'Отсутствует') as "Причина",
uf_ip2string(ip) as "IP"
from
radius_sessions
where
abonent_id=':Абонент|select[Abonents]$'
order by
start_time desc{code}

h6. Пример 140. Отчёт заблокированным абонентам: ФИО абонента, дата последней оплаты.
{code}select
abonname as "ФИО",
iif(lastpay is null, 'Никогда не платил',lastpay) as "Последняя оплата"
from

(select
a.name as abonname,
max(fo.op_date) as lastpay
from
abonents a
left join finance_operations fo on a.id=fo.abonent_id and fo.op_type=2
where
a.is_folder=0 and
a.id>4 and
a.deleted=0 and
a.parent_id<>244
group by
a.name)

where
lastpay<=dateadd(month, -2, current_timestamp) or lastpay is null
order by
lastpay,
abonname{code}