--update conta.tint_comprobante set
--id_moneda_act = 3
DO $$DECLARE
r record;
v_registros record;
v_id_config_subtipo_cuenta integer;
v_id_moneda_base integer;
v_id_moneda_act integer;
v_tipo numeric;
v_valor_debe_ma numeric;
v_valor_haber_ma numeric;
v_valor_gasto_ma numeric;
v_valor_recurso_ma numeric;
BEGIN
--actuliza cuenta segun el tipo de cuenta
v_id_moneda_base = param.f_get_moneda_base();
v_id_moneda_act = param.f_get_moneda_actualizacion();
FOR r in (select * from conta.tint_comprobante c ) LOOP
-- v_tipo = param.f_get_tipo_cambio_v2 (v_id_moneda_base, v_id_moneda_act, r.fecha, 'O' );
-- UPDATE conta.tint_comprobante cbt set
-- tipo_cambio_3 = v_tipo
-- where cbt.id_int_comprobante = r.id_int_comprobante;
FOR v_registros in (select * from conta.tint_transaccion it where it.id_int_comprobante = r.id_int_comprobante)LOOP
v_valor_debe_ma = param.f_convertir_moneda (v_id_moneda_base, v_id_moneda_act, v_registros.importe_debe_mb, r.fecha, 'CUS',50, r.tipo_cambio_3, 'no');
v_valor_haber_ma = param.f_convertir_moneda (v_id_moneda_base, v_id_moneda_act, v_registros.importe_haber_mb, r.fecha, 'CUS',50, r.tipo_cambio_3, 'no');
v_valor_gasto_ma = param.f_convertir_moneda (v_id_moneda_base, v_id_moneda_act, v_registros.importe_gasto_mb, r.fecha, 'CUS',50, r.tipo_cambio_3, 'no');
v_valor_recurso_ma = param.f_convertir_moneda (v_id_moneda_base, v_id_moneda_act, v_registros.importe_recurso_mb, r.fecha, 'CUS',50, r.tipo_cambio_3, 'no');
update conta.tint_transaccion t set
tipo_cambio_3 = r.tipo_cambio_3,
id_moneda_act = v_id_moneda_act,
importe_debe_ma = v_valor_debe_ma,
importe_haber_ma = v_valor_haber_ma,
importe_gasto_ma = v_valor_gasto_ma,
importe_recurso_ma = v_valor_recurso_ma
where t.id_int_transaccion = v_registros.id_int_transaccion;
END LOOP;
END LOOP;
END$$;