1) Creamos la tabla que guardará los movimientos contables finales, es decir, debito total y credito total para cada cuenta y para cada período.
Crear la tabla como se muestra en este post.
2) Copiamos y ejecutamos la siguiente función PostgreSQL
-- Function: sp_obtener_movimientos_contables()
-- DROP FUNCTION sp_obtener_movimientos_contables();
CREATE OR REPLACE FUNCTION sp_obtener_movimientos_contables()
RETURNS boolean AS
$BODY$
begin
truncate table nic_saldos_finales;
-- Insertar los movimientos totales
drop table if exists tmp_movimientos_totales;
create temporary table tmp_movimientos_totales as
select
f.ad_org_id,
f.c_period_id as id_periodo,
p.periodtype as tipo_periodo,
p.periodno as num_periodo,
p.es_cierre_contable,
f.account_id as id_cuenta,
f.dateacct as fecha_cuenta,
sum(f.amtacctdr)::numeric(20,2) as debito_final,
sum(f.amtacctcr)::numeric(20,2) as credito_final
from fact_acct f
join c_period p
on f.c_period_id = p.c_period_id
where f.ad_client_id = 1000001
and f.ad_table_id = 224
and f.line_id > 0
group by
f.ad_org_id,
f.c_period_id,
p.periodtype,
p.periodno,
p.es_cierre_contable,
f.account_id,
f.dateacct;
insert into nic_saldos_finales
select
coalesce((select max(s.nic_saldos_finales_id) from nic_saldos_finales s), 999999) +
row_number() over(order by mf.id_periodo, mf.id_cuenta),
ev.ad_client_id,
mf.ad_org_id,
ev.isactive,
ev.created,
ev.createdby,
ev.updated,
ev.updatedby,
mf.id_periodo,
mf.tipo_periodo,
mf.num_periodo,
mf.es_cierre_contable,
mf.id_cuenta,
mf.fecha_cuenta,
ev.accounttype,
ev.accountsign,
mf.debito_final,
mf.credito_final
from c_elementvalue ev
join tmp_movimientos_totales mf
on ev.c_elementvalue_id = mf.id_cuenta
where ev.ad_client_id = 1000001
and ev.isactive = 'Y';
return true;
end;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION sp_obtener_movimientos_contables()
OWNER TO adempiere;
3) Lo integramos como un proceso siguiendo los pasos de este post.
Post relacionados:
- iDempiere Official Website Chat
- Ocultar tu ID o Numero Movistar
- The best antivirus for PC
- The best operating system
- Multiplica tu dinero
Blogs relacionados:
- All Christian Musics
- Marimba Cristiana 2014
- Best Violin Music
- All Names Babies
- Nombres para bebes
- FIFA World Cup 2014
No hay comentarios:
Publicar un comentario