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_fiscal: Melhoria de Desempenho nos Documentos Fiscais #3265

Merged
merged 1 commit into from
Aug 9, 2024

Conversation

antoniospneto
Copy link
Sponsor Contributor

Esta PR refatora o código para melhorar o desempenho ao processar documentos fiscais no Odoo.

Problema
Atualmente, a atribuição individual de valores de impostos, que não são poucos, resulta em múltiplas chamadas à ORM do Odoo, causando sobrecarga e reduzindo a eficiência, especialmente em faturas com mais de 10 linhas.

Solução
Atribuição Consolidada: Usamos um dicionário para atualizar todos os campos de impostos de uma só vez, reduzindo o número de operações de escrita no banco de dados.

Agradeço o feedback sobre esta melhoria.

@OCA-git-bot
Copy link
Contributor

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

@antoniospneto antoniospneto changed the title [REF] l10n_br_fiscal: Melhoria de Desempenho nos Documentos Fiscais [14.0][REF] l10n_br_fiscal: Melhoria de Desempenho nos Documentos Fiscais Aug 2, 2024
@antoniospneto antoniospneto marked this pull request as ready for review August 2, 2024 17:32
@antoniospneto antoniospneto marked this pull request as draft August 2, 2024 19:34
@antoniospneto
Copy link
Sponsor Contributor Author

Pessoal, coloquei a PR em rascunho, pq não consegui o ganho em desempenho que queria.
pra dar certo tenho que usar o .wirte() ao invés de .update() mas não podemos usar o write quando a chamada vem do onchange, então vou dar uma pensada melhor aqui

@antoniospneto
Copy link
Sponsor Contributor Author

Agora sim, teve uma melhora significativa, adicionei uma verificação para quando for um registro novo usar .update(), caso contrario usar o .write()

Testes Antes:

150 post-tests in 260.23s, 207871 queries

Testes Depois:

150 post-tests in 240.06s, 205421 queries

Mas quem vai mais perceber diferença é um usuário que está registrando uma nota fiscal / fatura com muitos itens.
A diferença é bem grande nesses casos.

@antoniospneto antoniospneto marked this pull request as ready for review August 3, 2024 00:24
Copy link
Member

@rvalyi rvalyi left a comment

Choose a reason for hiding this comment

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

valeu @antoniospneto !

@rvalyi
Copy link
Member

rvalyi commented Aug 9, 2024

/ocabot merge patch

@OCA-git-bot
Copy link
Contributor

On my way to merge this fine PR!
Prepared branch 14.0-ocabot-merge-pr-3265-by-rvalyi-bump-patch, awaiting test results.

@OCA-git-bot OCA-git-bot merged commit 3435e14 into OCA:14.0 Aug 9, 2024
6 of 7 checks passed
@OCA-git-bot
Copy link
Contributor

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