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] compute nfe40_infRespTec in order to work with spec_import #2612

Closed
wants to merge 1 commit into from

Conversation

felipezago
Copy link
Contributor

Ao implementar a importação de NF-e, no PR #2552, acabei me deparando com uma situação ao importar um XML que possua uma tag many2one e que esse campo no odoo seja "related", como é o caso da tag "infRespTec":

Nesse caso o valor desse campo estava sendo considerado pelo odoo como literal, ocasionando um erro no momento da importação. Para solucionar, alterei o campo de related para computado.

@OCA-git-bot
Copy link
Contributor

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

@rvalyi
Copy link
Member

rvalyi commented Jul 13, 2023

Olá @felipezago , talvez seria melhor que o framework spec_driven_model considerasse se o related é read-only ou não do que fazer esse tipo de alteração, não analisei muito porem.

@felipezago
Copy link
Contributor Author

Olá @felipezago , talvez seria melhor que o framework spec_driven_model considerasse se o related é read-only ou não do que fazer esse tipo de alteração, não analisei muito porem.

Inicialmente eu tentei fazer a correção pelo spec_driven_model, porém ocorreram alguns problemas, como por exemplo tentar criar uma company com os dados do documento e resultando na falha do processo.

No fim das contas, cheguei a conclusão que o problema acontece porque o campo em questão é um related de um many2one de outro modelo. Fazendo os testes localmente percebi que se esse campo deixasse de ser related o problema se resolvia, então resolvi fazer dessa forma.

@hirokibastos
Copy link
Contributor

Esta mesma mudança foi feita na versão 12 por causa do mesmo problema em #1985, inclusive, o commit que introduziu esta mudança faz parte do PR #2552 .

##########################
# NF-e tag: infRespTec
##########################
nfe40_infRespTec = fields.Many2one(
comodel_name="res.partner", compute="_compute_resp_tec_data"
)
def _compute_resp_tec_data(self):
for record in self:
if record.company_id.technical_support_id:
record.nfe40_infRespTec = record.company_id.technical_support_id

@rvalyi
Copy link
Member

rvalyi commented Jul 14, 2023

@felipezago @hirokibastos eu entendo o porque da mudança. So que seria interessante ver se não seria melhor ter um suporte pro atributo readonly dos campos m2o na importação no spec_driven_model, pois deixaria os mappings mais DRY. Eu vou ter que mexer nisso para a importação da NFe de qualquer forma então logo eu dou um retorno. Neste tempo vcs podem fazer um cherry-pick deste commit nos PRs de vcs até a gente ter uma visão melhor sobre essa questão.

@felipezago felipezago closed this Jul 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants