-
-
Notifications
You must be signed in to change notification settings - Fork 243
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][RFC] l10n_br_account_payment_brcobranca - fields Santander CNAB 400 #2870
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -52,10 +52,12 @@ | |
attrs="{'required': [('payment_method_code', 'in', ('240', '400', '500')), ('payment_type', '==', 'inbound')]}" | ||
/> | ||
<field name="boleto_wallet" /> | ||
<field name="boleto_wallet2" /> | ||
<field | ||
name="boleto_wallet_to_impress" | ||
attrs="{'invisible': [('bank_code_bc', 'not in', ('033') )]}" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. esconder o campo é bom que a visão fica mais limpa mas ao mesmo tempo tem que ter mais cuidado, There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Nesse caso, acha viável complementar o help desse campo, incluindo que o mesmo é utilizado somente para o Santander após remover o atributo de invisibilidade? @mbcosta @antoniospneto There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @antoniospneto @kaynnan até onde entendi e pelo o que foi falado esse campo está sendo incluído para o caso especifico do Santander 400, ou não? Quais seriam os outros casos em que isso é usado? É preciso identifica-los, porque se isso é algo especifico para esse caso isso não deve afetar os outros casos ( se foi feito algum código nesse sentido vai precisar ser revisto ), a implementação foi pensada para permitir as diferenças entres os CNAB mas isolando o que é especifico de cada um, e se o desenvolvedor já sabe antecipadamente que um campo só existe para atender um determinado caso é desnecessário deixar para outra pessoa reavaliar isso em uma implementação, posso dizer que não é necessário para o caso UNICRED 400 então porque o usuário deveria ver esse campo? Isso vai além de deixar a visão "limpa" a implementação busca a medida que novos Bancos CNAB são implementados identificar as diferenças entre eles de forma clara para que os desenvolvedores possam tanto avaliar refatorações na Localização quanto no BRCobranca. Outra questão acabei sugerindo o nome boleto_wallet_to_impress mas parece que essa tradução não é das melhores e talvez seja melhor algo como boleto_wallet_to_print, sugestões são bem vindas There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Pelo o que compreendi através do backport que fiz da v12 referente a PR do @antoniospneto, foi que esse campo será destinado somente ao Santander 400, tanto que nessa refatoração alterei a declaração dele para o final do modelo |
||
/> | ||
<field name="boleto_modality" /> | ||
<field name="boleto_variation" /> | ||
<field name="transmission_code" /> | ||
<field name="boleto_accept" /> | ||
<field name="boleto_species" /> | ||
<field name="payment_method_code" invisible="1" /> | ||
|
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.
por mim tudo bem, mas eu confesso que achei um pouco estranho o tratar o "código de trasmissão" no mesmo campo do "código do convênio" pois como pode ver ali até o propria lib brcobrança trata de forma separada.
Apesar de que qualquer um desses campo de ser usado como identificador da empresa no banco, são informações diferentes.
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.
Então, acabei refatorando dessa maneira por conta dessa revisão Backport Santander, @mbcosta, como ficaríamos em relação a esse campo?
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.
@antoniospneto @kaynnan acredito que a lib BRCobranca procura criar os campos de acordo com o nome definido pelo Banco o que é bom lá para ficar de acordo com a Documentação do Banco e permitir um De Para direto, mas a lib não foi pensada para armazenar dados, os campos Código da Empresa/Beneficiario/Convenio/Transmissão são todos referentes a um:
Mas o nome do campo não é o mesmo entre os Bancos, devido a falta de padrão do CNAB mesmo na nomenclatura dos campos , por isso até onde vi o Antonio está errado em dizer que "são informações diferentes.", já que todos armazenam um campo com mesmo objetivo, ou esse campo código de transmissão não é o campo com o tamanho 20 que armazena um código que identifica a empresa junto ao banco?
Apenas para referencia sobre o debate na época #768
Isso também pode ser visto no código usado hoje https://github.com/OCA/l10n-brazil/blob/14.0/l10n_br_account_payment_brcobranca/models/account_payment_order.py , veja a lista de nome do campo de acordo com o Banco:
Deveríamos criar quatro campos diferentes para isso? Acredito que não, porque não faz sentido a Localização criar diversos campos para o CNAB que contém a mesma informação porém tem nomes diferentes entre os Bancos, como já foi falado não há um padrão nesses nomes, exemplo de outro campo em um caso é codigo_carteira em outro é carteira, deveríamos crias dois campos para esse caso? Esse De Para na localização acaba ficando no modulo l10n_br_account_payment_brcobranca
Entendo que pode ficar confuso para o desenvolvedor e por isso nos podemos pensar em alterar o nome do campo para algo genérico exemplo boleto_bank_company_code ou algum outro nome e colocar um comentário no código para evitar confusões, e também entendo que pode ficar confuso para o usuário e podemos ver de acrescentar um placeholder e talvez seja possível na visão incluir o campo 4 vezes com a String de acordo com cada caso e invisíveis entre si.
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.
Entendi, por esse lado realmente não faz sentido, por conta que teria que especificar para qual campo é destinado a X Banco e o size dele é igual ao do code_convetion, sendo assim, não fica confuso para o Usuário e Desenvolvedor, então o ideal seria manter essa refatoração removendo o transmission_code e considerar o code_convetion para a transmissão/convenio etc