Browse Source

Serializaçao cancelar ginfes versão 2

pull/7/head
Junior Tada 10 years ago
parent
commit
f20f46e184
  1. 20
      pynfe/processamento/autorizador_nfse.py
  2. 5
      pynfe/processamento/serializacao.py

20
pynfe/processamento/autorizador_nfse.py

@ -1,4 +1,3 @@
import ipdb
from pyxb import BIND from pyxb import BIND
from importlib import import_module from importlib import import_module
# import pynfe.utils.nfse.ginfes.servico_enviar_lote_rps_envio_v03 as servico_enviar_lote_rps_envio_v03 # import pynfe.utils.nfse.ginfes.servico_enviar_lote_rps_envio_v03 as servico_enviar_lote_rps_envio_v03
@ -369,7 +368,7 @@ class SerializacaoGinfes(InterfaceAutorizador):
enviarLote.LoteRps = lote enviarLote.LoteRps = lote
return enviarLote.toxml("UTF-8", element_name='ns1:EnviarLoteRpsEnvio') return enviarLote.toxml("UTF-8", element_name='ns1:EnviarLoteRpsEnvio')
def cancelar(self, nfse):
def cancelar(self, nfse, codigo):
"""Retorna string de um XML gerado a partir do """Retorna string de um XML gerado a partir do
XML Schema (XSD). Binding gerado pelo modulo PyXB.""" XML Schema (XSD). Binding gerado pelo modulo PyXB."""
# id nfse # id nfse
@ -383,7 +382,7 @@ class SerializacaoGinfes(InterfaceAutorizador):
info_pedido = _tipos.tcInfPedidoCancelamento() info_pedido = _tipos.tcInfPedidoCancelamento()
info_pedido.Id = '1' info_pedido.Id = '1'
info_pedido.IdentificacaoNfse = id_nfse info_pedido.IdentificacaoNfse = id_nfse
info_pedido.CodigoCancelamento = 'C001'
info_pedido.CodigoCancelamento = codigo
# Pedido # Pedido
pedido = _tipos.tcPedidoCancelamento() pedido = _tipos.tcPedidoCancelamento()
@ -393,8 +392,19 @@ class SerializacaoGinfes(InterfaceAutorizador):
cancelar = servico_cancelar_nfse_envio_v03.CancelarNfseEnvio() cancelar = servico_cancelar_nfse_envio_v03.CancelarNfseEnvio()
cancelar.Pedido = pedido cancelar.Pedido = pedido
return cancelar.toxml(element_name='CancelarNfseEnvio')
return cancelar.toxml(element_name='ns1:CancelarNfseEnvio')
def cancelar_v2(self, nfse):
## serialização utilizando lxml
from lxml import etree
ns1 = 'http://www.ginfes.com.br/servico_cancelar_nfse_envio'
ns2 = 'http://www.ginfes.com.br/tipos'
raiz = etree.Element('{%s}CancelarNfseEnvio'%ns1, nsmap={'ns1': ns1, 'ns2':ns2})
prestador = etree.SubElement(raiz, '{%s}Prestador'%ns1)
etree.SubElement(prestador, '{%s}Cnpj'%ns2).text = nfse.emitente.cnpj
etree.SubElement(prestador, '{%s}InscricaoMunicipal'%ns2).text = nfse.emitente.inscricao_municipal
etree.SubElement(raiz, '{%s}NumeroNfse'%ns1).text = nfse.identificador
return etree.tostring(raiz, encoding='unicode')
def cabecalho(self): def cabecalho(self):
# info # info

5
pynfe/processamento/serializacao.py

@ -616,7 +616,10 @@ class SerializacaoNfse(object):
def cancelar(self, nfse): def cancelar(self, nfse):
if self.autorizador.lower() == 'ginfes': if self.autorizador.lower() == 'ginfes':
from pynfe.processamento.autorizador_nfse import SerializacaoGinfes from pynfe.processamento.autorizador_nfse import SerializacaoGinfes
return SerializacaoGinfes().cancelar(nfse)
## versao 3
#return SerializacaoGinfes().cancelar(nfse)
## versao 2
return SerializacaoGinfes().cancelar_v2(nfse)
elif self.autorizador.lower() == 'betha': elif self.autorizador.lower() == 'betha':
from pynfe.processamento.autorizador_nfse import SerializacaoBetha from pynfe.processamento.autorizador_nfse import SerializacaoBetha
return SerializacaoBetha().cancelar(nfse) return SerializacaoBetha().cancelar(nfse)

Loading…
Cancel
Save