OCA / l10n-brazil

Localização brasileira oficial do Odoo.
https://odoo-community.org/psc-teams/brazil-66
GNU Affero General Public License v3.0
236 stars 244 forks source link

[14.0][REF] l10n_br_fiscal: Melhoria de Desempenho nos Documentos Fiscais #3265

Closed antoniospneto closed 1 month ago

antoniospneto commented 1 month ago

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 commented 1 month ago

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

antoniospneto commented 1 month ago

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 commented 1 month ago

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.

rvalyi commented 1 month ago

/ocabot merge patch

OCA-git-bot commented 1 month ago

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 commented 1 month ago

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