Corrige campos de quotas em caso de imposto a pagar.
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Sat, 12 Mar 2016 20:24:43 +0000 (17:24 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Sat, 12 Mar 2016 20:48:27 +0000 (17:48 -0300)
Em caso de imposto a pagar, é necessário informar o número e valor das
quotas. No momento, apenas uma quota é suportada.

lib/gera.c

index eac97ea..ab59213 100644 (file)
@@ -182,7 +182,7 @@ static void gera_contribuinte(struct declaracao *dec, FILE *f)
        fprintf(f, "%-13.13s", dec->contribuinte.titulo_eleitor);
        fprintf(f, "%03d", dec->contribuinte.ocupacao_principal);
        fprintf(f, "%02d", dec->contribuinte.natureza_ocupacao);
-       fprintf(f, "0"); /* TODO: qnt quotas */
+       fprintf(f, "%d", dec->pagar ? 1 : 0); /* TODO/FIXME: qnt quotas */
        fprintf(f, "%s", dec->tipo == COMPLETA ? "S" : "N");
        fprintf(f, "%s", dec->retifica ? "S" : "N");
        fprintf(f, "S"); /* GERADO */
@@ -254,8 +254,8 @@ static void gera_totais_simples(struct declaracao *dec, FILE *f)
        fprintf(f, "%013lld", 0); /* TODO: imposto retido Lei 11.033 */
        fprintf(f, "%013lld", dec->restituicao); /* imposto a restituir */
        fprintf(f, "%013lld", dec->pagar); /* imposto pagar */
-       fprintf(f, "%d", 0); /* TODO: quotas */
-       fprintf(f, "%013lld", 0); /* TODO: valor quota */
+       fprintf(f, "%d", dec->pagar ? 1 : 0); /* TODO/FIXME: quotas */
+       fprintf(f, "%013lld", dec->pagar); /* TODO: valor quota */
        fprintf(f, "%013lld", totais_get(dec, "ISENTOS")); /* rendimentos isentos */
        fprintf(f, "%013lld", totais_get(dec, "EXCLUSIVOS")); /* rendimentos tributação exclusiva */
        fprintf(f, "%013lld", dec->conjuge.total); /* TODO: conjuge */
@@ -440,8 +440,8 @@ static void gera_recibodetalhe(struct declaracao *dec, FILE *f)
        fprintf(f, "%013lld", dec->devido); /* Imposto devido */
        fprintf(f, "%013lld", dec->restituicao); /* Imposto a restituir */
        fprintf(f, "%013lld", dec->pagar); /* Imposto a pagar */
-       fprintf(f, "%d", 0); /* TODO: quotas */
-       fprintf(f, "%013lld", 0); /* TODO: valor quota */
+       fprintf(f, "%d", dec->pagar ? 1 : 0); /* TODO/FIXME: quotas */
+       fprintf(f, "%013lld", dec->pagar); /* TODO: valor quota */
        fprintf(f, "%-3.3s", dec->banco ? : "000"); /* numero banco */
        fprintf(f, "%-4.4s", dec->agencia ? : "0000"); /* numero agencia */
        fprintf(f, " "); /* FILLER */