Preenche campos implementados da declaração completa.
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Sat, 12 Mar 2016 20:36:55 +0000 (17:36 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Sat, 12 Mar 2016 20:48:28 +0000 (17:48 -0300)
Permite a geração de uma declaração completa, ainda que apenas com
alguns dos campos suportados.

lib/gera.c

index 35a6e3f..42de0d8 100644 (file)
@@ -304,8 +304,31 @@ static void gera_completa(struct declaracao *dec, FILE *f)
 {
        fprintf(f, "19");
        fprintf(f, "%s", dec->cpf); /* CPF: 11 dígitos */
-       fprintf(f, "%-14.14s", ""); /* TODO: CNPJ maior */
-       /* FIXME: completar campos */
+       fprintf(f, "%-14.14s", rendimento_cnpj_ordenado(dec, 0)); /* CNPJ maior */
+       fprintf(f, "%013lld", 0); /* TODO: imposto pago no exterior */
+       fprintf(f, "%013lld", 0); /* TODO: imposto complementar pago */
+       fprintf(f, "%013lld", 0); /* TODO: retido fonte Lei 11.033 */
+       fprintf(f, "%013lld", 0); /* TODO: rendimentos recebidos no exterior - titular */
+       fprintf(f, "%013lld", 0); /* TODO: livro caixa - titular */
+       fprintf(f, "%013lld", 0); /* TODO: carnê-leão - titular */
+       fprintf(f, "%013lld", 0); /* TODO: rendimentos recebidos no exterior - dependente */
+       fprintf(f, "%013lld", 0); /* TODO: livro caixa - dependente */
+       fprintf(f, "%013lld", 0); /* TODO: carnê-leão - dependente */
+       fprintf(f, "%013lld", totais_get(dec, "PREVIDENCIA")); /* TODO: contribuição previdenciária privada */
+       fprintf(f, "%013lld", 0); /* TODO: contribuição FAPI */
+       fprintf(f, "%013lld", totais_get(dec, "INSS")); /* TODO: INSS titular */
+       fprintf(f, "%013lld", 0); /* TODO: INSS dependente */
+       fprintf(f, "%013lld", totais_get(dec, "DECIMOTERCEIRO")); /* TODO: 13o titular */
+       fprintf(f, "%013lld", 0); /* TODO: 13o dependente */
+       fprintf(f, "%05d", 0); /* TODO: dependentes com instrucao */
+       fprintf(f, "%05d", 0); /* TODO: alimentandos com instrucao */
+       fprintf(f, "%013lld", 0); /* TODO: rendimentos PF titular */
+       fprintf(f, "%013lld", 0); /* TODO: rendimentos PF dependente */
+       fprintf(f, "%013lld", 0); /* TODO: rendimentos PF exterior titular */
+       fprintf(f, "%013lld", 0); /* TODO: rendimentos PF exterior dependente */
+       /* IRPF-2015-1.3 gera este valor como 0, antes era dec->devido */
+       fprintf(f, "%013lld", 0); /* TODO: imposto devido sem rendimento exterior */
+       fprintf(f, "%013lld", 0); /* TODO: limite imposto pago exterior */
 }
 
 static void gera_totais_completa(struct declaracao *dec, FILE *f)
@@ -313,6 +336,79 @@ static void gera_totais_completa(struct declaracao *dec, FILE *f)
        fprintf(f, "20");
        fprintf(f, "%s", dec->cpf); /* CPF: 11 dígitos */
        /* FIXME: completar campos */
+       fprintf(f, "%013lld", totais_get(dec, "RENDPJTIT")); /* rendimentos PJ titular */
+       fprintf(f, "%013lld", 0); /* TODO: rendimentos PF titular */
+       fprintf(f, "%013lld", 0); /* TODO: rendimentos PF dependente */
+       fprintf(f, "%013lld", 0); /* TODO: resultado atividade rural */
+       fprintf(f, "%013lld", totais_get(dec, "RENDPJ")); /* TODO: total rendimentos tributáveis */
+       fprintf(f, "%013lld", totais_get(dec, "INSS")); /* previdencia oficial */
+       fprintf(f, "%013lld", totais_get(dec, "PREVIDENCIA")); /* previdencia privada */
+       fprintf(f, "%013lld", totais_get(dec, "DEPENDENTES")); /* deducao dependentes */
+       fprintf(f, "%013lld", 0); /* TODO: deducao instrucao */
+       fprintf(f, "%013lld", totais_get(dec, "MEDICAS")); /* despesas medicas */
+       fprintf(f, "%013lld", 0); /* TODO: pensao */
+       fprintf(f, "%013lld", 0); /* TODO: pensao escritura publica */
+       fprintf(f, "%013lld", 0); /* TODO: livro caixa */
+       fprintf(f, "%013lld", totais_get(dec, "DEDUCOES")); /* total deduções */
+       fprintf(f, "%013lld", totais_get(dec, "BASE")); /* base de cálculo */
+       fprintf(f, "%013lld", dec->devido); /* TODO: valor do imposto */
+       fprintf(f, "%013lld", 0); /* TODO: deducao do imposto (limitado a 6%) */
+       fprintf(f, "%013lld", dec->devido); /* imposto devido */
+       fprintf(f, "%013lld", 0); /* TODO: contribuicao patronal */
+       fprintf(f, "%013lld", dec->devido); /* TODO: imposto devido menos patronal */
+       fprintf(f, "%013lld", dec->devido); /* TODO: imposto devido mais RRA */
+       fprintf(f, "%013lld", dec->retido); /* imposto na fonte */
+       fprintf(f, "%013lld", 0); /* TODO: carne leao */
+
+       fprintf(f, "%013lld", 0); /* TODO: imposto complementar */
+       fprintf(f, "%013lld", 0); /* TODO: imposto pago exterior */
+       fprintf(f, "%013lld", 0); /* TODO: imposto retido Lei 11.033 */
+       fprintf(f, "%013lld", dec->retido); /* TODO: total imposto pago */
+       fprintf(f, "%013lld", dec->restituicao); /* imposto a restituir */
+       fprintf(f, "%013lld", dec->pagar); /* imposto a pagar */
+       fprintf(f, "%d", dec->pagar ? 1 : 0); /* TODO/FIXME: quotas */
+       fprintf(f, "%013lld", dec->pagar); /* TODO: valor quota */
+
+       fprintf(f, "%013lld", totais_get(dec, "BENSANTERIOR")); /* total bens ano anterior */
+       fprintf(f, "%013lld", totais_get(dec, "BENS")); /* total bens ano base */
+       fprintf(f, "%013lld", 0); /* TODO: total dívidas ano anterior */
+       fprintf(f, "%013lld", 0); /* TODO: total dívidas ano base */
+       fprintf(f, "%013lld", dec->conjuge.total); /* conjuge */
+       fprintf(f, "%013lld", totais_get(dec, "ISENTOS")); /* rendimentos isentos */
+       fprintf(f, "%013lld", totais_get(dec, "EXCLUSIVOS")); /* rendimentos tributação exclusiva */
+       fprintf(f, "%013lld", 0); /* TODO: imposto ganhos de capital */
+       fprintf(f, "%013lld", 0); /* TODO: retido fonte Lei 11.033 */
+       fprintf(f, "%013lld", 0); /* TODO: imposto renda variável */
+
+       fprintf(f, "%013lld", 0); /* TODO: rendimento PJ dependente */
+       fprintf(f, "%013lld", 0); /* TODO: imposto fonte dependente */
+       fprintf(f, "%013lld", 0); /* TODO: imposto moeda estrangeira */
+       fprintf(f, "%013lld", 0); /* TODO: imposto ganhos capital moeda */
+       fprintf(f, "%013lld", totais_get(dec, "ISENTOSTIT")); /* rendimentos isentos titular */
+       fprintf(f, "%013lld", 0); /* TODO: rendimentos isentos dependentes */
+       fprintf(f, "%013lld", totais_get(dec, "EXCLUSIVOSTIT")); /* TODO: tributação exclusiva titular */
+       fprintf(f, "%013lld", 0); /* TODO: tributação exclusiva dependentes */
+       fprintf(f, "%013lld", 0); /* TODO: doações campanha */
+       fprintf(f, "%013lld", 0); /* TODO: rendimentos PF exigibilidade suspensa titular */
+       fprintf(f, "%013lld", 0); /* TODO: rendimentos PF exigibilidade suspensa dependentes */
+       fprintf(f, "%013lld", 0); /* TODO: depósitos judiciais exigibilidade suspensa titular */
+       fprintf(f, "%013lld", 0); /* TODO: depósitos judiciais exigibilidade suspensa dependentes */
+
+       fprintf(f, "%013lld", 0); /* TODO: rendimentos RRA titular */
+       fprintf(f, "%013lld", 0); /* TODO: previdencia RRA titular */
+       fprintf(f, "%013lld", 0); /* TODO: pensao RRA titular */
+       fprintf(f, "%013lld", 0); /* TODO: IRF RRA titular */
+       fprintf(f, "%013lld", 0); /* TODO: imposto RRA titular */
+       fprintf(f, "%013lld", 0); /* TODO: rendimentos RRA dependentes */
+       fprintf(f, "%013lld", 0); /* TODO: previdencia RRA dependentes */
+       fprintf(f, "%013lld", 0); /* TODO: pensao RRA dependentes */
+       fprintf(f, "%013lld", 0); /* TODO: IRF RRA dependentes */
+       fprintf(f, "%013lld", 0); /* TODO: imposto RRA dependentes */
+
+       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 */
 }
 
 static void gera_isentos(struct declaracao *dec, FILE *f)