gera: imprime espaços quando recibo é nulo
[cascardo/declara.git] / gera.c
diff --git a/gera.c b/gera.c
index 76529fa..3eb15c5 100644 (file)
--- a/gera.c
+++ b/gera.c
@@ -111,11 +111,16 @@ static void gera_header(struct declaracao *dec, FILE *f)
        fprintf(f, "%-11.11s", ""); /* CPF procurador */
        fprintf(f, "%03d", dec->obrigatoria); /* criterio obrigatoriedade */
        fprintf(f, "%013lld", totais_get(dec, "RENDPJ")); /* Total tributavel */
-       fprintf(f, "%-14.14s", ""); /* TODO: CNPJ previdencia */
-       fprintf(f, "%-14.14s", ""); /* TODO: CNPJ previdencia 2 */
-       fprintf(f, "%013lld", 0); /* TODO: Total isentos */
-       fprintf(f, "%013lld", 0); /* TODO: Total exclusivo */
-       fprintf(f, "%013lld", 0); /* TODO: Total pagamentos */
+       /* CNPJ previdencia */
+       fprintf(f, "%-14.14s", pagamento_cnpj_ordenado(dec, 36, 0));
+       /* CNPJ previdencia 2 */
+       fprintf(f, "%-14.14s", pagamento_cnpj_ordenado(dec, 36, 1));
+       /* Total isentos */
+       fprintf(f, "%013lld", totais_get(dec, "ISENTOS"));
+       /* Total exclusivo */
+       fprintf(f, "%013lld", totais_get(dec, "EXCLUSIVOS"));
+       /* Total pagamentos */
+       fprintf(f, "%013lld", totais_get(dec, "PAGAMENTOS"));
        fprintf(f, "%-13.13s", dec->contacorrente); /* numero conta */
        fprintf(f, "%-2.2s", dec->dvconta); /* DV conta */
        fprintf(f, "0"); /* TODO: revalidar DV conta */
@@ -187,7 +192,7 @@ static void gera_contribuinte(struct declaracao *dec, FILE *f)
        fprintf(f, "N"); /* TODO: débito automático */
        fprintf(f, "0"); /* TODO: débito primeira quota */
        fprintf(f, "%-14.14s", ""); /* TODO: CNPJ principal fonte */
-       fprintf(f, "%-10.10s", dec->recibo); /* Recibo última declaração ano anterior */
+       fprintf(f, "%-10.10s", dec->recibo ?: ""); /* Recibo última declaração ano anterior */
        fprintf(f, "A"); /* Declaração de Ajuste */
        fprintf(f, "%-11.11s", ""); /* TODO: CPF procurador */
        fprintf(f, "%-10.10s", "0000000000"); /* FIXME: controle */