Browse Source

Inicio consulta rps

pull/7/head
Junior Tada 10 years ago
parent
commit
8727df860a
  1. 4
      pynfe/entidades/notafiscal.py
  2. 18
      pynfe/processamento/comunicacao.py
  3. 17
      pynfe/processamento/serializacao.py

4
pynfe/entidades/notafiscal.py

@ -923,6 +923,10 @@ class NotaFiscalServico(Entidade):
simples = int() # 1-Sim; 2-Não simples = int() # 1-Sim; 2-Não
# Incentivo Fiscal # Incentivo Fiscal
incentivo = int() # 1-Sim; 2-Não incentivo = int() # 1-Sim; 2-Não
# Serie
serie = str()
# Tipo
tipo = str()
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):

18
pynfe/processamento/comunicacao.py

@ -381,6 +381,24 @@ class ComunicacaoNfse(Comunicacao):
retorno = self._post(url, xml) retorno = self._post(url, xml)
return retorno return retorno
def consulta_nota(self, autorizador, nota):
if autorizador.upper() == 'BETHA':
self._namespace = NAMESPACE_BETHA
self._versao = '2.02'
# url do serviço
url = self._get_url(autorizador) + NFSE[autorizador.upper()]['CONSULTA_RPS']
# consulta
raiz = etree.Element('ConsultarNfsePorRps')
# cabecalho
raiz.append(self._cabecalho_soap())
dados = etree.SubElement(raiz, 'nfseDadosMsg')
dados.append(nota)
# xml soap
xml = self._construir_xml(raiz)
retorno = self._post(url, xml)
return retorno
def _cabecalho_soap(self): def _cabecalho_soap(self):
u"""Monta o XML do cabeçalho da requisição SOAP""" u"""Monta o XML do cabeçalho da requisição SOAP"""

17
pynfe/processamento/serializacao.py

@ -677,6 +677,23 @@ class SerializacaoNfse(Serializacao):
else: else:
return raiz return raiz
def _serializar_consulta(self, nfse, tag_raiz='ConsultarNfseRpsEnvio', retorna_string=False):
if nfse.autorizador.upper() == 'BETHA':
namespace = NAMESPACE_BETHA
#versao = '2.02'
raiz = etree.Element(tag_raiz, xmlns=namespace)
identificacao = etree.SubElement(raiz, 'IdentificacaoRps')
etree.SubElement(identificacao, 'Numero').text = str(nfse.identificador)
etree.SubElement(identificacao, 'Serie').text = nfse.serie
etree.SubElement(identificacao, 'Tipo').text = nfse.tipo
raiz.append(self._serializar_emitente(nfse.emitente))
if retorna_string:
return etree.tostring(raiz, encoding="unicode", pretty_print=True)
else:
return raiz
class SerializacaoPipes(Serializacao): class SerializacaoPipes(Serializacao):
"""Serialização utilizada pela SEFAZ-SP para a importação de notas.""" """Serialização utilizada pela SEFAZ-SP para a importação de notas."""

Loading…
Cancel
Save