Escreve alguns valores totais já calculados na declaração.
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Wed, 8 Jul 2015 09:48:59 +0000 (09:48 +0000)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Wed, 8 Jul 2015 09:48:59 +0000 (09:48 +0000)
Os valores de totais de rendimentos, imposto retido, pago, devido, e
imposto a pagar e restituir já são calculados, e são impressos nos seus
respectivos campos no arquivo de declaração. Alguns desses valores devem
ser revisados, pois podem corresponder a subtotais, como total de
rendimentos tributáveis ou totais do titular.

gera.c

diff --git a/gera.c b/gera.c
index e17d9dd..a09a96e 100644 (file)
--- a/gera.c
+++ b/gera.c
@@ -65,7 +65,7 @@ static void gera_header(struct declaracao *dec, FILE *f)
        fprintf(f, "0000"); /* TODO: agencia */
        fprintf(f, " "); /* TODO: filler */
        fprintf(f, "00000000"); /* transito julgado, gravado apenas se espolio */
-       fprintf(f, "0000000000000"); /* TODO: imposto a pagar */
+       fprintf(f, "%013lld", dec->pagar); /* imposto a pagar */
        fprintf(f, " "); /* RRA1 */
        fprintf(f, "%-11.11s", ""); /* CPF RRA1 */
        fprintf(f, " "); /* RRA2 */
@@ -114,7 +114,7 @@ static void gera_header(struct declaracao *dec, FILE *f)
 
        /* Mudanças de 2015 */
 
-       fprintf(f, "%02d", dec->contribuinte.natureza_ocupacao); /* TODO: natureza ocupacao */
+       fprintf(f, "%02d", dec->contribuinte.natureza_ocupacao); /* natureza ocupacao */
        fprintf(f, "%-11.11s", ""); /* CPF domestica */
        fprintf(f, "%-11.11s", ""); /* NI domestica */
        fprintf(f, "%-11.11s", ""); /* CPF domestica 2 */
@@ -199,7 +199,7 @@ static void gera_simples(struct declaracao *dec, FILE *f)
        fprintf(f, "%013lld", 0); /* TODO: isentos */
        fprintf(f, "%013lld", 0); /* TODO: rendimentos tributação exclusiva */
        fprintf(f, "%013lld", 0); /* TODO: 13o. */
-       fprintf(f, "%013lld", 0); /* TODO: retido na fonte */
+       fprintf(f, "%013lld", dec->retido); /* retido na fonte */
        fprintf(f, "%013lld", 0); /* TODO: 13o. dependentes */
        fprintf(f, "%013lld", 0); /* TODO: lucros dependentes */
        fprintf(f, "%013lld", 0); /* TODO: isentos dependentes */
@@ -216,7 +216,7 @@ static void gera_simples(struct declaracao *dec, FILE *f)
        fprintf(f, "%013lld", 0); /* TODO: previdência */
        fprintf(f, "%013lld", 0); /* TODO: previdência dependentes */
        fprintf(f, "%013lld", 0); /* TODO: pensão */
-       fprintf(f, "%013lld", 0); /* TODO: pensão dependentes*/
+       fprintf(f, "%013lld", 0); /* TODO: pensão dependentes */
        fprintf(f, "%013lld", 0); /* TODO: imposto pago exterior */
        fprintf(f, "%013lld", 0); /* TODO: imposto devido sem rendimento exterior */
        fprintf(f, "%013lld", 0); /* TODO: limite imposto pago exterior */
@@ -230,16 +230,16 @@ static void gera_totais_simples(struct declaracao *dec, FILE *f)
        dec->linhas[18]++;
        fprintf(f, "18");
        fprintf(f, "%s", dec->cpf); /* CPF: 11 dígitos */
-       fprintf(f, "%013lld", 0); /* TODO: rendimentos tributáveis */
+       fprintf(f, "%013lld", dec->totalrendimento); /* TODO: rendimentos tributáveis */
        fprintf(f, "%013lld", 0); /* TODO: desconto simplificado */
        fprintf(f, "%013lld", 0); /* TODO: base cálculo */
