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

[FIX] Problema na emissão da NFC-e #81

Merged
merged 4 commits into from
Jul 19, 2024

Conversation

corredato
Copy link
Contributor

@corredato corredato commented Jul 10, 2024

A emissão de NFC-e estava com um problema:

O método analisar_retorno_raw possui uma variável 'match' que recebe o valor de uma busca no xml através de regex, porém, o 'soap' do regex não existe no xml, e sim 'env'

@corredato corredato changed the title [FIX] regex [FIX] Problema na emissão da NFC-e Jul 10, 2024
@antoniospneto
Copy link
Contributor

antoniospneto commented Jul 10, 2024

@corredato consegue arrumar a versão da nfelib para os testes rodarem e conferir se vai passar em tudo?

@mileo
Copy link
Member

mileo commented Jul 10, 2024

nfelib

A nfelib não aceita todas as versões do python mais.

@mileo
Copy link
Member

mileo commented Jul 10, 2024

@corredato pode colocar algo explicativo log caso o match não obtenha algo, para nunca mais cairmos nesse problema de ficar horas procurando o problema.

@antoniospneto
Copy link
Contributor

nfelib

A nfelib não aceita todas as versões do python mais.

Mas ai podemos remover as versões do python não suportadas dos testes, precisamos ver se os testes estão passando pra saber se houve alguma regressão.

Copy link
Contributor

@antoniospneto antoniospneto left a comment

Choose a reason for hiding this comment

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

é bom verificar se os testes estão passando, para evitar regressão.

@rvalyi
Copy link
Member

rvalyi commented Jul 11, 2024

eu removi o Python 3.7 recentemente da nfelib pois ele ja ta end of life faz mais de 1 ano (e agora vem o EOL do 3.8 alias)...
Se for um problema pode usar a nfelib 2.0.7 ainda, mas as lib downstream precisam evoluir tb, nao da para lib downstream obrigar o upstream a travar no tempo...

@antoniospneto
Copy link
Contributor

antoniospneto commented Jul 11, 2024

@corredato @mileo

Tenho receio de que essa alteração possa quebrar a comunicação com outros webservices. Analisando melhor, acho que precisamos tornar o regex mais genérico para lidar com os diferentes prefixos que podem aparecer no body.

Sugiro utilizar algo mais genérico como:

pattern = r'<[a-zA-Z0-9:]*Body.*?>(.*?)</[a-zA-Z0-9:]*Body>
match = re.search(pattern, retorno.text.replace("\n", ""))

Acredito que essa abordagem seja mais robusta e evitará problemas com prefixos variados nos webservices. Além disso, outras pessoas já enfrentaram problemas semelhantes, como podemos ver nas seguintes referências:

@corredato
Copy link
Contributor Author

@antoniospneto Testei a emissão de nfce e nfe com esse pattern genérico e funcionou, já commitei, obrigado.

@antoniospneto
Copy link
Contributor

antoniospneto commented Jul 11, 2024

@corredato
Conseguer verificar o pre-commit que não tá passando? tbm arrumar os testes? tem que travar a nfelib na versão 2.0.7

@corredato corredato force-pushed the fix/transmissao-nfce branch 2 times, most recently from 061c90e to 936ec31 Compare July 12, 2024 17:10
@mileo mileo marked this pull request as draft July 17, 2024 11:10
@antoniospneto
Copy link
Contributor

@mileo vc tinha marcado como rascunho, tá tudo certo agora?

@mileo
Copy link
Member

mileo commented Jul 18, 2024

@mileo vc tinha marcado como rascunho, tá tudo certo agora?

Sim! Agora tá ok!

@mileo mileo marked this pull request as ready for review July 18, 2024 20:44
@mileo mileo merged commit 2f01752 into erpbrasil:master Jul 19, 2024
9 of 11 checks passed
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.

4 participants