Iandev Smarter Business - Logo Cor
Navegação no fórum
para criar postagens e tópicos.

Comandos para classificação abc, Pareto

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]