-       fprintf(f, "%013lld", 0); /* TODO: imposto devido */
-       fprintf(f, "%013lld", 0); /* TODO: imposto retido */
+       fprintf(f, "%013lld", dec->devido); /* imposto devido */
+       fprintf(f, "%013lld", dec->retido); /* imposto retido */
        fprintf(f, "%013lld", 0); /* TODO: imposto complementar */
        fprintf(f, "%013lld", 0); /* TODO: carnê-leão */
        fprintf(f, "%013lld", 0); /* TODO: imposto retido Lei 11.033 */
-       fprintf(f, "%013lld", 0); /* TODO: imposto restituir */
-       fprintf(f, "%013lld", 0); /* TODO: imposto pagar */
+       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, "%013lld", 0); /* TODO: rendimentos isentos */
@@ -250,7 +250,7 @@ static void gera_totais_simples(struct declaracao *dec, FILE *f)
        fprintf(f, "%013lld", 0); /* TODO: imposto ganhos de capital */
        fprintf(f, "%013lld", 0); /* TODO: rendimento tributável PJ titular */
        fprintf(f, "%013lld", 0); /* TODO: total rural */
-       fprintf(f, "%013lld", 0); /* TODO: imposto retido titular */
+       fprintf(f, "%013lld", dec->retido); /* imposto retido titular */
        fprintf(f, "%013lld", 0); /* TODO: total bens ano anterior */
        fprintf(f, "%013lld", 0); /* TODO: total bens ano base */
        fprintf(f, "%013lld", 0); /* TODO: rendimentos isentos titular */
@@ -260,7 +260,7 @@ static void gera_totais_simples(struct declaracao *dec, FILE *f)
        fprintf(f, "%013lld", 0); /* TODO: total não tributável */
        fprintf(f, "%013lld", 0); /* TODO: total dívidas ano anterior */
        fprintf(f, "%013lld", 0); /* TODO: total dívidas ano base */
-       fprintf(f, "%013lld", 0); /* TODO: retido fonte Lei 11.033*/
+       fprintf(f, "%013lld", 0); /* TODO: retido fonte Lei 11.033 */
        fprintf(f, "%013lld", 0); /* TODO: isentos e não tributáveis */
        fprintf(f, "%013lld", 0); /* TODO: tributação exclusiva */
        fprintf(f, "%013lld", 0); /* TODO: ganhos líquidos renda variável */
@@ -278,12 +278,12 @@ static void gera_totais_simples(struct declaracao *dec, FILE *f)
        fprintf(f, "%013lld", 0); /* TODO: rendimentos RRA dependentes */
        fprintf(f, "%013lld", 0); /* TODO: IRF RRA dependentes */
        fprintf(f, "%013lld", 0); /* TODO: imposto RRA dependentes */
-       fprintf(f, "%013lld", 0); /* TODO: imposto devido */
+       fprintf(f, "%013lld", dec->devido); /* imposto devido */
        fprintf(f, "%013lld", 0); /* TODO: imposto diferido ganho capital */
        fprintf(f, "%013lld", 0); /* TODO: imposto devido ganho capital */
        fprintf(f, "%013lld", 0); /* TODO: imposto ganho líquido renda variável */
        fprintf(f, "%013lld", 0); /* TODO: imposto devido ganho capital moeda estrangeira */
-       fprintf(f, "%013lld", 0); /* TODO: imposto pago exterior*/
+       fprintf(f, "%013lld", 0); /* TODO: imposto pago exterior */
        fprintf(f, "%-10.10s", "0000000000"); /* FIXME: controle */
        fprintf(f, "\r\n");
 }
@@ -360,9 +360,9 @@ static void gera_recibodetalhe(struct declaracao *dec, FILE *f)
        fprintf(f, "%-9.9s", dec->contribuinte.telefone);
        fprintf(f, "%s", dec->retifica ? "S" : "N"); /* Retificadora */
        fprintf(f, "%013lld", dec->totalrendimento); /* Total tributavel */
-       fprintf(f, "%013lld", 0); /* TODO: Imposto devido */
-       fprintf(f, "%013lld", 0); /* TODO: Imposto a restituir */
-       fprintf(f, "%013lld", 0); /* TODO: Imposto a pagar */
+       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, "%03d", 0); /* TODO: numero banco */