From: Thadeu Lima de Souza Cascardo Date: Sat, 12 Mar 2016 20:36:55 +0000 (-0300) Subject: Preenche campos implementados da declaração completa. X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fdeclara.git;a=commitdiff_plain;h=0b26377ebd405b0cacf74702987eae6667b7fe77 Preenche campos implementados da declaração completa. Permite a geração de uma declaração completa, ainda que apenas com alguns dos campos suportados. --- diff --git a/lib/gera.c b/lib/gera.c index 35a6e3f..42de0d8 100644 --- a/lib/gera.c +++ b/lib/gera.c @@ -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)