From e10381968f886ff029927f5f09c43316dddafe8f Mon Sep 17 00:00:00 2001 From: juniortada Date: Mon, 3 Jun 2019 09:23:00 -0300 Subject: [PATCH] =?UTF-8?q?serializa=C3=A7=C3=A3o=20xml=20respons=C3=A1vel?= =?UTF-8?q?=20tecnico=20NT2018/003?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pynfe/processamento/serializacao.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pynfe/processamento/serializacao.py b/pynfe/processamento/serializacao.py index 077bbb2..9f623ad 100644 --- a/pynfe/processamento/serializacao.py +++ b/pynfe/processamento/serializacao.py @@ -410,6 +410,18 @@ class SerializacaoXML(Serializacao): else: return raiz + def _serializar_responsavel_tecnico(self, responsavel_tecnico, tag_raiz='infRespTec', retorna_string=True): + raiz = etree.Element(tag_raiz) + etree.SubElement(raiz, 'CNPJ').text = responsavel_tecnico.cnpj + etree.SubElement(raiz, 'xContato').text = responsavel_tecnico.contato + etree.SubElement(raiz, 'email').text = responsavel_tecnico.email + etree.SubElement(raiz, 'fone').text = responsavel_tecnico.fone + + if retorna_string: + return etree.tostring(raiz, encoding="unicode", pretty_print=True) + else: + return raiz + def _serializar_nota_fiscal(self, nota_fiscal, tag_raiz='infNFe', retorna_string=True): raiz = etree.Element(tag_raiz, versao=self._versao) @@ -636,6 +648,13 @@ class SerializacaoXML(Serializacao): if nota_fiscal.informacoes_complementares_interesse_contribuinte: etree.SubElement(info_ad, 'infCpl').text = nota_fiscal.informacoes_complementares_interesse_contribuinte + # Responsavel Tecnico NT2018/003 + if nota_fiscal.responsavel_tecnico: + for resp_tec in nota_fiscal.responsavel_tecnico: + raiz.append(self._serializar_responsavel_tecnico(resp_tec, returna_string=False)) + return + + if retorna_string: return etree.tostring(raiz, encoding="unicode", pretty_print=True) else: