@@ -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