Bom Dia Caros Amigos da Comunidade,

Estou com um grande problema para gerar os Balancete da empresa, quando coloco gerar, ele chega a levar um dia inteiro pra gerar o relatório de um mês, preciso de uma luz, e ver por onde começa pra poder diminuir esse tempo.

Segue Função do Balancete.

--Function: adempiere.acctbalance(numeric, numeric, numeric)

-- DROP FUNCTION adempiere.acctbalance(numeric, numeric, numeric);

CREATE OR REPLACE FUNCTION adempiere.acctbalance(
    p_account_id numeric,
    p_amtdr numeric,
    p_amtcr numeric)
  RETURNS numeric AS
$BODY$
DECLARE
    v_balance    NUMERIC;
    v_AccountType   C_ElementValue.AccountType%TYPE;
        v_AccountSign   C_ElementValue.AccountSign%TYPE;

BEGIN
        v_balance := p_AmtDr - p_AmtCr;
        --
        IF (p_Account_ID > 0) THEN
            SELECT AccountType, AccountSign
              INTO v_AccountType, v_AccountSign
            FROM C_ElementValue
            WHERE C_ElementValue_ID=p_Account_ID;
-- DBMS_OUTPUT.PUT_LINE('Type=' || v_AccountType || ' - Sign=' || v_AccountSign);
            --  Natural Account Sign
            IF (v_AccountSign='N') THEN
                IF (v_AccountType IN ('A','E')) THEN
                    v_AccountSign := 'D';
                ELSE
                    v_AccountSign := 'C';
                END IF;
-- DBMS_OUTPUT.PUT_LINE('Type=' || v_AccountType || ' - Sign=' || v_AccountSign);
            END IF;

        /* COMENTADO POR PABLO - CORREÇÃO DE SALDOS DO BALANCETE
        --  Debit Balance
            IF (v_AccountSign = 'C') THEN
                v_balance := p_AmtCr - p_AmtDr;
            END IF;
        */


        END IF;
        --
        RETURN v_balance;
    EXCEPTION WHEN OTHERS THEN
--     In case Acct not found
        RETURN  p_AmtDr - p_AmtCr;

END;

$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION adempiere.acctbalance(numeric, numeric, numeric)
  OWNER TO adempiere;

--
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a