-
Notifications
You must be signed in to change notification settings - Fork 125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Invalid date, must be between 1997/07/01 and 2024/11/15 #72
Comments
Corresponde ao cálculo do fator de vencimento do código de barras. Conforme a metodologia utilizada, esse fator recebe a informação da diferença em dias da data de vencimento do boleto em relação à data 07/10/1997 (não achei fonte que explique essa data exata). O campo possui apenas 4 posições, sendo 9999 o seu limite e por isso a limitação no método. Uma consideração adicional que eu vi no documento do BB é que o fator de vencimento é "suprimido" por boletos com valores maiores do que R$ 99.999.999,99, visto que o espaço estipulado para valor é 10. Eu nunca vi isso implementado, então acredito que ninguém aplique essa validação em seus sistemas (até pq um boleto de 100 milhões não se vê muito por aí). Eu só fiquei com uma dúvida neste caso: é feito padding '0' no fator de vencimento restante? |
Boa noite, tudo bem ? Você implementou ou conhece alguém que implementou o cálculo de boletos para datas acima de '21/02/2025' ? |
Ainda não implementamos, mas pela especificação atual do BB, podemos usar a solução de contorno. |
Com o registro online, é provável que os códigos de barras e linhas digitáveis sejam gerados diretamente via API do banco emissor do boleto. Neste caso, não é necessário realizar os cálculos via pyboleto, basta usar o que é enviado pelo consumidor do package. Isso faz com que o cálculo de data seja desconsiderado, pois os valores já estarão calculados pelos próprios bancos. Tem um pull request que já aceita os valores calculados externamente e, por consequência, não realiza os cálculos: Trust-Code/python-boleto#36 |
@pfrozi Muito obrigado pelo retorno. Estou testando na minha aplicação a solução de contorno que você descreveu acima. Estou adicionando essa modificação na property do 'barcode':
|
Olá,
O código fonte do pacote data.py. Vi o seguinte trecho de código:
Fiquei curioso. Gostaria de saber por que existe essa validação de vencimento apenas entre 1997/07/01 e 2024/11/15
The text was updated successfully, but these errors were encountered: