Skip to content
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][REF] l10n_br_account_payment_order, l10n_br_account_payment_brcobranca: Unificando os Códigos CNAB em um único objeto #3337

Merged
merged 7 commits into from
Sep 11, 2024

Conversation

mbcosta
Copy link
Contributor

@mbcosta mbcosta commented Sep 3, 2024

Unify cnab code objects.

Unificando os Códigos CNAB em um único objeto.

O PR é uma extração do #3243 buscando separar as alterações e facilitar a revisão, basicamente

Ao tentar resolver a questão do Código de Desconto alterando de um CHAR para um Objeto vi que essa solução estava gerando muito Código, Visões e Menus semelhantes quase duplicadas, e se isso fosse feito nos outros campos "Código de Tarifa, Abatimento e Multa" essa quantidade de código seria maior ainda por isso procurei uma forma de resolver com menos código possível, o que fiz foi criar um objeto único "Código CNAB"/l10n_br_cnab.code e incluir um campo Seleção/selection "Tipo do Código"/code_type assim com um único objeto, visão e menu será possível incluir esses códigos evitando esse problema.

Então as informações que antes estavam nos objetos l10n_br_cnab.mov.instruction.code, l10n_br_cnab.return.move.code e l10n_br_cnab.boleto.wallet.code irão passar para o l10n_br_cnab.code.

Para migrar e já visando a alteração para Separar o Modo de Pagamento das Configurações CNAB os campos no novo objeto estão sendo renomeados:

  • Nos objetos account.mode.line e account.payment.line
DE l10n_br_cnab.mov.instruction.code PARA l10n_br_cnab.code
mov_instruction_code_id instruction_move_code_id
  • No account.payment.mode
DE l10n_br_cnab.mov.instruction.code PARA l10n_br_cnab.code
cnab_sending_code_id sending_code_id
cnab_write_off_code_id write_off_code_id
cnab_code_change_title_value_id change_title_value_code_id
cnab_code_change_maturity_date_id change_maturity_date_code_id
cnab_code_protest_title_id protest_title_code_id
cnab_code_suspend_protest_keep_wallet_id suspend_protest_keep_wallet_code_id
cnab_code_suspend_protest_write_off_id suspend_protest_write_off_code_id
cnab_code_grant_rebate_id grant_rebate_code_id
cnab_code_cancel_rebate_id cancel_rebate_code_id
cnab_code_grant_discount_id grant_discount_code_id
cnab_code_cancel_discount_id cancel_discount_code_id
DE l10n_br_cnab.return.move.code PARA l10n_br_cnab.code
cnab_liq_return_move_code_ids liq_return_move_code_ids
DE l10n_br_cnab.boleto.wallet.code PARA l10n_br_cnab.code
boleto_wallet_code_id wallet_code_id

Os Commits também foram divididos para facilitar a Revisão:

1 - [REF] l10n_br_account_payment_order: Join CNAB Cod
Onde estão as alterações nos Models, Script de Migração e Permissão de Acesso ao novo objeto

2 - [REF] l10n_br_account_payment_order: View CNAB Cod
Apenas as alterações nas Visões

OBS.: Os antigos campos estão apenas Comentados com um TODO para permitir a Migração e os Menus para não aparecer, mas serão removidos já no PR de Separar o Modo de Pagamento das Configurações CNAB

3 - [REF] l10n_br_account_payment_order: Data CNAB Cod
O maior DIFF porém com alterações repetitivas o objeto deve ser alterado para l10n_br_cnab.code e precisa informar o "Tipo do Código CNAB"/code_type.

No PR #3243 acabaram passando alguns erros, em alguns casos do Bradesco e em um caso do AILOS faltava informar o "Tipo do Código", para evitar que isso aconteça tanto agora como em futuros PRs eu coloquei os campos como Required, já que não é possível usa-los sem essas informações.

4 - [REF] l10n_br_account_payment_order: Demo CNAB Cod
Apenas atualizações dos Dados de Demonstração

5 - [REF] l10n_br_account_payment_order: Test CNAB Cod
Apenas atualizações dos Testes

6 - [REF] l10n_br_account_payment_brcobranca: Join CNAB Cod
Alterações necessárias no modulo do BRCobranca

O script de migração deve criar todos os:

  • Códigos de CNAB baseados nos que existem no BD
  • Atualizar todas as account.move.line e account.payment.line com o novo "Código de Instrução de Movimento"
  • Atualizar em todos os Modos de Pagamentos os novos Códigos CNAB

Depois de rodar a migração você pode para confirmar se tudo ocorreu como deveria verificar se:

  • Em uma Fatura com CNAB se nas linhas account.move.line e em uma Ordem de Pagamento com CNAB se nas linhas account.payment.line o campo "Código de Instrução do Movimento" que aparece na Visão esta preenchido.

  • No Modo de Pagamento/account.payment.mode com CNAB na Visão na aba "Configuração dos Códigos CNAB" se os Códigos estão preenchidos

cc @rvalyi @renatonlima @marcelsavegnago @mileo

@OCA-git-bot
Copy link
Contributor

Hi @rvalyi,
some modules you are maintaining are being modified, check this out!

Copy link
Contributor

@antoniospneto antoniospneto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fiz uma sugestão no script de migração e abri uma PR para sua branch:
akretion#223. Precisei aplicar essa correção devido a problemas que encontrei no meu ambiente.

Fora isso, tudo parece estar OK. Com essa correção, consegui atualizar uma base de staging, verifiquei que os códigos foram migrados corretamente, o boleto foi impresso e a ordem de débito (remessa) foi gerada com sucesso.

@antoniospneto
Copy link
Contributor

@mbcosta

um outro pequeno detalhe faltou mudar o campo aqui na exibição:
image

@rvalyi
Copy link
Member

rvalyi commented Sep 10, 2024

@mbcosta @antoniospneto fiz o merge no script de migração.

@mbcosta
Copy link
Contributor Author

mbcosta commented Sep 10, 2024

Obrigado a todos pela Revisão, valeu @antoniospneto pelo script de migração, para quem revisou antes do force-push a única coisa que mudou foi que alterei na visão o campo mov_instruction_code_id https://github.com/OCA/l10n-brazil/blob/14.0/l10n_br_account_payment_order/views/account_move_line.xml#L20 para o instruction_move_code_id https://github.com/akretion/l10n-brazil/blob/14.0-unify_cnab_code_objects/l10n_br_account_payment_order/views/account_move_line.xml#L20 na Visão Tree do account.payment.line, o que o Antonio havia apontado que estava faltando e com isso também acabei fazendo o rebase.

@rvalyi
Copy link
Member

rvalyi commented Sep 10, 2024

parabens pelo trabalho @mbcosta! Apenas ajeitei o name e summary do l10n_br_account_payment_order_brcobranca que tava feio na tabela dos módulos. Agora que a localização ta muito mais limpa da para ser mais chamativo sem ser culpado de incentivar as pessoas a quebrar a cara como infelizmente era durante esses anos de refatores malucos até estabilizar na v14.

/ocabot merge nobump

@OCA-git-bot
Copy link
Contributor

This PR looks fantastic, let's merge it!
Prepared branch 14.0-ocabot-merge-pr-3337-by-rvalyi-bump-nobump, awaiting test results.

@OCA-git-bot OCA-git-bot merged commit d1bf37b into OCA:14.0 Sep 11, 2024
5 of 7 checks passed
@OCA-git-bot
Copy link
Contributor

Congratulations, your PR was merged at 85dcd53. Thanks a lot for contributing to OCA. ❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants