SimulacaoIMP_Calcular

Esta função tem como objetivo retornar o valor de cada imposto calculado para o título (C.PAGAR) passado por parâmetro e não considera os títulos já liquidados na mesma competência para o mesmo fornecedor.
O cálculo é baseado na data de pagamento (pDatPgt) e na transação de baixa , que deve sempre ser transação de pagamento.
A função não baixa o título , apenas simula sua baixa , isto é necessário porque o cálculo de alguns impostos dependem dos valores já pagos.
Sempre será simulado a baixa do título em sua totalidade ou de seu valor ainda em aberto, considerando o desconto passado pelo parâmetro pVlrDsc.

Sintaxe: Função SimulacaoIMP_Calcular(Numero pCodFil, Alfa pNumTit , Alfa pCodTpt, Numero pCodFor , Numero pDatPgt, Alfa pCodTns, Numero pVlrDsc, Numero end pVlrIns, Numero end pVlrIrf, Numero end pVlrIss, Numero end pVlrOur);

Parâmetros:

Nome Tipo Descrição
pCodFil Numero Filial do Título.
pNumTit Alfa Número do Título.
pCodTpt Alfa Código do tipo de Título.
pCodFor Numero Código do fornecedor do Título.
pDatPgt Numero Data da Baixa.
pCodTns Alfa Transação de Baixa.
pVlrDsc Numero Valor de Desconto.
pVlrIns Numero Retorno do valor de INSS calculado.
pVlrIrf Numero Retorno do valor de IRRF calculado.
pVlrIss Numero Retorno do valor de ISS calculado.
pVlrOur Numero Retorno do valor de Outras Retenções (PIS/Cofins/CSLL/Outras Retenções).

Exemplo: Abaixo é demonstrado como chamar a rotina de simulação de impostos por um relatório.

@-- No evento de pré-seleção do relatório chamar a função de inicialização --@
SimulacaoIMP_Iniciar();
...

@-- No evento "Antes de imprimir" da seção "Detalhe" do relatório chamar a função calcular --@
SimulacaoIMP_Calcular(E501TCP.CODFIL,E501TCP.NUMTIT, E501TCP.CODTPT,E501TCP.CODFOR,EDATPGT,"90550",E501TCP.VLRDSC,
Retorno_VlrIns, Retorno_VlrIrf, Retorno_VlrIss, Retorno_VlrOur);

@-- Repassa aos campos do relatório os valores calculados --@
FvlrIns = Retorno_VlrIns;
FvlrIrf = Retorno_VlrIrf;
FvlrIss = Retorno_VlrIss;
FvlrOur = Retorno_VlrOur;
...

@-- Na seção "Total Geral" por exemplo, chamar a finalização da rotina --@
SimulacaoIMP_Finalizar();

Utilização da Função (dependentes): A função depende que na inicialização do processo seja chamada a rotina "SimulacaoIMP_Inicializar()". 

Observações: Esta rotina pode ser chamada por regra em outras situações, contanto que respeite as exigências expostas acima.

Este artigo ajudou você?