Valor INSS; Valor Pensao; Valor IRRF; Valor ResultCalc; Valor i; Valor BaseIR; Valor DedLegal; Valor BasePensao; Valor BaseIRRF; Valor Reducao; Valor Parcela; Valor FatorCorr; /* Bases de Pensao e IRRF - Quando as bases forem distintas, criar duas bases */ BasePensao = BC(XXX); BaseIRRF = BC(XXX); /* Rubricas de INSS da folha mensal */ INSS = VALEVE(998)+ VALEVE(821) + valeve(826) - VALEVE(836); /* Definicao do Fator de Correcao e Parcela */ FatorCorr = 0.133145; Parcela = 7350.00 * FatorCorr; /*CALCULO DEDUCAO LEGAL*/ PARA i DE 1 ATE 2; ResultCalc = Pensao; BaseIR = BaseIRRF - INSS - (DESCDEP* NDEP)- ResultCalc; IRRF = ((BaseIR) * (TAXAIRRF(BaseIR) / 100)) - DEDIRRF(BaseIR); /* APLICACAO DA REDUCAO CONFORME FAIXA DA BASE IRRF */ SE (BaseIRRF <= 5000.00); Reducao = 312.89; FIMSE; SE (BaseIRRF >= 5000.01) E (BaseIRRF <= 7350.00); Reducao = Parcela - (FatorCorr * BaseIRRF); FIMSE; SE (BaseIRRF >= 7350.01); Reducao = 0; FIMSE; /* Subtrai a reducao do IRRF */ IRRF = IRRF - Reducao; /* Se IRRF negativo, considera zero */ SE (IRRF < 0); IRRF = 0; FIMSE; Pensao = (BasePensao - INSS - IRRF) * (VALVAR(0) / 100); SE (Pensao == ResultCalc); i = 2; SENAO; i = 1; FIMSE; FIMPARA; SE(TIPODEDUIRRF == 1);/*DEDUCAO LEGAL*/ VCALC = Pensao; VINF = VALVAR(0); FIMSE; SE(TIPODEDUIRRF == 2);/*DEDUCAO SIMPLIFICADA*/ /* CALCULO DEDUCAO SIMPLIFICADA*/ IRRF = BaseIRRF - DEDSIMPIRRF; IRRF = (IRRF * (TAXAIRRF(IRRF) / 100)) - DEDIRRF(IRRF); /* APLICACAO DA REDUCAO CONFORME FAIXA DA BASE IRRF */ SE (BaseIRRF <= 5000.00); Reducao = 312.89; FIMSE; SE (BaseIRRF >= 5000.01) E (BaseIRRF <= 7350.00); Reducao = Parcela - (FatorCorr * BaseIRRF); FIMSE; SE (BaseIRRF >= 7350.01); Reducao = 0; FIMSE; /* Subtrai a reducao do IRRF */ IRRF = IRRF - Reducao; /* Se IRRF negativo, considera zero */ SE (IRRF < 0); IRRF = 0; FIMSE; Pensao = (BasePensao - INSS - IRRF) * (VALVAR(0) / 100); VCALC = Pensao; VINF = VALVAR(0); FIMSE; SE(TIPODEDUIRRF == 3);/*FAVORAVEL*/ DedLegal = INSS + Pensao + (DESCDEP* NDEP); SE (DedLegal > DEDSIMPIRRF); VCALC = Pensao; VINF = VALVAR(0); SENAO; /*CALCULO DEDUCAO SIMPLIFICADA*/ IRRF = BaseIRRF - DEDSIMPIRRF; IRRF = (IRRF * (TAXAIRRF(IRRF) / 100)) - DEDIRRF(IRRF); /* APLICACAO DA REDUCAO CONFORME FAIXA DA BASE IRRF */ SE (BaseIRRF <= 5000.00); Reducao = 312.89; FIMSE; SE (BaseIRRF >= 5000.01) E (BaseIRRF <= 7350.00); Reducao = Parcela - (FatorCorr * BaseIRRF); FIMSE; SE (BaseIRRF >= 7350.01); Reducao = 0; FIMSE; /* Subtrai a reducao do IRRF */ IRRF = IRRF - Reducao; /* Se IRRF negativo, considera zero */ SE (IRRF < 0); IRRF = 0; FIMSE; Pensao = (BasePensao - INSS - IRRF) * (VALVAR(0) / 100); VCALC = Pensao; VINF = VALVAR(0); FIMSE; FIMSE;