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

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

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

просмотр истории страницы

Прмер:
{code}
{code}BILL_DATE between ':1-Начало|date$' and ':2-Конец|date$ 23:59:59'{code}
{code}

h3. Выбор периодов

Примеры:
{code:title=Единственный элемент}
{code:lang=sql}Homes.City = ':Город|choices[Москва^]Москва^[Волгоград^]Волгоград]$'
Abonents.Id = ':Абонент|choices[35^]Михаил^[40^]Володя]$'
{code}
{code:title=Нескольких элементов одновременно}
owner_id in (:Администратор|choices[33^]root^[1005^]Василий^[1007,1005^]Василий или Михаил]$)
Abonents.Id = ':Абонент|choices[35^]Михаил^[40^]Володя]$'{code}
v_type_id in (:Администратор|choices[1^]Входящий^[2^]Исходящий^[1,2^]Входящий и Исходящий]$)
{code}

h3. Список вариантов из справочников биллинга
Тот же отчет, выводящий абонентскую плату, с возможностью выбора группы
{code}
select SELECT '#FILESUM' || ' ' || round(sum(abon_plata.summa), 2)
from abonents as a
FROM GLN_RECURSIVE_GROUP_WALK(':Группа|select[Abonents,is_folder=1]$') grgw
INNER JOIN abonents as a ON a.parent_id=grgw.group_id
right join homes as h on a.home_id=h.id
left join
where company=0
and is_folder=0
and a.parent_id in (SELECT group_id FROM GLN_RECURSIVE_GROUP_WALK(':Группа|select[Abonents,is_folder=1]$'))
UNION ALL
select first 1 '#TYPE 7' from users
UNION ALL
select a.name || ';' || coalesce(h.city,'') || ',' || coalesce(h.street,'') || ',' || coalesce(h.s_number,'') || ',' || a.A_HOME_NUMBER||';'||a.account_id||';'||abon_plata.summa|| ';;;;'
from abonents as a
FROM GLN_RECURSIVE_GROUP_WALK(':Группа|select[Abonents,is_folder=1]$') grgw2
INNER JOIN abonents as a ON a.parent_id=grgw2.group_id
right join homes as h on a.home_id=h.id

where company=0
and is_folder=0
and a.parent_id in (SELECT group_id FROM GLN_RECURSIVE_GROUP_WALK(':Группа|select[Abonents,is_folder=1]$'))
{code}
Тот же отчёт, выводящий дополнительные поля-константы и номер телефона
order by A.NAME
{code}
# h5. История использования логина
{code}
select
uf_ip2string(ip) as IP,abonent_id,time_changed,a.name
from
users_history uh
join
abonents a
on uh.abonent_id = a.id
where
LOGIN_UPPER like upper(':Логин$')
{code}

h2. Услуги
phone = (select id from PHONE_PULL_CHACHE where PHONE=':Введите номер$')
{code}
# h5. История использования логина.
{code}
select
uf_ip2string(ip) as IP,abonent_id,time_changed,a.name
from
users_history uh
join
abonents a
on uh.abonent_id = a.id
where
LOGIN_UPPER like upper(':Логин$')
{code}
# h5. Отчёт по звонкам учтенным для взаиморасчетов между операторами
{code}select
ppc.phone_pull_id=':ID пула$'
order by
pp.id, ppc.phone
{code}

# h5. Отчет отбирает абонентов по каталогу и текущему статусу
{code}select ab.name as "ФИО", ab.contract_number as "Номер договора", s.name as "Статус"
from abonents ab
from GLN_RECURSIVE_GROUP_WALK(':Абонент|select[abonents,is_folder=1]$') grgw
join abonents ab on ab.parent_id=grgw.group_id
left join objects_status os on os.object_id=ab.id
left join status s on s.id = os.status
and ab.id>0
and ab.deleted=0
and ab.parent_id in (SELECT group_id FROM GLN_RECURSIVE_GROUP_WALK(':Абонент|select[abonents,is_folder=1]$' )){code}
{code}
# h5. Отчет: выводить ответственного, кто включил опцию "Не отключать при превышении порога".
{code}