Re: [IRPF-Livre] Possível erro em src/serpro/ppgd/negocio/Valor.java impacta todas as operações
Adonay Felipe Nogueira
adfeno.7046 en gmail.com
Mar Abr 16 02:39:58 UTC 2024
Boas notícias, considerando os testes que fiz com porcentagens, a
revisão r19536 aprimorou ainda mais o suporte a estes, bem como limpou
um pouco das definições iniciais da classe Valor. Além disso, corrigi o
conteúdo da alíquota efetiva na declaração completa, para que seja
expressado em notação decimal, conforme esperado pelo modelo padrão.
Não é necessário fazer explicitamente a conversão de uma porcentagem em
notação decimal para porcento no resumo ou na exportação tendo em vista
que o NÃO USO da função converte () já faz isso implicitamente, o que
foi agora mencionado na mesma.
Em 14/04/2024 09:53, Adonay Felipe Nogueira escreveu:
> Boas notícias, a revisão r19528 parece resolver o problema da perda de
> precisão. Além disso, agora os valores são arredondados ou truncados
> apenas quando se usa getConteudoFormatado () ou asTxt (), que até onde
> entendo, devem ser usados apenas para gravação, resumo e preparação. Já
> o método converte () opera agora somente com valores em formato que não
> seja porcentagem e nem taxa de câmbio.
>
> Supostamente eu teria que investigar por qual motivo *não precisei* usar
> a outra parte da nova função converteNotacaoPorcentagem (), para
> converter de uma fração para porcentagem (paraFracao = false) em
> getConteudoFormatado () e asTxt (), mas como os cálculos do desconto
> simplificado de 20% (0,2) e da alíquota de 7,5% (0,075) parecem ter sido
> feitos corretamente, e a alíquota efetiva foi exibida corretamente no
> resumo sem precisar do método converteNotacaoPorcentagem (), então
> resolvi deixar assim por ora.
>
> Em 06/04/2024 19:30, Adonay Felipe Nogueira escreveu:
>> Favor desconsiderar o anexo que começa com 07 no email anterior, pois
>> ele está incorreto e se refere a outro teste. Sei que não se pode
>> remover um arquivo já publicado, mas segue a cópia de segurança
>> correta gerada pelo IRPF privativo de liberdade do exercício de 2024,
>> ano base 2023.
>>
>> Em 06/04/2024 18:52, Adonay Felipe Nogueira escreveu:
>>> Em adendo ao relato inicial, segue mais alguns testes e, inclusive,
>>> segue em anexo as declarações geradas pelo próprio IRPF privativo de
>>> liberdade.
>>>
>>> = Etapas para teste
>>>
>>> 1. Faça uma declaração nova conforme parâmetros dos subitens abaixo,
>>> ou restaure as cópias de segurança das declarações em anexo, todas as
>>> quais foram geradas pelo próprio IRPF privativo de liberdade,
>>> selecionando a opção pela declaração simplificada.
>>>
>>> 1.a) Faça uma nova declaração: irpf nova 01234567890
>>>
>>> 1.b) Em aplicacao/dados/iddeclaracao.xml, insira:
>>> nome="CONTRIBUINTE"
>>> tipoDeclaracao="1"
>>>
>>> 1.c) Em aplicacao/dados/0123456780/0123456780.xml, adicione um item
>>> vazio em colecaoRendPJTitular.
>>>
>>> 2.d) irpf recalcula 0123456780
>>>
>>> 3.e) No novo item em colecaoRendPJTitular, adicione:
>>> NIFontePagadora="01.234.567/0001-20"
>>> nomeFontePagadora="PAGADOR"
>>> rendRecebidoPJ="40.000,00"
>>>
>>> 2. irpf recalcula 01234567890
>>> 3. irpf resumo 01234567890
>>>
>>> Nas declarações em anexo, o registro 18 (REG_RESUMOSIMPLES) pode ser
>>> usado também para confrontar os valores gerados pelo IRPF-Livre.
>>>
>>> = Resultados dos testes
>>>
>>> == 2021, ano base 2020
>>>
>>> IRPF-Livre 2021 r18092 = 526,42 a pagar
>>> IRPF privativo 2021 1.9 = 686,42 a pagar
>>> 40.000,00 * (1 - 0,2) * 0,075 - 1.713,58 = 686,42 a pagar
>>>
>>> == 2022, ano base 2021
>>>
>>> IRPF-Livre 2022 r19250 = 526,42 a pagar
>>> IRPF privativo 2022 1.9 = 686,42 a pagar
>>> 40.000,00 * (1 - 0,2) * 0,075 - 1.713,58 = 686,42 a pagar
>>>
>>> == 2023, ano base 2022
>>>
>>> IRPF-Livre 2023 r19509 = 526,42 a pagar
>>> IRPF privativo 2023 1.5 = 686,42 a pagar
>>> 40.000,00 * (1 - 0,2) * 0,075 - 1.713,58 = 686,42 a pagar
>>>
>>> == 2024, ano base 2023
>>>
>>> IRPF-Livre 2024 r19523 = 401,61 a pagar
>>> IRPF privativo 2024 1.1 = 561,61 a pagar
>>> 40.000,00 * (1 - 0,2) * 0,075 - 1.838,39 = 561,61 a pagar
>>>
>>>
>>>
>>>
>>> Em 31/03/2024 00:18, Adonay Felipe Nogueira escreveu:
>>>> Conforme consta na revisão r19523 do irpf-livre-2024, encontrei
>>>> possíveis erros de arredondamento em
>>>> src/serpro/ppgd/negocio/Valor.java.
>>>>
>>>> Trata-se da perda de números pois valor retornado é incorreto caso
>>>> pVal tenha mais que duas casas decimais. O problema é mais visível e
>>>> foi encontrado na multiplicação (*), que é usada em alguns locais
>>>> com porcentagens. Falta investigar se também ocorre com outras
>>>> operações matemáticas.
>>>>
>>>> = Como reproduzir
>>>>
>>>> 1. Preencha uma declaração com rendimentos tributáveis maiores que o
>>>> limite cujo multiplicador tenha mais que duas casas decimais e mande
>>>> o IRPF-Livre recalcular. Use algo como
>>>> serpro.ppgd.irpf.ModeloDeclaracao.LIMITE_ANUAL_7_MEIO_PORCENT + R$
>>>> 1,00.
>>>>
>>>> 2. Siga a seção "Dicas para encontrar/depurar erros" do LEIAME até o
>>>> passo 5, vá ao final do ~/.jdbrc e insira algo similar ao seguinte,
>>>> trocando o número ao final pelo da linha que usa
>>>> _baseCalculo.operacao ('*', "0,075") no arquivo
>>>> src/serpro/ppgd/irpf/ModeloDeclaracao.java:
>>>>
>>>> stop at serpro.ppgd.irpf.ModeloDeclaracao:65
>>>>
>>>> 3. Continue com os passos da seção e, após as configurações, faça
>>>> 'irpf resumo'.
>>>>
>>>> 4. Já dentro do jdb (vide LEIAME), use o comando 'run'.
>>>>
>>>> 5. Se tudo deu certo, o IRPF-Livre estará parado na linha que
>>>> pedimos. Agora exiba a base de cálculo e o resultado da
>>>> multiplicação para comparações futuras:
>>>>
>>>> eval _baseCalculo
>>>> eval _baseCalculo.operacao ('*', "0,075")
>>>>
>>>> 7. Assumindo que _baseCalculo esteja correta, faça a mesma
>>>> multiplicação em outra calculadora. Experimente também multiplicar
>>>> por 0,07.
>>>>
>>>> = Ambiente de testes
>>>>
>>>> * Distribuição: GNU+Linux Trisquel 11 Aramo
>>>>
>>>> * Compilador Eclipse: 3.16.0 (pacote: ecj=3.16.0-1)
>>>>
>>>> * Versões do OpenJDK Runtime Environment:
>>>> ** 11.0.22+7-post-Ubuntu-0ubuntu222.04.1 (pacote:
>>>> openjdk-11-jre-headless:amd64=11.0.22+7-0ubuntu2~22.04.1)
>>>> ** 21.0.2+13-Ubuntu-122.04.1 (pacote:
>>>> openjdk-21-jre-headless:amd64=21.0.2+13-1~22.04.1)
>>>>
>>>> * Versões do depurador jdb:
>>>> ** 11.0 (pacote:
>>>> openjdk-11-jdk-headless:amd64=11.0.22+7-0ubuntu2~22.04.1)
>>>> ** 21.0 (pacote: openjdk-21-jdk-headless:amd64=21.0.2+13-1~22.04.1)
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 236 bytes
Desc: OpenPGP digital signature
URL: <http://www.fsfla.org/pipermail/softwares-impostos/attachments/20240415/0ce763f9/attachment.sig>
Más información sobre la lista de distribución Softwares-impostos