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

[WIP] make compatible with nfelib-xsdata with originalCase #58

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

AndreMarcos
Copy link
Contributor

rebase visando a usar a branch originalCase do mdfe com xsdata (https://github.com/akretion/nfelib/tree/master-xsdata-originalCase) do nfelib.

Em continuação ao trabalho do @rvalyi com a nfelib

@mileo

@rvalyi
Copy link
Member

rvalyi commented Jun 29, 2023

ola @AndreMarcos
uns meses atras o @antoniospneto tinha ido por esse caminho para homologar a transmissão SOAP da nfelib 2 com os bindings xsdata. Porem desde então tem 3 novidades:

  1. a opção "originalCase" no xsdata que permitiu melhorar muito a compatibilidade com os bindings generateDS, pois agora os campos dos bindings são todos iguais aos dos bindings generateDS. Então vamos supor que vc vai ler algo numa NFe, que vc leia um binding generateDS ou xsdata fica igual (vai so mudou se vc quiser accessar o valor de um Enum, tem que acrescentar .value no final). So mudou o nome das classes, então o codigo para montar um binding sim teria que ser adaptado, mas veja os outros pontos:
  2. no Odoo versão 12, a gente não quer impor o refator de usar os novos bindings xsdata (apesar que basta mais ou menos fazer um cherry-pick das mudanças na v14). E a logica é um pouco a mesma com o erpbrasil.edoc que talvez ta sendo utilizado por mais pessoas alem do Odoo (vai que). Nisso a nfelib 2 incorpora os mesmos bindings "legacy" generateDS na pasta nfelib/v4_00, a mesma pasta de antes (digamos numa fase de transição durante 2023). E isso serve por erpbrasil.edoc por examplo. La no seu evento para cancelar ou inutilizar uma NFe por examplo ele vai puxar o mesmo binding generateDS de boa, vc não precisa alterar nada.
  3. para lidar com as poucas diferenças que sobraram eu fiz esse pequeno wrapper pro erpbrasil.edoc no nfelib https://github.com/akretion/nfelib/blob/master/nfelib/nfe/ws/edoc_legacy.py Então quando vc chamar o _post ou o assinar_raiz fica compativel que seja um bindings generateDS ou xsdata. Veja como esta sendo usado no Odoo, não precisou mudar nada para que funcionasse com o erpbrasil.edoc atual: https://github.com/OCA/l10n-brazil/pull/2371/files#diff-c00a5f12ea34fc891d5146e4412cded665e4c204e69343d6e5425e0eb0b4bb98R18

Nisso eu sugiro de seguir esse caminho de usar esse wrapper por examplo para a a NFC-e de vcs e não procurar alterar agora o erpbrasil.edoc que iria perder a compatibilidade com o pessoal que ta usando.

cc @marcelsavegnago @renatonlima @mbcosta @felipezago @mileo

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.

3 participants