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.