From 7f61f0edea7b5d26cf78d820aca7577b3ed50588 Mon Sep 17 00:00:00 2001 From: Junior Tada Date: Fri, 18 Sep 2015 15:08:02 -0300 Subject: [PATCH] =?UTF-8?q?Serializa=C3=A7=C3=A3o=20permite=20envio=20apen?= =?UTF-8?q?as=20com=20cpf/cnpj=20e=20indIEDest=20(ie=20se=20existir)=20par?= =?UTF-8?q?a=20destinat=C3=A1rio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pynfe/processamento/serializacao.py | 43 +++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/pynfe/processamento/serializacao.py b/pynfe/processamento/serializacao.py index 7b86209..48864b3 100644 --- a/pynfe/processamento/serializacao.py +++ b/pynfe/processamento/serializacao.py @@ -125,7 +125,8 @@ class SerializacaoXML(Serializacao): # Dados do cliente (distinatario) etree.SubElement(raiz, cliente.tipo_documento).text = so_numeros(cliente.numero_documento) - etree.SubElement(raiz, 'xNome').text = cliente.razao_social + if cliente.razao_social: + etree.SubElement(raiz, 'xNome').text = cliente.razao_social if not self._so_cpf: endereco = etree.SubElement(raiz, 'enderDest') etree.SubElement(endereco, 'xLgr').text = cliente.endereco_logradouro @@ -142,26 +143,26 @@ class SerializacaoXML(Serializacao): etree.SubElement(endereco, 'xPais').text = obter_pais_por_codigo(cliente.endereco_pais) if cliente.endereco_telefone: etree.SubElement(endereco, 'fone').text = cliente.endereco_telefone - #Indicador da IE do destinatário: 1 – Contribuinte ICMSpagamento à vista; 2 – Contribuinte isento de inscrição; 9 – Não Contribuinte - if cliente.isento_icms or cliente.inscricao_estadual.upper() == 'ISENTO': - etree.SubElement(raiz, 'indIEDest').text = str(2) - etree.SubElement(raiz, 'IE').text = 'ISENTO' - elif cliente.indicador_ie == 9: - # 9 – Não Contribuinte - etree.SubElement(raiz, 'indIEDest').text = str(9) - else: - # Indicador da IE do destinatário: 1 – Contribuinte ICMSpagamento à vista; - etree.SubElement(raiz, 'indIEDest').text = cliente.indicador_ie - etree.SubElement(raiz, 'IE').text = cliente.inscricao_estadual - # Suframa - if cliente.inscricao_suframa: - etree.SubElement(raiz, 'ISUF').text = cliente.inscricao_suframa - # Inscrição Municipal do tomador do serviço - if cliente.inscricao_municipal: - etree.SubElement(raiz, 'IM').text = cliente.inscricao_municipal - # E-mail - if cliente.email: - etree.SubElement(raiz, 'email').text = cliente.email + #Indicador da IE do destinatário: 1 – Contribuinte ICMSpagamento à vista; 2 – Contribuinte isento de inscrição; 9 – Não Contribuinte + if cliente.isento_icms or cliente.inscricao_estadual.upper() == 'ISENTO': + etree.SubElement(raiz, 'indIEDest').text = str(2) + etree.SubElement(raiz, 'IE').text = 'ISENTO' + elif cliente.indicador_ie == 9: + # 9 – Não Contribuinte + etree.SubElement(raiz, 'indIEDest').text = str(9) + else: + # Indicador da IE do destinatário: 1 – Contribuinte ICMSpagamento à vista; + etree.SubElement(raiz, 'indIEDest').text = cliente.indicador_ie + etree.SubElement(raiz, 'IE').text = cliente.inscricao_estadual + # Suframa + if cliente.inscricao_suframa: + etree.SubElement(raiz, 'ISUF').text = cliente.inscricao_suframa + # Inscrição Municipal do tomador do serviço + if cliente.inscricao_municipal: + etree.SubElement(raiz, 'IM').text = cliente.inscricao_municipal + # E-mail + if cliente.email: + etree.SubElement(raiz, 'email').text = cliente.email if retorna_string: return etree.tostring(raiz, encoding="unicode", pretty_print=True) else: