Browse Source

[FIX] Adicionada correção na tag idEstrangeiro quando a mesma não é preenchida no partner. Antes a tag era suprimida nestes casos gerando erro de schema quando na validação da invoice e geração de eDocs. Agora a tag é pertinente e quando não é preenchida.

pull/283/head
Jovani 6 years ago
parent
commit
8aa4d11368
  1. 5
      pytrustnfe/nfe/__init__.py
  2. 2082
      pytrustnfe/nfe/danfe.py
  3. 8
      pytrustnfe/xml/__init__.py
  4. 2
      setup.py

5
pytrustnfe/nfe/__init__.py

@ -17,7 +17,7 @@ from requests.packages.urllib3.exceptions import InsecureRequestWarning
# Zeep # Zeep
from requests import Session from requests import Session
from zeep import Client, Settings
from zeep import Client
from zeep.transports import Transport from zeep.transports import Transport
@ -63,7 +63,6 @@ def _render(certificado, method, sign, **kwargs):
else: else:
xml_send = etree.tostring(xmlElem_send, encoding=str) xml_send = etree.tostring(xmlElem_send, encoding=str)
return xml_send return xml_send
@ -72,8 +71,6 @@ def _get_session(certificado):
certificado.pfx, certificado.password) certificado.pfx, certificado.password)
cert, key = save_cert_key(cert, key) cert, key = save_cert_key(cert, key)
# print('\nEntrei aqui no send do pytrust!!!\n\n\n\n')
session = Session() session = Session()
session.cert = (cert, key) session.cert = (cert, key)
session.verify = False session.verify = False

2082
pytrustnfe/nfe/danfe.py
File diff suppressed because it is too large
View File

8
pytrustnfe/xml/__init__.py

@ -7,7 +7,10 @@ from lxml import etree
from lxml import objectify from lxml import objectify
from jinja2 import Environment, FileSystemLoader from jinja2 import Environment, FileSystemLoader
from . import filters from . import filters
import re
# Constant for inclusion of the tag idEstrangeiro when we have to export product
# and the id/cpf/cnpj for the company or person is not filled
ID_ESTRANG = '{http://www.portalfiscal.inf.br/nfe}idEstrangeiro'
def recursively_empty(e): def recursively_empty(e):
if e.text: if e.text:
@ -38,7 +41,7 @@ def render_xml(path, template_name, remove_empty, **nfe):
context = etree.iterwalk(root) context = etree.iterwalk(root)
for dummy, elem in context: for dummy, elem in context:
parent = elem.getparent() parent = elem.getparent()
if recursively_empty(elem):
if recursively_empty(elem) and elem.tag != ID_ESTRANG:
parent.remove(elem) parent.remove(elem)
return root return root
return etree.tostring(root, encoding=str) return etree.tostring(root, encoding=str)
@ -69,3 +72,4 @@ def recursively_normalize(vals):
for a in vals[item]: for a in vals[item]:
recursively_normalize(a) recursively_normalize(a)
return vals return vals

2
setup.py

@ -2,7 +2,7 @@
from setuptools import setup, find_packages from setuptools import setup, find_packages
VERSION = "1.0.44"
VERSION = "1.0.45"
setup( setup(

Loading…
Cancel
Save