Skip to content

Commit 3956b10

Browse files
authored
Merge pull request #208 from leogregianin/validacao-campos-nao-obrigatorios
Cria validação para campos não obrigatório
2 parents ca7dff2 + 2e23c0c commit 3956b10

1 file changed

Lines changed: 17 additions & 8 deletions

File tree

pynfe/processamento/serializacao.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,8 @@ def _serializar_cliente(self, cliente, modelo, tag_raiz='dest', retorna_string=T
154154
cliente.endereco_municipio, cliente.endereco_uf)
155155
etree.SubElement(endereco, 'xMun').text = cliente.endereco_municipio
156156
etree.SubElement(endereco, 'UF').text = cliente.endereco_uf
157-
etree.SubElement(endereco, 'CEP').text = so_numeros(cliente.endereco_cep)
157+
if cliente.endereco_cep:
158+
etree.SubElement(endereco, 'CEP').text = so_numeros(cliente.endereco_cep)
158159
etree.SubElement(endereco, 'cPais').text = cliente.endereco_pais
159160
etree.SubElement(endereco, 'xPais').text = obter_pais_por_codigo(cliente.endereco_pais)
160161
if cliente.endereco_telefone:
@@ -187,13 +188,20 @@ def _serializar_transportadora(self, transportadora, tag_raiz='transporta', reto
187188
raiz = etree.Element(tag_raiz)
188189

189190
# Dados da transportadora
190-
etree.SubElement(raiz, transportadora.tipo_documento.upper()).text = so_numeros(transportadora.numero_documento)
191-
etree.SubElement(raiz, 'xNome').text = transportadora.razao_social
192-
etree.SubElement(raiz, 'IE').text = transportadora.inscricao_estadual
191+
if transportadora.numero_documento:
192+
etree.SubElement(raiz, transportadora.tipo_documento.upper()).text = so_numeros(transportadora.numero_documento)
193+
if transportadora.razao_social:
194+
etree.SubElement(raiz, 'xNome').text = transportadora.razao_social
195+
if transportadora.inscricao_estadual:
196+
etree.SubElement(raiz, 'IE').text = transportadora.inscricao_estadual
197+
193198
# Endereço
194-
etree.SubElement(raiz, 'xEnder').text = transportadora.endereco_logradouro
195-
etree.SubElement(raiz, 'xMun').text = transportadora.endereco_municipio
196-
etree.SubElement(raiz, 'UF').text = transportadora.endereco_uf
199+
if transportadora.endereco_logradouro:
200+
etree.SubElement(raiz, 'xEnder').text = transportadora.endereco_logradouro
201+
if transportadora.endereco_municipio:
202+
etree.SubElement(raiz, 'xMun').text = transportadora.endereco_municipio
203+
if transportadora.endereco_uf:
204+
etree.SubElement(raiz, 'UF').text = transportadora.endereco_uf
197205

198206
if retorna_string:
199207
return etree.tostring(raiz, encoding="unicode", pretty_print=True)
@@ -1386,7 +1394,8 @@ def _serializar_emitente(self, emitente, tag_raiz='emit', retorna_string=True):
13861394
etree.SubElement(raiz, 'CNPJ').text = so_numeros(emitente.cpfcnpj)
13871395
etree.SubElement(raiz, 'IE').text = emitente.inscricao_estadual
13881396
etree.SubElement(raiz, 'xNome').text = emitente.razao_social
1389-
etree.SubElement(raiz, 'xFant').text = emitente.nome_fantasia
1397+
if emitente.nome_fantasia:
1398+
etree.SubElement(raiz, 'xFant').text = emitente.nome_fantasia
13901399
# Endereço
13911400
endereco = etree.SubElement(raiz, 'enderEmit')
13921401
etree.SubElement(endereco, 'xLgr').text = emitente.endereco_logradouro

0 commit comments

Comments
 (0)