From 969691a3144a1578720c188fe64330b3b31d3dd3 Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Fri, 25 Sep 2015 07:47:00 -0300 Subject: [PATCH] =?utf8?q?Calcula=20base=20de=20c=C3=A1lculo=20para=20decl?= =?utf8?q?ara=C3=A7=C3=A3o=20completa.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Como tentamos o cálculo de ambas as declarações, o valor da base de cálculo deve ser calculado separadamente para cada tipo de declaração. --- lib/calcula.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/calcula.c b/lib/calcula.c index 9116868..e571f7b 100644 --- a/lib/calcula.c +++ b/lib/calcula.c @@ -95,7 +95,7 @@ static long long imposto_simples(struct declaracao *dec) td = simples2015; totais_add(dec, "DESCONTO", td); tr -= td; - totais_add(dec, "BASE", tr); + totais_add(dec, "BASESIMPLES", tr); return imposto(tt, tr); } @@ -110,6 +110,7 @@ static long long imposto_completa(struct declaracao *dec) tr = totais_get(dec, "RENDPJ"); td = total_deducao(dec); tr -= td; + totais_add(dec, "BASECOMPLETA", tr); return imposto(tt, tr); } @@ -126,9 +127,11 @@ int calcula(struct declaracao *dec) total_pago(dec); if (dec->tipo != FORCA_SIMPLES && (i_simples > i_completa || dec->tipo == FORCA_COMPLETA)) { + totais_add(dec, "BASE", totais_get(dec, "BASECOMPLETA")); dec->tipo = COMPLETA; dec->devido = i_completa; } else { + totais_add(dec, "BASE", totais_get(dec, "BASESIMPLES")); dec->tipo = SIMPLES; dec->devido = i_simples; } -- 2.20.1