summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Thadeu Lima de Souza Cascardo [Sat, 25 Jul 2015 19:09:32 +0000 (16:09 -0300)]
Implementa função list_insert
Thadeu Lima de Souza Cascardo [Sat, 25 Jul 2015 19:09:12 +0000 (16:09 -0300)]
Permite função free nula para liberar lista
Thadeu Lima de Souza Cascardo [Sat, 25 Jul 2015 20:08:02 +0000 (17:08 -0300)]
Imprime linha com rendimentos de PJ.
Para utilizar o wrapper, considerando que o único argumento é a
declaração, utiliza o número de linhas impressas para indexar o
rendimento a ser impresso.
Thadeu Lima de Souza Cascardo [Sat, 25 Jul 2015 20:07:19 +0000 (17:07 -0300)]
Recibo pode ser vazio, não imprime "(null)".
Thadeu Lima de Souza Cascardo [Sat, 25 Jul 2015 19:56:16 +0000 (16:56 -0300)]
Última declaração transmitida pode ser campo vazio.
De acordo com um teste com uma declaração retificadora, este campo fica
vazio.
Thadeu Lima de Souza Cascardo [Sat, 25 Jul 2015 16:40:44 +0000 (13:40 -0300)]
Usa um wrapper para gerar linhas.
Escreve a linha em uma área de memória, executa algumas ações, como
incrementar o número de linhas, e grava no arquivo.
Este mecanismo permite outros patches futuros, como cálculo do valor de
código de controle.
Thadeu Lima de Souza Cascardo [Sun, 19 Jul 2015 14:39:06 +0000 (11:39 -0300)]
Campo resultado de imposto no cabeçalho
Para uma declaração simplificada com restituição, o valor do campo é 2.
Para uma declaração completa sem quaisquer rendimentos, o valor é 0.
Thadeu Lima de Souza Cascardo [Sun, 19 Jul 2015 14:36:58 +0000 (11:36 -0300)]
Inclui imposto sobre décimo terceiro no rendimento
O arquivo de declaração inclui esse valor na linha sobre rendimentos
de PJ.
Thadeu Lima de Souza Cascardo [Wed, 8 Jul 2015 09:48:59 +0000 (09:48 +0000)]
Escreve alguns valores totais já calculados na declaração.
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.
Thadeu Lima de Souza Cascardo [Wed, 8 Jul 2015 09:48:11 +0000 (09:48 +0000)]
Pré-calcula o total de rendimentos.
Ao invés de calcular duas vezes, tanto para declaração simples quanto
completa, calcula o total de rendimentos uma única vez.
Thadeu Lima de Souza Cascardo [Wed, 8 Jul 2015 09:26:38 +0000 (09:26 +0000)]
Calcula imposto retido e a pagar.
Imposto retido é aquele retido na fonte. Imposto pago é o retido e o
pago por outros meios, como carnê-leão. Ainda a confirmar através de um
teste com o IRPF privativo. No momento, todos os impostos suportados são
aqueles declarados em rendimento de PJ e, portanto, são retidos na
fonte.
Se o imposto devido é maior que o pago, calcula-se o imposto a pagar,
caso contrário, o imposto a restituir.
Thadeu Lima de Souza Cascardo [Wed, 8 Jul 2015 09:12:42 +0000 (09:12 +0000)]
Gera linhas de trailler e de recibos.
Gera as últimas linhas do arquivo de declaração. Alguns valores da linha
de detalhes de recibo ainda precisam ser implementados.
Thadeu Lima de Souza Cascardo [Tue, 7 Jul 2015 23:36:27 +0000 (23:36 +0000)]
Imprime linha de resumo e totais da declaração simplificada.
Os campos ainda precisam ser preenchidos com os reais valores.
As duas linhas para a declaração completa ainda não estão implementadas,
são apenas duas funções a serem preenchidas.
Thadeu Lima de Souza Cascardo [Sat, 13 Jun 2015 14:59:48 +0000 (14:59 +0000)]
Subfunções de geração não retornam valor.
Thadeu Lima de Souza Cascardo [Fri, 12 Jun 2015 00:02:13 +0000 (21:02 -0300)]
Evita SEGFAULT com linha em branco.
Com uma linha em branco, o primeiro argumento aponta para NULL, causando
um SEGFAULT quando pmhash_get é chamado.
Thadeu Lima de Souza Cascardo [Sat, 2 May 2015 13:38:01 +0000 (13:38 +0000)]
Inicia implementação do comando gera.
Este comando gera o arquivo que deve ser enviado à Receita Federal. O
arquivo é bastante complexo, com muitos campos, alguns obtidos
diretamente dos valores preenchidos pelo contribuinte, outros que exigem
cálculos, somas, ou ordenação de listas.
No momento, apenas as duas primeiras linhas estão implementadas, e ainda
falta calcular o CRC e o hash do arquivo. Vários campos ainda precisam
ser preenchidos corretamente.
Com exceção do endereço MAC, dos campos de controle (CRC32) e do hash, o
comando gera as duas primeiras linhas idênticas àquelas geradas pelo
IRPF privativo para uma declaração sem nenhum rendimento, apenas a ficha
de dados básicos do contribuinte preenchida.
O plano é implementar o cálculo do hash, as demais linhas necessárias à
uma declaração com apenas os dados básicos do contribuinte, e ir
acrescentando novas linhas e preenchendo outros campos à medida em que o
programa for sendo desenvolvido, considerando como novo suporte ou nova
funcionalidade.
Thadeu Lima de Souza Cascardo [Sat, 30 May 2015 16:04:33 +0000 (13:04 -0300)]
Acrescenta campo para recibo de declaração anterior.
Para declarações retificadoras, é necessário indicar o recibo da
declaração anterior, do mesmo ano. Se este campo estiver presente,
indica que a declaração é retificadora.
Thadeu Lima de Souza Cascardo [Sat, 30 May 2015 16:00:57 +0000 (13:00 -0300)]
Remove comando dump.
Com os comandos salva e resumo, o comando dump é desnecessário.
Thadeu Lima de Souza Cascardo [Sat, 30 May 2015 15:58:46 +0000 (12:58 -0300)]
Adiciona comando de resumo.
O comando resume os valores da declaração que são calculados,
exibindo-os na saída padrão.
Thadeu Lima de Souza Cascardo [Sat, 30 May 2015 15:53:38 +0000 (12:53 -0300)]
Adiciona comando para salvar declaração.
O comando "salva" escreve em um arquivo no formato entendido pelo
programa declara. Desta forma, é possível fazer a declaração utilizando
outra interface e salvar o arquivo.
Thadeu Lima de Souza Cascardo [Sat, 30 May 2015 15:36:21 +0000 (12:36 -0300)]
Acrescenta campo para recibo do ano anterior.
Thadeu Lima de Souza Cascardo [Sat, 30 May 2015 15:33:47 +0000 (12:33 -0300)]
Não considera ano inválido como valor de imposto.
Ao considerar qualquer ano diferente de 2015 como valor inválido, o
programa considerava o código de erro como o valor do imposto. Retorna o
erro antes, fazendo com que o comando calcula retorne um erro.
Thadeu Lima de Souza Cascardo [Mon, 11 May 2015 01:53:27 +0000 (01:53 +0000)]
Adiciona script para gerar arquivos de build
Thadeu Lima de Souza Cascardo [Sun, 3 May 2015 22:23:20 +0000 (22:23 +0000)]
Permite definir outros dados do contribuinte.
A maior parte dos dados é relacionada ao endereço. No momento, não há
suporte para pessoas vivendo fora do Brasil.
Thadeu Lima de Souza Cascardo [Sun, 3 May 2015 22:12:20 +0000 (22:12 +0000)]
Permite um sufixo diferente para variáveis e comandos diferentes.
Define macros SET_INT_ e SET_STRING_, que permitem um sufixo e comando
dfierente do nome do atributo utilizado.
Thadeu Lima de Souza Cascardo [Sun, 3 May 2015 20:33:02 +0000 (20:33 +0000)]
Move macros de comandos para definir inteiros e strings.
Move macros de comandos para definir inteiros e strings para cabeçalho
de utilitários.
Isto permitirá que outros módulos utilizem estas macros. Ainda há um
descasamento na API para set_long versus set_int e set_string.
Thadeu Lima de Souza Cascardo [Sat, 2 May 2015 13:39:09 +0000 (13:39 +0000)]
Imprime erro quando não for capaz de executar comando.
Thadeu Lima de Souza Cascardo [Sat, 2 May 2015 13:38:32 +0000 (13:38 +0000)]
Salva total de rendimentos para uso futuro.
Thadeu Lima de Souza Cascardo [Sun, 26 Apr 2015 22:15:52 +0000 (22:15 +0000)]
Calcula imposto devido e restituição.
Thadeu Lima de Souza Cascardo [Sun, 26 Apr 2015 22:15:34 +0000 (22:15 +0000)]
Adiciona informação de taxas à declaração.
Thadeu Lima de Souza Cascardo [Sun, 26 Apr 2015 19:59:08 +0000 (19:59 +0000)]
Torna pública a estrutura de rendimento.
Thadeu Lima de Souza Cascardo [Sun, 26 Apr 2015 19:17:39 +0000 (19:17 +0000)]
Adiciona comando de rendimento.
Adiciona dados de rendimentos pagos por pessoa jurídica.
Thadeu Lima de Souza Cascardo [Sun, 26 Apr 2015 19:16:44 +0000 (19:16 +0000)]
Adiciona função utilitária para convertar string para long long.
Thadeu Lima de Souza Cascardo [Sun, 26 Apr 2015 19:16:36 +0000 (19:16 +0000)]
Adiciona implementação de lista.
Thadeu Lima de Souza Cascardo [Sun, 26 Apr 2015 19:15:42 +0000 (19:15 +0000)]
Conserta liberação de tokens.
Quando tokens são liberados, utiliza um ponteiro para ponteiro de
caractere enquanto itera o arranjo de argumentos.
Thadeu Lima de Souza Cascardo [Sun, 26 Apr 2015 18:43:16 +0000 (18:43 +0000)]
Passa número de argumentos para comandos.
Thadeu Lima de Souza Cascardo [Sun, 26 Apr 2015 15:54:47 +0000 (15:54 +0000)]
Processa comandos para definir dados da declaração.
Thadeu Lima de Souza Cascardo [Sun, 26 Apr 2015 15:51:11 +0000 (15:51 +0000)]
Adiciona tokenizer.
Thadeu Lima de Souza Cascardo [Sun, 26 Apr 2015 15:50:23 +0000 (15:50 +0000)]
Importa pmhash para dicionários.
Thadeu Lima de Souza Cascardo [Fri, 17 Apr 2015 11:04:06 +0000 (11:04 +0000)]
declara permite criar a Declaração de Ajuste Anual do IRPF.
declara é um programa de interface de linha de comando, lendo os
comandos de um arquivo. Outras interfaces podem ser construídas sobre
ele.