-
-
Notifications
You must be signed in to change notification settings - Fork 249
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
[14.0][IMP] l10n_br_account_payment_cobranca: add seg. R details #3624
Conversation
@DiegoParadeda entendo o problema porém a solução precisa ficar restrita ao caso que vocês está buscando resolver, Banco Santander CNAB 240 Veja o exemplo do caso UNICRED Então isso precisa ser incluído aqui Isso é importante porque na implementação do CNAB nós usamos como premissa "O Banco X CNAB Y é assim e precisa disso ou daquilo mas os outros Bancos CNAB que ainda não foram implementados nós não sabemos" e não a premissa "O Banco X CNAB Y é assim então todos os outros Bancos serão iguais" No inicio da implementação foi usada essa ideia de generalização mesmo para o CNAB 240 que era visto como Padronizado e se considerava o Itau 240 como "O Padrão" mas com o tempo e com outros casos sendo implementados foi visto que isso não era real, e se for feita essa abordagem de generalização, como a sua porque afeta todos os casos, isso pode passar a gerar erro em casos que já foram Homologados, Testados e portanto estão em Produção. Essa "generalização" foi um dos principais problemas que tivemos na implementação do CNAB, e até levou um tempo "batendo-cabeça" até mudar essa visão e passar a considerar que apesar das Documentações e da FEBRABAN dizerem que usam "O Padrão" na verdade não existe esse "Padrão" e só assim foi possível ter uma implementação viável, considerando na arquitetura essa falta de "Padrão", porque antes o que acontecia era que muitos metodos acabavam "juntando tudo" ignorando essa questão das diferenças entre os Bancos/CNAB, mesmo as diferenças entre um mesmo Banco no 400 e 240, e ao alterar/corrigir/implementar um caso específico isso acabava afetando diversas partes do módulo aumentando o DIFF, dificultando a Revisão, e em mutos casos causando erros em outros em outros Banco/CNAB, já que na maioria da vezes o desenvolvedor está focado em um caso especifico ignorando todos os outros o que é o normal e esperado já que tem um custo grande de Tempo/Trabalho implementar todos os casos de uma vez para ter uma visão macro e juntar o que é comum, isso é feito depois e apenas nos casos onde temos a certeza que um determinado grupo de Banco/CNAB tem um mesmo comportamento, então por principio consideramos que cada caso Banco/CNAB pode esperar campos e valores diferentes, no README do l10n_br_account_payment_order tem um comentário sobre isso |
5f39733
to
659e77e
Compare
@mbcosta corrigido! |
l10n_br_account_payment_brcobranca/models/account_payment_line.py
Outdated
Show resolved
Hide resolved
l10n_br_account_payment_brcobranca/models/account_payment_line.py
Outdated
Show resolved
Hide resolved
401f71b
to
313c424
Compare
l10n_br_account_payment_brcobranca/models/account_payment_line.py
Outdated
Show resolved
Hide resolved
55c28ba
to
4ca6d28
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Valeu @DiegoParadeda parabéns pelo trabalho, obrigado por considerar a revisão
Valeu @mbcosta!! |
/ocabot merge patch |
Hey, thanks for contributing! Proceeding to merge this for you. |
Congratulations, your PR was merged at 93efae3. Thanks a lot for contributing to OCA. ❤️ |
Para o caso do boleto 240 do Santander alguns campos obrigatórios não estavam sendo preenchidas nas instruções de Baixa e Abatimento:
Adicionei as duas instruções no trecho de código que popula esses campos, antes apenas a instrução de Registro passava no trecho.
Testes