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][FIX+IMP] l10n_br_sale_stock: Inform Fields that should not be used from Sale 'prepare' methods, tests #3619

Merged

Conversation

mbcosta
Copy link
Contributor

@mbcosta mbcosta commented Feb 10, 2025

Inform Fields that should not be used from Sale 'prepare' methods, depends OCA/account-invoicing#1906

Esse PR deve resolver o problema reportado aqui #3616 , que é o programa deve usar os valores dos campos Número do Documento e Série informados no stock.picking e não no sale.order, acredito que a melhor solução para resolver isso é criando dois método que retornam os Campos que não usados dos métodos 'prepare' do Sale e como isso pode ser tanto um problema da Localização também pode acabar sendo um problema para outras Localizações ou mesmo para módulos customizados será melhor resolver a nível do sale_stock_picking_invocing ao invés de resolver apenas na Localização Brasileira, então agora basta informar qualquer campo que venha do Sale mas que não deverá ser usado para criar a Fatura herdando o método _get_fields_not_used_from_sale para os campos do sale.order ou o _get_fields_not_used_from_sale_line para os campos do sale.order.line.

Inclui um teste para esse caso, assim evitamos regressões, mas como o PR depende do OCA/account-invoicing#1906 o CI aqui vai ficar com erro até ocorrer o merge.

cc @OCA/local-brazil-maintainers @DiegoParadeda

@OCA-git-bot
Copy link
Contributor

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

Copy link
Contributor

@DiegoParadeda DiegoParadeda left a comment

Choose a reason for hiding this comment

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

Simulei aqui e tudo certo, valeu @mbcosta

@rvalyi
Copy link
Member

rvalyi commented Feb 12, 2025

@mbcosta o merge do OCA/account-invoicing#1906 foi feito. Agora vc sabe porque os testes ja tinham passado aqui mesmo assim? não deveria ter dado erro até esse merge entrar? (disclaimer: não analisei)

@rvalyi
Copy link
Member

rvalyi commented Feb 12, 2025

@mbcosta na real antes do merge de OCA/account-invoicing#1906 o metodo _get_fields_not_used_from_sale simplesmente não foi chamado (sem dar erro). Mas talvez teria sido interessante o teste dar erro com algum valor não batendo para validar que realmente o override do _get_fields_not_used_from_sale foi necessário...

@mbcosta
Copy link
Contributor Author

mbcosta commented Feb 13, 2025

@rvalyi ao rodar os testes apenas instalando o l10n_br_account e em seguida o l10n_br_sale retorna erro

========= TEST Doc Number ===== 1 False
2025-02-12 21:48:08,952 80 INFO test odoo.addons.l10n_br_sale_stock.tests.test_sale_stock: ====================================================================== 
2025-02-12 21:48:08,953 80 ERROR test odoo.addons.l10n_br_sale_stock.tests.test_sale_stock: FAIL: TestSaleStock.test_generate_document_number_on_invoice_create_wizard
Traceback (most recent call last):
  File "/odoo/external-src/l10n-brazil-FIX-sale_stock_allow_rem_fields_from_sale/l10n_br_sale_stock/tests/test_sale_stock.py", line 565, in test_generate_document_number_on_invoice_create_wizard
    self.assertEqual(picking.document_number, invoice.document_number)
AssertionError: '1' != False

Mas ao rodar os Testes da forma que o CI faz o campo vem preenchido e não ocorre o erro

2025-02-13 01:45:33,220 89 INFO odoo odoo.addons.l10n_br_sale_stock.tests.test_sale_stock: Starting TestSaleStock.test_generate_document_number_on_invoice_create_wizard ... 
========= TEST Doc Number ===== 1 1
2025-02-13 01:45:44,249 89 INFO odoo odoo.addons.l10n_br_sale_stock.tests.test_sale_stock: Starting TestSaleStock.test_lucro_presumido_company ...

Não entendi ainda o porque isso acontece, talvez porque ficou salvo de outro teste? Posso ver de deixar um comentário ou TODO, também pensei sobre alterar no sale_stock_picking_invoicing a ordem de atualização dos dicionários para assim os valores que vem do Picking simplesmente sobre escreverem os que vem do Sale e assim tirar a necessidade de remover os campos não usados, mas é preciso olhar com mais profundidade e analisar, porém acredito que será melhor ver isso na v16 em diante

@rvalyi
Copy link
Member

rvalyi commented Feb 13, 2025

@mbcosta basicamente eu concordo com a mudança, apenas accredito que o teste poderia ser melhorado, mas é vdd, sendo na 14.0, melhor fazer o merge e o luxo de melhorar ficara para a v16+.

@rvalyi
Copy link
Member

rvalyi commented Feb 13, 2025

/ocabot merge patch

@OCA-git-bot
Copy link
Contributor

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

@OCA-git-bot OCA-git-bot merged commit 3474494 into OCA:14.0 Feb 13, 2025
5 of 7 checks passed
@OCA-git-bot
Copy link
Contributor

Congratulations, your PR was merged at 35617f1. 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.

5 participants