Comandos para classificação abc, Pareto

Citação de Kindrazki em 28 de dezembro de 2016, 17:26Comandos para classificação abc, Pareto
Script:
[code]
Select
trim(e.nome)||' - '||cast(e.idempresa as varchar(10)) as empresa
,trim(p.razaosocial)||' - '||trim(p.idpessoa) as fornecedor
,pg.datavencimento as datavencimento
,sum(pg.valorsaldopendente) as valor
,cast(0 as numeric(12,2)) as percentual
,cast(0 as numeric(12,2)) acumulado
,'' as classabc
,1 as linha
From
contaspagar pg
inner join empresa e on (e.idempresa = pg.idempresa)
inner join pessoa p on (p.idpessoa = pg.idpessoa)
Where
coalesce(pg.valorsaldopendente,0) <> 0
and pg.datavencimento between '$c{DTINICIAL}' and '$c{DTFINAL}'
Group by
e.nome
,e.idempresa
,p.razaosocial
,p.idpessoa
,pg.datavencimento
Order by
sum(pg.valorsaldopendente) desc
sql_var(sqlContasPagar);#########
# Calcula Pareto (abc)
#########set run = ""+bdo.util.DataListUtil.columnPercentualFromTotal(execScript.getDataList('sqlContasPagar'), 'valor', 'percentual');
set run = ""+bdo.util.DataListUtil.columnAccumulate(execScript.getDataList('sqlContasPagar'), 'percentual', 'acumulado');
set run = ""+bdo.util.DataListUtil.columnClassABC(execScript.getDataList('sqlContasPagar'), 'acumulado', 'classabc', $v{classelogica});
set run = ""+bdo.util.DataListUtil.resumoClassABC(execScript, execScript.getDataList('sqlContasPagar'), 'percentual', 'classabc',
'resumoclassabc', 'resumoperc', 'resumopercitens', 'resumonumitens', 'resumopercabc',
'resumo', $v{classelogica});[/code]
[code]
Script de Notificação:
$include{script-notif-descricao, "Resumo Classificação Pareto"}include@table -> Classe -> $c{resumoclassabc[a]} c;
% -> $c{resumoperc[a]"dec:###,###,###,##0.00"} r;
Qtde <br> Fornecedores -> $c{resumonumitens[a]} r;
table@
[/code]
Comandos para classificação abc, Pareto
Script:
[code]
Select
trim(e.nome)||' - '||cast(e.idempresa as varchar(10)) as empresa
,trim(p.razaosocial)||' - '||trim(p.idpessoa) as fornecedor
,pg.datavencimento as datavencimento
,sum(pg.valorsaldopendente) as valor
,cast(0 as numeric(12,2)) as percentual
,cast(0 as numeric(12,2)) acumulado
,'' as classabc
,1 as linha
From
contaspagar pg
inner join empresa e on (e.idempresa = pg.idempresa)
inner join pessoa p on (p.idpessoa = pg.idpessoa)
Where
coalesce(pg.valorsaldopendente,0) <> 0
and pg.datavencimento between '$c{DTINICIAL}' and '$c{DTFINAL}'
Group by
e.nome
,e.idempresa
,p.razaosocial
,p.idpessoa
,pg.datavencimento
Order by
sum(pg.valorsaldopendente) desc
sql_var(sqlContasPagar);
#########
# Calcula Pareto (abc)
#########
set run = ""+bdo.util.DataListUtil.columnPercentualFromTotal(execScript.getDataList('sqlContasPagar'), 'valor', 'percentual');
set run = ""+bdo.util.DataListUtil.columnAccumulate(execScript.getDataList('sqlContasPagar'), 'percentual', 'acumulado');
set run = ""+bdo.util.DataListUtil.columnClassABC(execScript.getDataList('sqlContasPagar'), 'acumulado', 'classabc', $v{classelogica});
set run = ""+bdo.util.DataListUtil.resumoClassABC(execScript, execScript.getDataList('sqlContasPagar'), 'percentual', 'classabc',
'resumoclassabc', 'resumoperc', 'resumopercitens', 'resumonumitens', 'resumopercabc',
'resumo', $v{classelogica});
[/code]
[code]
Script de Notificação:
$include{script-notif-descricao, "Resumo Classificação Pareto"}include
@table -> Classe -> $c{resumoclassabc[a]} c;
% -> $c{resumoperc[a]"dec:###,###,###,##0.00"} r;
Qtde <br> Fornecedores -> $c{resumonumitens[a]} r;
table@
[/code]