Конструктор отчетов. Отчёт

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

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

просмотр истории страницы
{code}
SET TERM ^ ;
create procedure REP_FINOPER_LAST1 (
OP_TYPE_IN integer)
returns (
from FINANCE_OPERATIONS
where OP_ID = :TMP_OP_ID
and DESCR not like '%Обещанный платеж%'
order by OP_ID desc
into :OP_ID,
suspend;
end

end^
SET TERM ; ^
*Пример 94. Дата последнего платежа всех пользователей в группе*
{code}select distinct
select distinct
users.IDENTIFY as "ФИО",
users.login as "Логин",
users.sms as "Телефон",
AV.ATTRIBUTE_VALUE as "Адрес",
max(FINANCE_OPERATIONS.OP_DATE) as "Дата последнего платежа"
from users
on users.id=FINANCE_OPERATIONS.USER_ID
and FINANCE_OPERATIONS.OP_TYPE=2
left join ATTRIBUTE_VALUES AV on ( Users.ID = AV.USER_ID and AV.ATTRIBUTE_ID = 3)
where users.parid=8
and users.deleted=0
group by users.IDENTIFY, users.sms, users.login,AV.ATTRIBUTE_VALUE
{code}

U.parid in (select GROUP_ID from GLN_RECURSIVE_GROUP_WALK(654))
{code}
*Пример 102. Отчёт по платежам за выбранный период в формате "id платежа - номер договора - сумма платежа"*
{code}
select
fo.OP_ID,
u.contract_number,
sum(FO.OP_SUMMA)/10000000000.00 as "Приход"
from users u
left join tarif_plan tp on u.TARIFF_ID_CACHE=tp.plan_id
left join finance_operations fo on u.id=fo.USER_ID
where fo.op_type=2 and (fo.OP_DATE between '2015-01-01' and '2018-07-01')
group by fo.OP_ID,U.CONTRACT_NUMBER
{code}

*Пример 103. Отчёт который показывает абонентов, у которых финансовых операций с типом расход больше, чем 1 за один и тот же день.*
{code}
select OP_DATE,
user_id,
count(*)
from finance_operations
where op_type=1
group by OP_DATE,user_id
having count(*)>1
{code}