Thadeu Lima de Souza Cascardo [Mon, 30 Apr 2018 20:35:13 +0000 (17:35 -0300)]
Utiliza contexto na declaração ao gerar rendimentos.
O número de linhas é utilizado para obter o rendimento cuja linha será gerada.
No entanto, com o novo formato de 2018, este método não funciona sempre.
A utilização de um ponteiro de uso temporário na declaração resolve o problema,
e é menos sujeito a erros.
Thadeu Lima de Souza Cascardo [Sun, 13 May 2018 14:12:44 +0000 (11:12 -0300)]
Adiciona /INSTALL a gitignore
Thadeu Lima de Souza Cascardo [Sun, 13 May 2018 14:10:27 +0000 (11:10 -0300)]
Adiciona arquivos de teste ao gitignore
Thadeu Lima de Souza Cascardo [Sun, 13 May 2018 14:09:54 +0000 (11:09 -0300)]
Adiciona arquivos de backup a gitignore
Thadeu Lima de Souza Cascardo [Sun, 13 May 2018 14:09:27 +0000 (11:09 -0300)]
Adiciona arquivos objetos a gitignore
Thadeu Lima de Souza Cascardo [Sun, 13 May 2018 14:09:00 +0000 (11:09 -0300)]
Comenta gitignore
Antonio Terceiro [Mon, 30 Apr 2018 01:33:06 +0000 (22:33 -0300)]
declara: retorna 0 se, e somente se, houverem erros
getline() com certeza vai retornar -1 quando o arquivo acabar, então não
se pode usar seu valor de retorno como status de saída do programa como
um todo.
Além disso, como `r` é sobrescrito a cada iteração, precisamos de uma
outra variável pra guardar um valor de saída. Caso contrário, se a
execução do ultimo comando no arquivo for bem sucedido, o programa vai
retornar 0 mesmo se houver erros anteriormente.
Antonio Terceiro [Mon, 30 Apr 2018 01:33:07 +0000 (22:33 -0300)]
conjuge: melhora grafia de mensagem de erro
Antonio Terceiro [Mon, 30 Apr 2018 01:33:05 +0000 (22:33 -0300)]
Adiciona arquivos .gitignore
Thadeu Lima de Souza Cascardo [Mon, 9 Apr 2018 23:13:54 +0000 (20:13 -0300)]
Permite importação de declarações.
Arquivos de declaração gerados para transmissão podem agora ser importados.
A importação não realiza alguns cálculos e, portanto, deve ser utilizada apenas
para salvar novo arquivo, que deve ser reprocessado.
Thadeu Lima de Souza Cascardo [Mon, 9 Apr 2018 23:51:52 +0000 (20:51 -0300)]
Não salva cônjuge caso não haja CPF.
Cônjuge era salvo mesmo quando não havia cônjuge.
Thadeu Lima de Souza Cascardo [Tue, 10 Apr 2018 02:58:41 +0000 (23:58 -0300)]
Indicação de campos vazios em bens.
Unidade de medida e registro de imóveis vazios utilizam uma representação
diferente. Ao menos em 2018, bens não imóveis também utilizam tal
representação.
Thadeu Lima de Souza Cascardo [Tue, 10 Apr 2018 02:57:51 +0000 (23:57 -0300)]
Mais campos para bens em 2018.
A partir de 2018, outros dados passam a ser pedidos para alguns tipos de bens.
Tais dados vão todos em todas as linhas de bens.
Thadeu Lima de Souza Cascardo [Tue, 10 Apr 2018 02:35:40 +0000 (23:35 -0300)]
Rendimentos isentos e exclusivos em 2018.
As linhas mudaram em 2018. A linha simples com totais utilizada em anos
anteriores foi alterada para múltiplas linhas, com o total por sub-código de
rendimento.
Tais sub-códigos também foram introduzidos recentemente. As linhas com
detalhamento também mudaram para linhas que possuem o mesmo sub-código.
Thadeu Lima de Souza Cascardo [Tue, 10 Apr 2018 02:33:48 +0000 (23:33 -0300)]
Critérios de obrigatoriedade.
Há outros critérios de obrigatoriedade, como valor total de bens e direitos. Um
dos campos gerados da declaração a ser entregue identifica os diferentes
critérios de obrigatoriedade como bits em seu valor.
Thadeu Lima de Souza Cascardo [Tue, 10 Apr 2018 02:33:24 +0000 (23:33 -0300)]
Alíquota efetiva na declaração completa
Thadeu Lima de Souza Cascardo [Sun, 4 Mar 2018 12:52:16 +0000 (09:52 -0300)]
Suporte inicial a 2018.
Suporte testado para rendimentos de pessoa jurídica.
Thadeu Lima de Souza Cascardo [Sun, 4 Mar 2018 12:51:29 +0000 (09:51 -0300)]
Calcula alíquota efetiva.
O IRPF 2018 calcula e utiliza o valor de alíquota efetiva no arquivo gerado.
Thadeu Lima de Souza Cascardo [Sun, 4 Mar 2018 12:48:48 +0000 (09:48 -0300)]
Implementa celular.
A Receita Federal tem um campo para telefone e outro para celular.
Thadeu Lima de Souza Cascardo [Tue, 6 Mar 2018 20:16:23 +0000 (17:16 -0300)]
Suporta carnê leão
Thadeu Lima de Souza Cascardo [Tue, 6 Mar 2018 20:14:45 +0000 (17:14 -0300)]
Não imprime soma de zero a total
Thadeu Lima de Souza Cascardo [Tue, 6 Mar 2018 20:14:18 +0000 (17:14 -0300)]
Distingue pagamentos de titular e dependentes
Thadeu Lima de Souza Cascardo [Tue, 6 Mar 2018 20:13:25 +0000 (17:13 -0300)]
Suporta NIT, exigido a partir de 2017
Thadeu Lima de Souza Cascardo [Tue, 6 Mar 2018 20:12:18 +0000 (17:12 -0300)]
CPF e DN de dependentes é Filler em 2017
Thadeu Lima de Souza Cascardo [Tue, 6 Mar 2018 20:10:27 +0000 (17:10 -0300)]
Usa última versão IRPF 2017
Thadeu Lima de Souza Cascardo [Tue, 6 Mar 2018 20:09:46 +0000 (17:09 -0300)]
Define erro para comando conjuge
Thadeu Lima de Souza Cascardo [Tue, 6 Mar 2018 20:07:52 +0000 (17:07 -0300)]
Mostra outras deduções no modo verboso
Thadeu Lima de Souza Cascardo [Tue, 6 Mar 2018 20:07:17 +0000 (17:07 -0300)]
Comentário sobre número de dependentes com instrução
Thadeu Lima de Souza Cascardo [Thu, 2 Mar 2017 10:32:32 +0000 (07:32 -0300)]
Corrige possível utilização após liberar memória.
Se um erro ocorre ao atualizar os totais dos rendimentos isentos ou
exclusivos, liberamos a estrutura, mas não a removemos da lista. A
adição à lista deve ser a última ação, para prevenir tais erros.
Thadeu Lima de Souza Cascardo [Thu, 2 Mar 2017 10:27:59 +0000 (07:27 -0300)]
Outros rendimentos isentos exclusivos.
Outros rendimentos exigem uma descrição, e a discriminação se são
isentos ou exclusivos.
Até então, rendimentos exclusivos utilizavam o comando isento e eram
distintos pelo seu código. O comando exclusivo utiliza o mesmo código,
mas permite a distinção pelo primeiro argumento, quando o código não o
permitir.
Thadeu Lima de Souza Cascardo [Tue, 28 Feb 2017 20:36:31 +0000 (17:36 -0300)]
Adiciona totais de rendimentos tributáveis.
Rendimentos tributáveis e de pessoas físicas são adicionados. Onde
rendimentos tributáveis devem ser utilizados, ao invés de apenas
rendimentos de pessoa jurídica, a mudança foi feita.
Thadeu Lima de Souza Cascardo [Tue, 28 Feb 2017 20:34:13 +0000 (17:34 -0300)]
Remove variável não utilizada
Thadeu Lima de Souza Cascardo [Mon, 27 Feb 2017 22:07:47 +0000 (19:07 -0300)]
Gera hash do CPF no cabeçalho.
Um dos campos do cabeçalho apresenta um hash que é apenas um CRC32 do CPF. Se
uma nova versão do IRPF remover tal campo, basta reverter este commit junto com
a provável atualização do campo de versão.
Thadeu Lima de Souza Cascardo [Mon, 27 Feb 2017 14:06:19 +0000 (11:06 -0300)]
Gera cabeçalhos para versão 2017.
Os cabeçalhos de declarações simplificada e completa mantém os campos de
2016, mudam alguns valores de código e versão e adicionam celular e um
campo de presença de cônjuge.
A primeira versão do IRPF 2017 também substitui um campo em branco por
um hash, que aparenta depender apenas do CPF. No entanto, parece ser um
bug e uma nova versão é esperada.
Thadeu Lima de Souza Cascardo [Sat, 14 Jan 2017 16:35:02 +0000 (14:35 -0200)]
Adiciona mensagens de erro ao comando gera.
Mensagens ao validar parâmetros, verificar o ano suportado e erro ao
abrir arquivo são emitidas.
Thadeu Lima de Souza Cascardo [Sat, 14 Jan 2017 16:30:41 +0000 (14:30 -0200)]
Remove fim de linha em mensagens de erro.
Thadeu Lima de Souza Cascardo [Sat, 14 Jan 2017 12:24:26 +0000 (10:24 -0200)]
Adiciona valores para cálculo referente a exercício 2017.
Os valores foram obtidos a partir de [1], com exceção do valor de
obrigatoriedade, que foi obtido a partir da Instrução Normativa 1671 de
2016.
O comando "gera" ainda não suporta o ano de 2017.
[1] http://idg.receita.fazenda.gov.br/acesso-rapido/tributos/irpf-imposto-de-renda-pessoa-fisica
Thadeu Lima de Souza Cascardo [Sat, 14 Jan 2017 15:08:37 +0000 (15:08 +0000)]
Simplifica set_int e set_string.
set_int e set_string eram utilizados com argumentos dados a um comando e
sempre esperavam dois argumentos apenas, o que fazia com que seu uso não
fosse legível a não ser pelas macros SET_INT_ e SET_STRING_.
Movendo a lógica de teste de argumentos para as macros, foi possível
simplificar set_int e set_string e tornar o uso de set_int em alguns
casos mais legível, bem como passar a utilizar set_string para verificar
erros de alocação de memória.
As macros SET_INT_ e SET_STRING_ foram também unificadas em SET_VAL_,
porém mantidas com os argumentos que aceitavam anteriormente, mas
fazendo uso desta última. SET_VAL_ foi melhorada para aceitar um texto
de ajuda e definir um texto de erro mais amigável ao usuário.
Thadeu Lima de Souza Cascardo [Sat, 14 Jan 2017 13:13:04 +0000 (13:13 +0000)]
Adiciona ajuda curta para ajuda.
Thadeu Lima de Souza Cascardo [Wed, 14 Dec 2016 23:40:19 +0000 (21:40 -0200)]
Fecha o stream para arquivo processado.
Ao abrir o arquivo com fdopen, um vazamento de memória ocorre se o
stream não for fechado com fclose.
Thadeu Lima de Souza Cascardo [Mon, 12 Dec 2016 01:50:46 +0000 (23:50 -0200)]
Adiciona ajuda sobre a ajuda.
Thadeu Lima de Souza Cascardo [Mon, 12 Dec 2016 01:50:01 +0000 (23:50 -0200)]
Função para iniciar todos os comandos.
Thadeu Lima de Souza Cascardo [Mon, 12 Dec 2016 01:45:07 +0000 (23:45 -0200)]
Emite mensagem de erro se ano é inválido.
Se o ano não é suportado pelo comando calcula, uma mensagem de erro é
definida.
Thadeu Lima de Souza Cascardo [Mon, 12 Dec 2016 01:43:55 +0000 (23:43 -0200)]
Imprime mensagem de erro se definida.
Caso um erro tenha ocorrido e a mensagem de erro esteja definida,
utilize-a ao invés da mensagem correspondente ao código de erro.
Thadeu Lima de Souza Cascardo [Mon, 12 Dec 2016 01:42:17 +0000 (23:42 -0200)]
Permite definir um erro ao processar a declaração.
Uma mensagem de erro pode ser definida no contexto da declaração. Assim,
o usuário pode ter mais detalhes sobre o erro ao processar algum
comando.
Thadeu Lima de Souza Cascardo [Sun, 11 Dec 2016 13:46:09 +0000 (11:46 -0200)]
help: comando exibe ajuda curta dos comandos.
O comando "help" ou "ajuda" sem parâmetros mostram a lista de comandos
acompanhados de uma descrição curta.
Thadeu Lima de Souza Cascardo [Sun, 11 Dec 2016 13:45:44 +0000 (11:45 -0200)]
cmd: adiciona campo help.
Comandos podem documentar uma ajuda curta com o campo help.
Thadeu Lima de Souza Cascardo [Sun, 11 Dec 2016 13:41:21 +0000 (11:41 -0200)]
cmd: itera entre os comandos.
Thadeu Lima de Souza Cascardo [Sun, 11 Dec 2016 13:39:39 +0000 (11:39 -0200)]
pmhash: permite iterar os valores.
A função pmhash_next retorna o próximo valor de um hash dado um iterador
opaco que deve ser iniciado com NULL.
Thadeu Lima de Souza Cascardo [Sun, 11 Dec 2016 10:32:48 +0000 (08:32 -0200)]
Busca os arquivos de ajuda no diretório instalado.
Exporta DOCDIR para o código para que busque os arquivos de ajuda no
local em que foram instalados.
Thadeu Lima de Souza Cascardo [Sun, 11 Dec 2016 10:31:38 +0000 (08:31 -0200)]
Distribui os arquivos de ajuda.
Eles serão instalados em docdir, /usr/share/doc/declara/, se o prefixo
for /usr/.
Thadeu Lima de Souza Cascardo [Sun, 11 Dec 2016 10:30:46 +0000 (08:30 -0200)]
Adiciona ajuda para ano e cpf.
Os comandos ano e cpf são documentados.
Thadeu Lima de Souza Cascardo [Sat, 10 Dec 2016 13:24:14 +0000 (11:24 -0200)]
Adiciona comando help.
O comando help lê arquivos texto e imprime seu conteúdo na saída padrão.
Assim, a documentação pode ser escrita em simples arquivos.
Thadeu Lima de Souza Cascardo [Sat, 10 Dec 2016 13:22:09 +0000 (11:22 -0200)]
dumpfile: joga o conteúdo de um arquivo em um fd
A função dumpfile lê o conteúdo de um arquivo e o escreve em um
descritor, que pode ser a saída padrão, por exemplo.
Thadeu Lima de Souza Cascardo [Sat, 10 Dec 2016 13:21:21 +0000 (11:21 -0200)]
Adiciona suporte a readline.
Quando executado sem um parâmetro, o declara aceitará comandos na
entrada padrão, utilizando readline e history.
Thadeu Lima de Souza Cascardo [Sat, 10 Dec 2016 12:10:05 +0000 (10:10 -0200)]
Corrige comentários de alguns campos.
Thadeu Lima de Souza Cascardo [Sat, 10 Dec 2016 12:09:17 +0000 (10:09 -0200)]
Utiliza macros para formatar Real no resumo.
Thadeu Lima de Souza Cascardo [Sun, 10 Apr 2016 22:44:18 +0000 (19:44 -0300)]
Suporta indenizações isentas, como FGTS e aviso prévio.
Indenizações como FGTS, aviso prévio e abono pecuniário contam como
rendimentos isentos.
Thadeu Lima de Souza Cascardo [Sun, 10 Apr 2016 22:22:21 +0000 (19:22 -0300)]
Usa marca BUG IRPF.
Os comportamentos que parecem ser bugs no programa IRPF distribuído pela
Receita Federal devem ser marcados como BUG IRPF.
Thadeu Lima de Souza Cascardo [Sun, 10 Apr 2016 19:38:17 +0000 (16:38 -0300)]
Cálculo de despesas com instrução.
Calcula despesas com instrução, limitados a seus valores por titular e
dependente. Soma tais valores às deduções. Também gera os valores
necessários para as linhas de declaração e totais, como número de
dependentes por instrução e total de despesas dedutíves com instrução.
Thadeu Lima de Souza Cascardo [Sun, 10 Apr 2016 19:39:44 +0000 (16:39 -0300)]
Mudanças no cálculo das deduções.
Ao invés de considerar como dedução todos os pagamentos subtraídos de
todas as deduções, considera apenas aqueles valores legais conhecidos.
No momento, o total das despesas médicas e previdência. No entanto,
ainda é necessário fazer o cáculo para limites com a previdência.
Thadeu Lima de Souza Cascardo [Sun, 10 Apr 2016 19:32:57 +0000 (16:32 -0300)]
Deduções pode ser maiores que rendimentos tributáveis.
Base de cálculo deve ser zero nesses casos, não negativa.
Thadeu Lima de Souza Cascardo [Sun, 10 Apr 2016 16:16:18 +0000 (13:16 -0300)]
IRPF gera 0 para rendimentos isentos de dependentes.
Na linha de cabeçalho da declaração simplificada, os rendimentos isentos
de dependentes exibem 0 no caso de rendimentos como doações e poupança.
Ainda não é claro se é algum bug, algum cálculo diferente do que
fazemos. O cálculo da linha 18 está correto, no entanto.
Thadeu Lima de Souza Cascardo [Sun, 10 Apr 2016 16:13:46 +0000 (13:13 -0300)]
Cabeçalho de simplificada usa rendimentos de titular.
Os rendimentos isentos no cabeçalho da declaração simplificada se
referem aos rendimentos do titular.
Thadeu Lima de Souza Cascardo [Sun, 10 Apr 2016 15:39:23 +0000 (12:39 -0300)]
Imprime total de doações na linha de rendimentos isentos.
Thadeu Lima de Souza Cascardo [Sun, 10 Apr 2016 15:35:15 +0000 (12:35 -0300)]
Suporta rendimentos de dependentes nos totais.
Ao gerar as linhas de totais, imprime os totais de rendimentos isentos e
exclusivos de dependentes.
Thadeu Lima de Souza Cascardo [Sun, 10 Apr 2016 15:33:54 +0000 (12:33 -0300)]
Não totaliza rendimentos de dependentes como de titular.
Os rendimentos de dependentes são adicionados a novos totais de
rendimentos de dependentes. Os rendimentos de titular excluem tais
rendimentos.
Thadeu Lima de Souza Cascardo [Sun, 10 Apr 2016 15:32:51 +0000 (12:32 -0300)]
Suporta rendimentos isentos e exclusivos de dependentes.
Da mesma forma como implementado para pagamentos, os rendimentos isentos
e exclusivos de dependentes são indicados através de um índice de
dependentes.
Thadeu Lima de Souza Cascardo [Sun, 10 Apr 2016 15:24:53 +0000 (12:24 -0300)]
Permite pagamento para despesa com dependente.
O dependente deve ser especificado numericamente, indexado a partir de
1. Este é o mesmo código a ser utilizado ao gerar a linha de dependente
e que será utilizado na linha de pagamento.
A opção foi feita por utilizar o índice, pois nem todos os dependentes
possuem CPF, e no raro caso de existirem dependentes homônimos, o nome
não poderia ser utilizado tampouco.
A utilização do índice exige que o dependente seja adicionado
anteriormente ao pagamento. Se o dependente for omitido ou tiver o
índice zero, considera-se a despesa com o titular.
A linha de pagamento também passa a ser gerada com a informação correta
sobre o dependente.
Thadeu Lima de Souza Cascardo [Sun, 10 Apr 2016 15:23:23 +0000 (12:23 -0300)]
Implementa list_size, retornando tamanho da lista.
Esta função será útil para obter número de dependentes, por exemplo.
Thadeu Lima de Souza Cascardo [Sun, 10 Apr 2016 12:23:24 +0000 (09:23 -0300)]
Suporta doações.
Computa doações e gera linha de doações. No entanto, ainda não imprime
nas linhas de totais.
Thadeu Lima de Souza Cascardo [Sun, 10 Apr 2016 11:52:14 +0000 (08:52 -0300)]
Imprime lista de dependentes no cabeçalho do DEC.
O cabeçalho do arquivo contém campos para CPFs e datas de nascimento dos
dependentes. Estes valores não eram impressos. Agora, itera-se na lista
de dependentes e os valores são impressos.
Thadeu Lima de Souza Cascardo [Sat, 9 Apr 2016 02:32:33 +0000 (23:32 -0300)]
Com o suporte a 2016, muda versão.
Utiliza versão 2016.0, ainda que o software seja experimental, indicando
suporte ao ano de 2016.
Thadeu Lima de Souza Cascardo [Sat, 9 Apr 2016 02:31:48 +0000 (23:31 -0300)]
Não instala biblioteca.
Biblioteca não deve ser publicada no momento, sendo apenas para uso
interno do programa.
Thadeu Lima de Souza Cascardo [Sat, 26 Mar 2016 03:22:13 +0000 (00:22 -0300)]
Suporta geração de declaração de 2016.
Thadeu Lima de Souza Cascardo [Sat, 26 Mar 2016 03:17:22 +0000 (00:17 -0300)]
Não gera linha de isentos e exclusivos quando não existentes.
Quando os rendimentos isentos ou tributados de forma exclusiva na fonte
não existem, não imprime suas respectivas linhas.
Thadeu Lima de Souza Cascardo [Sat, 26 Mar 2016 03:16:38 +0000 (00:16 -0300)]
Não imprime valores nulos.
Imprime a string vazia para alguns valores, quando estes não foram
definidos pelo usuário.
Thadeu Lima de Souza Cascardo [Sat, 26 Mar 2016 03:14:16 +0000 (00:14 -0300)]
Funções para lista de pagamentos ordenados.
Cria uma função para lista de pagamentos independente do código, uma
função mais genérica, com um callback de condição, e uma função para
pagamentos à previdência pública INSS.
Thadeu Lima de Souza Cascardo [Sat, 19 Mar 2016 19:23:41 +0000 (16:23 -0300)]
Calcula imposto para 2016.
Adiciona os valores de limites e alíquotas suportados para o exercício
de 2016.
Thadeu Lima de Souza Cascardo [Sat, 19 Mar 2016 15:01:59 +0000 (12:01 -0300)]
Retorna erro para gerar declaração de ano não suportado.
Apenas a declaração de 2015 é suportada no momento. Retorna erro caso o
usuário tente gerar uma declaração de outro exercício.
Thadeu Lima de Souza Cascardo [Sat, 19 Mar 2016 14:58:55 +0000 (11:58 -0300)]
Permite expandir cálculo para outros anos.
Introduz macros para indexar arranjos com o ano do exercício da
declaração, e altera as variáveis utilizadas para os valores de 2015
para arranjos, de tal forma a permitir expansão para outros anos.
Thadeu Lima de Souza Cascardo [Sun, 13 Mar 2016 18:11:08 +0000 (15:11 -0300)]
Imprime complemento corretamente.
Se não há complemento, imprime espaços.
Thadeu Lima de Souza Cascardo [Sun, 13 Mar 2016 18:09:48 +0000 (15:09 -0300)]
Gera linha de cônjuge apenas se há cônjuge declarado.
A linha de cônjuge era emitida incondicionalmente. Esta deve ser emitida
apenas se há declaração de cônjuge.
Thadeu Lima de Souza Cascardo [Sun, 13 Mar 2016 12:02:27 +0000 (09:02 -0300)]
Adiciona teste de tokenizer.
Teste é ainda bem simples, mas já verifica o correto suporte a
comentários e o tratamento de espaços em branco.
Thadeu Lima de Souza Cascardo [Sun, 13 Mar 2016 11:57:14 +0000 (08:57 -0300)]
Compara chaves do hash sem distinção de "caixa".
Apenas a lista de comandos e totais utilizam pmhash. Ao utilizar
strcasecmp ao invés de strcmp, comandos passam a ser reconhecidos
independente de utilizarem letras maiúsculas ou minúsculas.
Thadeu Lima de Souza Cascardo [Sun, 13 Mar 2016 11:55:45 +0000 (08:55 -0300)]
Suporta comentários.
Implementa comentários no tokenizer, permitindo que apareçam no arquivo
de entrada.
Thadeu Lima de Souza Cascardo [Sun, 13 Mar 2016 11:54:50 +0000 (08:54 -0300)]
Verifica limites de token antes de alocar memória.
Caso não exista mais tokens, não é necessário alocar mais memória.
Thadeu Lima de Souza Cascardo [Sat, 12 Mar 2016 20:38:19 +0000 (17:38 -0300)]
Implementa opção verbose.
Com esta opção, alguns resultados intermediários são exibidos,
permitindo verificações e detecção de erros.
Thadeu Lima de Souza Cascardo [Sat, 12 Mar 2016 20:36:55 +0000 (17:36 -0300)]
Preenche campos implementados da declaração completa.
Permite a geração de uma declaração completa, ainda que apenas com
alguns dos campos suportados.
Thadeu Lima de Souza Cascardo [Sat, 12 Mar 2016 20:35:31 +0000 (17:35 -0300)]
Corrige campo em caso de pagamento a pessoa física.
O valor 1 identifica pessoa física, com CPF, enquanto o valor 2
identifica pessoa jurídica, com CNPJ.
Thadeu Lima de Souza Cascardo [Sat, 12 Mar 2016 20:29:03 +0000 (17:29 -0300)]
Totaliza outros pagamentos.
A declaração completa exige outros totais de pagamentos, como pagamentos
médicos e de previdência. Soma tais totais em uma função própria, dada
sua nova complexidade.
Thadeu Lima de Souza Cascardo [Sat, 12 Mar 2016 20:27:48 +0000 (17:27 -0300)]
Soma total de decuções para declaração completa.
Thadeu Lima de Souza Cascardo [Sat, 12 Mar 2016 20:25:43 +0000 (17:25 -0300)]
Remove TODO em alguns casos.
Alguns campos foram implementados, não sendo mais necessário
documentá-los com TODO.
Thadeu Lima de Souza Cascardo [Sat, 12 Mar 2016 20:24:43 +0000 (17:24 -0300)]
Corrige campos de quotas em caso de imposto a pagar.
Em caso de imposto a pagar, é necessário informar o número e valor das
quotas. No momento, apenas uma quota é suportada.
Thadeu Lima de Souza Cascardo [Sat, 12 Mar 2016 20:22:58 +0000 (17:22 -0300)]
Nova função para ordenação de pagamentos médicos.
Como pagamentos médicos podem utilizar mais de um código de pagamento,
uma nova função foi necessária.
Thadeu Lima de Souza Cascardo [Sat, 12 Mar 2016 20:19:17 +0000 (17:19 -0300)]
Preenche corretamente se não há informações bancárias.
Caso informações bancárias não sejam fornecidas, preenchar os campos
corretamente. No caso de banco e agência, preenche com zeros. No caso de
número de conta e dígito verificador, utilize espaços em branco.
Thadeu Lima de Souza Cascardo [Sat, 12 Mar 2016 20:15:45 +0000 (17:15 -0300)]
Conserta campo de resultado de imposto no cabeçalho.
Se há imposto a pagar, o resultado é 1. Se há imposto a restituir, o
resultado é 2. Ainda a confirmar se o resultado é 0 caso não haja
imposto a pagar nem a restituir.
Thadeu Lima de Souza Cascardo [Sat, 12 Mar 2016 11:53:42 +0000 (08:53 -0300)]
Salva demais partes da declaração
Thadeu Lima de Souza Cascardo [Sat, 12 Mar 2016 11:52:04 +0000 (08:52 -0300)]
Adiciona macros para formatar valores em Real.
Thadeu Lima de Souza Cascardo [Fri, 25 Sep 2015 10:47:00 +0000 (07:47 -0300)]
Calcula base de cálculo para declaração completa.
Como tentamos o cálculo de ambas as declarações, o valor da base de
cálculo deve ser calculado separadamente para cada tipo de declaração.