当前位置: 首页>>代码示例>>Python>>正文


Python nfe.ProcessadorNFe类代码示例

本文整理汇总了Python中nfe.pysped.nfe.ProcessadorNFe的典型用法代码示例。如果您正苦于以下问题:Python ProcessadorNFe类的具体用法?Python ProcessadorNFe怎么用?Python ProcessadorNFe使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了ProcessadorNFe类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: consultar_servidor

    def consultar_servidor(self,cert,key,versao=u'2.00',ambiente=2,estado=u'MG',scan=False):
        """
        Este método verifica se o servidor está em operação
        @param cert: string do certificado digital A1,
        @param key: chave privada do certificado digital,
        @param versao: versão da nfe,
        @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação,
        @param estado: estado em que realizará a consulta do servidor,
        @param scan: habilita a contigência SCAN. 
        @return: Dicionário com o status,envio,resposta e reason.
        """

        p = ProcessadorNFe()
        p.ambiente=ambiente
        p.estado=estado
        p.versao=versao
        p.certificado.cert_str=cert
        p.certificado.key_str=key
        p.salvar_arquivos=False
        p.contingencia_SCAN=scan
        p.caminho = u''
        processo = p.consultar_servico()
        status=processo.resposta.cStat.valor
        processo.envio.xml
        processo.resposta.xml
        processo.resposta.reason
        
        return{'status':status,'envio':processo.envio.xml,'resposta':processo.resposta.xml,'reason':processo.resposta.reason}
开发者ID:filipecifali,项目名称:Recursos-NFE-em-Python,代码行数:28,代码来源:nf_e.py

示例2: inutilizar_nota

 def inutilizar_nota(self, cnpj, serie, numero, justificativa, cert, key, versao=u'2.00',
                     ambiente=2, estado=u'MG', tipo_contingencia=False):
     """
     Realiza a inutilização do número de uma nota fiscal
     @param cnpj:cnpj do emitente
     @param serie: serie da nfe
     @param numero: número da nota que deseja inutilizar
     @param justificativa: justificativa da inutilização 
     @param cert: string do certificado digital A1,
     @param key: chave privada do certificado digital,
     @param versao: versão da nfe,
     @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação,
     @param estado: estado em que realizará o processamento,
     @param tipo_contingencia: habilita a contigência .
     @return: Dicionário com o envio,resposta e reason.
     """
     p = ProcessadorNFe()
     p.versao = versao
     p.estado = estado
     p.ambiente = ambiente
     p.certificado.cert_str = cert
     p.certificado.key_str = key
     p.salvar_arquivos = False
     p.tipo_contingencia = tipo_contingencia
     p.caminho = u''
     processo = p.inutilizar_nota(cnpj=cnpj, serie=serie, numero_inicial=numero, justificativa=justificativa)
     processo.envio.xml
     processo.resposta.xml
     processo.resposta.reason
     vals = {'envio': processo.envio.xml,
             'resposta': processo.resposta.xml,
             'status_resposta': processo.resposta.infInut.cStat.valor,
             'status_motivo': processo.resposta.infInut.xMotivo.valor,
             'reason': processo.resposta.reason}
     return vals
开发者ID:geraldoandradee,项目名称:Recursos-NFE-em-Python,代码行数:35,代码来源:nf_e.py

示例3: inutilizar_faixa_numeracao

 def inutilizar_faixa_numeracao(self,cnpj,serie,numero_inicial,numero_final,justificativa,cert,key,versao=u'2.00',ambiente=2,estado=u'MG',scan=False):
     
     """
     Realiza a inutilização de faixa de numeração de nota fiscal
     @param cnpj:cnpj do emitente
     @param serie: série da nfe
     @param numero_inicial: faixa inicial da nota que deseja inutilizar
     @param numero_final: faixa final da nota que deseja inutilizar
     @param justificativa: justificativa da inutilização 
     @param cert: string do certificado digital A1,
     @param key: chave privada do certificado digital,
     @param versao: versão da nfe,
     @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação,
     @param estado: estado em que realizará o processamento,
     @param scan: habilita a contigência SCAN. 
     @return: Dicionário com o envio,resposta e reason.
     """
     
     p = ProcessadorNFe()
     p.versao= u'2.00'
     p.estado= u'MG'
     p.ambiente= 2
     p.certificado.cert_str=cert
     p.certificado.key_str=key
     p.salvar_arquivos=False
     p.contingencia_SCAN=scan
     p.caminho = u''
     processo = p.inutilizar_nota(cnpj=cnpj,serie=serie,numero_inicial=numero_inicial,numero_final=numero_final,justificativa=justificativa)
     processo.envio.xml
     processo.resposta.xml
     processo.resposta.reason
     
     return {'envio':processo.envio.xml,'resposta':processo.resposta.xml,'reason':processo.resposta.reason}
开发者ID:filipecifali,项目名称:Recursos-NFE-em-Python,代码行数:33,代码来源:nf_e.py

示例4: emitir_carta_correcao

    def emitir_carta_correcao(self, chave, cnpj, texto_correcao, cert, key, sequencia=None,versao=u'2.00', ambiente=2, estado=u'MG', scan=False):
        """
            @param chave:chave da nfe
            @param cert: string do certificado digital A1,
            @param key: chave privada do certificado digital,
            @param versao: versão da nfe,
            @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação,
            @param estado: estado em que realizará o processamento,
            @param scan: habilita a contigência SCAN.
            @return: Dicionário com o envio,resposta e reason.
            """
        p = ProcessadorNFe()
        p.versao = versao
        p.estado = estado
        p.ambiente = ambiente
        p.certificado.cert_str = cert
        p.certificado.key_str = key
        p.contingencia_SCAN = scan
        p.salvar_arquivos = False
        p.contingencia_SCAN = scan
        processo = p.corrigir_nota(chave_nfe=chave, cnpj=cnpj, texto_correcao=texto_correcao, ambiente=ambiente,sequencia=sequencia)
        processo.resposta.reason
        vals = {'envio': processo.envio.xml,
                'resposta': processo.processo_correcao_nfe.xml,
                'status_resposta': processo.resposta.infEvento.cStat.valor,
                'status_motivo': processo.resposta.infEvento.xMotivo.valor,
                'reason': processo.resposta.reason}
        if processo.resposta.infEvento.cStat.valor == '135':
            vals['protocolo'] = processo.resposta.infEvento.nProt.valor

        return vals
开发者ID:ephillipe,项目名称:Recursos-NFE-em-Python,代码行数:31,代码来源:nf_e.py

示例5: processar_nfe

    def processar_nfe(self, xml_nfe, cert, key, versao=u'2.00', ambiente=2, estado=u'MG',
                      tipo_contingencia=False):
        """
        Este método realiza o processamento de validação, assinatura e transmissão da nfe.
        @param xml_nfe:xml da nfe (string)
        @param cert: string do certificado digital A1,
        @param key: chave privada do certificado digital,
        @param versao: versão da nfe,
        @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação,
        @param estado: estado em que realizará o processamento,
        @param tipo_contingencia: habilita a contigência .
        @return: Dicionário com a chave_nfe, protocolo, envio, numero_lote, resposta, status_resposta,status_motivo e reason.
        """

        p = ProcessadorNFe()
        p.ambiente = ambiente
        p.estado = estado
        p.versao = versao
        p.certificado.cert_str = cert
        p.certificado.key_str = key
        p.salvar_arquivos = True
        p.tipo_contingencia = tipo_contingencia
        p.caminho = u''
        if versao == '3.10':
            n = NFe_310()
        else:
            n = NFe_200()
        n.infNFe.xml = xml_nfe
        for processo in p.processar_notas([n]):
            processo.envio.xml
            processo.resposta.xml
            processo.resposta.reason
        vals = {'envio': processo.envio.xml,
                'resposta': processo.resposta.xml,
                'chave_nfe': n.chave,
                'xml_pre_validado': n.xml,
                'status_resposta': processo.resposta.cStat.valor,
                'status_motivo': processo.resposta.xMotivo.valor,
                'reason': processo.resposta.reason
        }
        try:
            if processo.resposta.infProt.nProt.valor == '':
                vals['protocolo'] = processo.resposta.protNFe.infProt.nProt.valor
        except:
            pass

        for nome, proc in p.processos.iteritems():
            for arquivo in proc[1]:
                if arquivo[0] == 'numero_lote':
                    vals['numero_lote'] = arquivo[1]
                if arquivo[0] == 'numero_protocolo':
                    vals['protocolo'] = arquivo[1]
                    vals['resposta'] = proc[1][1][1]
                if arquivo[0] == 'status_resp':
                    vals['status_resposta'] = arquivo[1][0]
                    vals['status_motivo'] = arquivo[1][1]
        return vals
开发者ID:adrianobalani,项目名称:Recursos-NFE-em-Python,代码行数:57,代码来源:nf_e.py

示例6: processar_nfe

  def processar_nfe(self,xml_nfe,cert,key,versao=u'2.00',ambiente=2,estado=u'MG',scan=False):
     
      """
      Este método realiza o processamento de validação, assinatura e transmissão da nfe.
      @param xml_nfe:xml da nfe (string)
      @param cert: string do certificado digital A1,
      @param key: chave privada do certificado digital,
      @param versao: versão da nfe,
      @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação,
      @param estado: estado em que realizará o processamento,
      @param scan: habilita a contigência SCAN. 
      @return: Dicionário com a chave_nfe, protocolo, envio,resposta e reason.
      """
      
      p = ProcessadorNFe()
      p.ambiente=ambiente
      p.estado=estado
      p.certificado.cert_str=cert
      p.certificado.key_str=key
      p.salvar_arquivos=False
      p.contingencia_SCAN=scan
      p.caminho = u''
      n = NFe_200()
      n.infNFe.xml=xml_nfe 
      for processo in p.processar_notas([n]): 
          processo.envio.xml
          processo.resposta.xml
          processo.resposta.reason
 
      return {'envio':processo.envio.xml,
              'resposta':processo.resposta.xml,
              'chave_nfe':n.chave,
              'protocolo':processo.resposta.protNFe.infProt.nProt.valor,
              'reason':processo.resposta.reason
              }
开发者ID:filipecifali,项目名称:Recursos-NFE-em-Python,代码行数:35,代码来源:nf_e.py

示例7: cancelar_nota

 def cancelar_nota(self,chave,protocolo,justificativa,cert,key,versao=u'2.00',ambiente=2,estado=u'MG',scan=False):
     
     """
     Realiza o cancelamento da nfe.
     @param chave:chave da nfe
     @param protocolo: protocolo do processamento da nfe
     @param justificativa: justificativa do cancelamento 
     @param cert: string do certificado digital A1,
     @param key: chave privada do certificado digital,
     @param versao: versão da nfe,
     @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação,
     @param estado: estado em que realizará o processamento,
     @param scan: habilita a contigência SCAN. 
     @return: Dicionário com o envio,resposta e reason.
     """
     p = ProcessadorNFe()
     p.versao=versao
     p.estado=estado 
     p.ambiente=ambiente
     p.certificado.cert_str=cert
     p.certificado.key_str=key
     processo = p.cancelar_nota(chave_nfe=chave,numero_protocolo=protocolo,justificativa=justificativa)
     p.salvar_arquivos=False
     p.contingencia_SCAN=scan
 
     processo.envio.xml
     processo.resposta.xml
     processo.resposta.reason
     
     return {'envio':processo.envio.xml,'resposta':processo.resposta.xml,'reason':processo.resposta.reason}
开发者ID:filipecifali,项目名称:Recursos-NFE-em-Python,代码行数:30,代码来源:nf_e.py

示例8: download_xml

    def download_xml(self, cnpj, chave,  cert, key, versao=u'2.00', ambiente=2, estado=u'MG', scan=False):
        """
            Realiza  a consulta do manifesto do destinatário
            @param chave:chave da nfe
            @param cert: string do certificado digital A1,
            @param key: chave privada do certificado digital,
            @param versao: versão da nfe,
            @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação,
            @param estado: estado em que realizará o processamento,
            @param scan: habilita a contigência SCAN.
            @return: Dicionário com o envio,resposta e reason.
            """
        p = ProcessadorNFe()
        p.versao = versao
        p.estado = estado
        ESTADO_WS[estado] = SVAN
        p.ambiente = ambiente
        p.certificado.cert_str = cert
        p.certificado.key_str = key
        p.contingencia_SCAN = scan
        p.salvar_arquivos = False
        processo = p.download_nfe_xml(cnpj, ambiente, chave_nfe=chave)

        vals = {'envio': processo.envio.xml,
                'resposta': processo.resposta.xml,
                'proc_xml':processo.resposta.original,
                'status_resposta': processo.resposta.retNFe.cStat.valor,
                'status_motivo': processo.resposta.retNFe.xMotivo.valor,
                'reason': processo.resposta.reason}


        return vals
开发者ID:ephillipe,项目名称:Recursos-NFE-em-Python,代码行数:32,代码来源:nf_e.py

示例9: efetuar_manifesto

    def efetuar_manifesto(self, cnpj, tipo_evento, chave,  cert, key, versao=u'2.00', ambiente=2, estado=u'MG', scan=False):
        """
            Realiza o manifesto do destinatário
            @param chave:chave da nfe
            @param cert: string do certificado digital A1,
            @param key: chave privada do certificado digital,
            @param versao: versão da nfe,
            @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação,
            @param estado: estado em que realizará o processamento,
            @param scan: habilita a contigência SCAN.
            @return: Dicionário com o envio,resposta e reason.
            """
        p = ProcessadorNFe()
        p.versao = versao
        p.estado = estado
        #Provisoriamente apontado para um estado que usa o webservice de ambiente nacional, pois em MG ainda não existe suporte ao Manifesto do Destinatário
        ESTADO_WS[estado] = SVAN
        p.ambiente = ambiente
        p.certificado.cert_str = cert
        p.certificado.key_str = key
        p.contingencia_SCAN = scan
        p.salvar_arquivos = False
        processo = p.consultar_manifesto_destinatario(cnpj, tipo_evento=tipo_evento, chave_nfe=chave)

        vals = {'envio': processo.envio.xml,
                'resposta': processo.processo_evento_nfe.xml,
                'status_resposta': processo.resposta.infEvento.cStat.valor,
                'status_motivo': processo.resposta.infEvento.xMotivo.valor,
                'reason': processo.resposta.reason}
        if processo.resposta.infEvento.cStat.valor == '135':
            vals['protocolo'] = processo.resposta.infEvento.nProt.valor

        return vals
开发者ID:ephillipe,项目名称:Recursos-NFE-em-Python,代码行数:33,代码来源:nf_e.py

示例10: consultar_cadastro

 def consultar_cadastro(self, cpf_cnpj, inscricao_estadual, uf, cert, key, versao=u'2.00', ambiente=2, estado=u'MG', scan=False):
     """
         @param chave:chave da nfe
         @param cert: string do certificado digital A1,
         @param key: chave privada do certificado digital,
         @param versao: versão da nfe,
         @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação,
         @param estado: estado em que realizará o processamento,
         @param scan: habilita a contigência SCAN.
         @return: Dicionário com o envio,resposta e reason.
          """
     p = ProcessadorNFe()
     p.versao = versao
     p.estado = estado
     if uf in ('AC', 'RN', 'PB', 'SC', 'AC', 'AL', 'AP', 'DF', 'PB', 'RJ', 'RN', 'RO', 'RR', 'SC', 'SE', 'TO'):
         SVRS[NFE_AMBIENTE_PRODUCAO][u'servidor'] = u'svp-ws.sefazvirtual.rs.gov.br'
     if uf == 'RS':
         UFRS[NFE_AMBIENTE_PRODUCAO][u'servidor'] = u'sef.sefaz.rs.gov.br'
     p.ambiente = ambiente
     p.certificado.cert_str = cert
     p.certificado.key_str = key
     p.contingencia_SCAN = scan
     p.salvar_arquivos = False
     processo = p.consultar_cadastro_contribuinte(cpf_cnpj=cpf_cnpj, inscricao_estadual=inscricao_estadual, uf=uf, ambiente=ambiente)
     vals = {'envio': processo.envio.xml,
             'resposta': processo.resposta.xml,
             'status_resposta': processo.resposta.infCons.cStat.valor,
             'status_motivo': processo.resposta.infCons.xMotivo.valor,
             'reason': processo.resposta.reason}
     return vals
开发者ID:ephillipe,项目名称:Recursos-NFE-em-Python,代码行数:30,代码来源:nf_e.py

示例11: consultar_nfe

 def consultar_nfe(self,chave, cert, key, versao=u'2.00', ambiente=2, estado=u'MG', scan=False):
     """
         @param chave:chave da nfe
         @param cert: string do certificado digital A1,
         @param key: chave privada do certificado digital,
         @param versao: versão da nfe,
         @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação,
         @param estado: estado em que realizará o processamento,
         @param scan: habilita a contigência SCAN.
         @return: Dicionário com o envio,resposta e reason.
     """
     p = ProcessadorNFe()
     p.versao = versao
     p.estado = estado
     p.ambiente = ambiente
     p.certificado.cert_str = cert
     p.certificado.key_str = key
     p.contingencia_SCAN = scan
     p.salvar_arquivos = False
     processo, arquivos = p.consultar_nota(chave_nfe=chave)
     vals = {'envio': processo.envio.xml,
             'resposta': processo.resposta.xml,
             'status_resposta': processo.resposta.cStat.valor,
             'status_motivo': processo.resposta.xMotivo.valor,
             'reason': processo.resposta.reason,
             'arquivos':arquivos}
     return vals
开发者ID:ephillipe,项目名称:Recursos-NFE-em-Python,代码行数:27,代码来源:nf_e.py

示例12: cancelar_nota

    def cancelar_nota(self, cnpj, chave, protocolo, justificativa, cert, key, versao=u'2.00',
                      ambiente=2, estado=u'MG', tipo_contingencia=False):
        """
        Realiza o cancelamento da nfe.
        @param chave:chave da nfe
        @param protocolo: protocolo do processamento da nfe
        @param justificativa: justificativa do cancelamento 
        @param cert: string do certificado digital A1,
        @param key: chave privada do certificado digital,
        @param versao: versão da nfe,
        @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação,
        @param estado: estado em que realizará o processamento,
        @param tipo_contingencia: habilita a contigência .
        @return: Dicionário com o envio,resposta e reason.
        """
        p = ProcessadorNFe()
        p.versao = versao
        p.estado = estado
        p.ambiente = ambiente
        p.tipo_contingencia = tipo_contingencia
        p.certificado.cert_str = cert
        p.certificado.key_str = key
        p.salvar_arquivos = False
        processo = p.cancelar_nota(cnpj, chave_nfe=chave, numero_protocolo=protocolo,
                                   justificativa=justificativa)
        processo.resposta.reason
        vals = {'envio': processo.envio.xml,
                'resposta': processo.processo_cancelamento_nfe.xml,
                'status_resposta': processo.resposta.infEvento.cStat.valor,
                'status_motivo': processo.resposta.infEvento.xMotivo.valor,
                'reason': processo.resposta.reason}
        if processo.resposta.infEvento.cStat.valor == '135':
            vals['protocolo'] = processo.resposta.infEvento.nProt.valor

        return vals
开发者ID:adrianobalani,项目名称:Recursos-NFE-em-Python,代码行数:35,代码来源:nf_e.py

示例13: processar_lote

    def processar_lote(self, lista_xml_nfe, cert, key, versao=u'2.00', ambiente=2, estado=u'MG',
                       tipo_contingencia=False):
        """
        Este método realiza o processamento de validação, assinatura e transmissão da nfe.
        @param lista_xml_nfe:lista nfe
        @param cert: string do certificado digital A1,
        @param key: chave privada do certificado digital,
        @param versao: versão da nfe,
        @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação,
        @param estado: estado em que realizará o processamento,
        @param tipo_contingencia: habilita a contigência .
        @return: Dicionário com o envio,resposta e reason.
        """

        p = ProcessadorNFe()
        p.ambiente = ambiente
        p.estado = estado
        p.versao=versao
        p.tipo_contingencia = tipo_contingencia
        p.certificado.cert_str = cert
        p.certificado.key_str = key
        p.salvar_arquivos = False
        p.caminho = u''
        if versao == '3.10':
            n = NFe_310()
        else:
            n = NFe_200()
        lista = []
        if lista_xml_nfe:
            for x in lista_xml_nfe:
                n.infNFe.xml = x
                lista.append(n)
        for processo in p.processar_notas(lista):
            processo.envio.xml
            processo.resposta.xml
            processo.resposta.reason

        return {'envio': processo.envio.xml, 'resposta': processo.resposta.xml,
                'reason': processo.resposta.reason}
开发者ID:adrianobalani,项目名称:Recursos-NFE-em-Python,代码行数:39,代码来源:nf_e.py

示例14: download_xml

    def download_xml(self, cnpj, lista_chaves,  cert, key, ambiente_nacional=True, versao=u'2.00', ambiente=2, estado=u'MG',
                     tipo_contingencia=False):
        """
            Realiza  a consulta do manifesto do destinatário
            @param lista_chaves: lista de até 10 chaves
            @param cert: string do certificado digital A1,
            @param key: chave privada do certificado digital,
            @param versao: versão da nfe,
            @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação,
            @param estado: estado em que realizará o processamento,
            @param tipo_contingencia: habilita a contigência .
            @return: Dicionário com o envio,resposta e reason.
            """
        if len(lista_chaves)>10:
            raise ValueError(u'Maximo de 10 Chaves de Acesso por lote.')
            
        p = ProcessadorNFe()
        p.versao = versao
        p.estado = estado
        if ambiente_nacional:
            ESTADO_WS[estado] = SVAN
        p.ambiente = ambiente
        p.certificado.cert_str = cert
        p.certificado.key_str = key
        p.tipo_contingencia = tipo_contingencia
        p.salvar_arquivos = False
        processo = p.download_nfe_xml(cnpj, ambiente, lista_chaves=lista_chaves)

        vals = {'envio': processo.envio.xml,
                'resposta': processo.resposta.xml,
                'proc_xml':processo.resposta.original,
                #'status_resposta': processo.resposta.retNFe.cStat.valor,
                #'status_motivo': processo.resposta.retNFe.xMotivo.valor,
                'reason': processo.resposta.reason}
        for i,ret in enumerate(processo.resposta.retNFe):
            vals['status_resp_nota_' + str(i)] = ret.cStat.valor
            vals['status_motivo_nota_' + str(i)] = ret.xMotivo.valor

        return vals
开发者ID:marcydoty,项目名称:Recursos-NFE-em-Python,代码行数:39,代码来源:nf_e.py

示例15: consultar_nfe_destinatario

    def consultar_nfe_destinatario(self, cnpj, indnfe, indemi, cert, key, nsu='0', versao=u'2.00', ambiente=2, estado=u'MG', scan=False):
        """
            Realiza  a consulta do manifesto do destinatário
            @param cert: string do certificado digital A1,
            @param key: chave privada do certificado digital,
            @param versao: versão da nfe,
            @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação,
            @param estado: estado em que realizará o processamento,
            @param scan: habilita a contigência SCAN.
            @return: Dicionário com o envio,resposta e reason.
            """
        p = ProcessadorNFe()
        p.versao = versao
        p.estado = estado
        #Provisoriamente apontado para um estado que usa o webservice de ambiente nacional, pois em MG ainda não existe suporte ao Manifesto do Destinatário
        ESTADO_WS[estado] = SVAN
        p.ambiente = ambiente
        p.certificado.cert_str = cert
        p.certificado.key_str = key
        p.contingencia_SCAN = scan
        p.salvar_arquivos = False
        processo = p.consultar_notas_destinatario(cnpj=cnpj, indnfe=indnfe, indemi=indemi, nsu=nsu)
        resp = processo.resposta
        lista_notas = []
        if resp.cStat.valor == '138':#Documento localizado para o destinatário
            for resp in resp.ret:
                if resp.resNFe.xml:
                    dict_resnfe = {
                        'NSU': resp.resNFe.NSU.valor,
                        'chNFe': resp.resNFe.chNFe.valor,
                        'CNPJ': resp.resNFe.CNPJ.valor,
                        'CPF': resp.resNFe.CPF.valor,
                        'xNome': resp.resNFe.xNome.valor,
                        'IE': resp.resNFe.IE.valor,
                        'dEmi': resp.resNFe.dEmi.valor,
                        'tpNF': resp.resNFe.tpNF.valor,
                        'vNF': resp.resNFe.vNF.valor,
                        'digVal': resp.resNFe.digVal.valor,
                        'dhRecbto': resp.resNFe.dhRecbto.valor,
                        'cSitNFe': resp.resNFe.cSitNFe.valor,
                        'cSitConf': resp.resNFe.cSitConf.valor
                    }
                    lista_notas.append({'resNFe': dict_resnfe})
                if resp.resCanc.xml:
                    dict_rescanc = {
                        'NSU': resp.resCanc.NSU.valor,
                        'chNFe': resp.resCanc.chNFe.valor,
                        'CNPJ': resp.resCanc.CNPJ.valor,
                        'CPF': resp.resCanc.CPF.valor,
                        'xNome': resp.resCanc.xNome.valor,
                        'IE': resp.resCanc.IE.valor,
                        'dEmi': resp.resCanc.dEmi.valor,
                        'tpNF': resp.resCanc.tpNF.valor,
                        'vNF': resp.resCanc.vNF.valor,
                        'digVal': resp.resCanc.digVal.valor,
                        'dhRecbto': resp.resCanc.dhRecbto.valor,
                        'cSitNFe': resp.resCanc.cSitNFe.valor,
                        'cSitConf': resp.resCanc.cSitConf.valor
                    }
                    lista_notas.append({'resCanc': dict_rescanc})
                if resp.resCCe.xml:
                    dict_rescce = {
                        'NSU': resp.resCCe.NSU.valor,
                        'chNFe': resp.resCCe.chNFe.valor,
                        'dhEvento': resp.resCCe.dhEvento.valor,
                        'tpEvento': resp.resCCe.tpEvento.valor,
                        'nSeqEvento': resp.resCCe.nSeqEvento.valor,
                        'descEvento': resp.resCCe.descEvento.valor,
                        'xCorrecao': resp.resCCe.xCorrecao.valor,
                        'tpNF': resp.resCCe.tpNF.valor,
                        'dhRecbto': resp.resCCe.dhRecbto.valor
                    }
                    lista_notas.append({'resCCe': dict_rescce})


        vals = {'envio':processo.envio.xml,
                'resposta': processo.resposta.xml,
                'status_resposta': processo.resposta.cStat.valor,
                'status_motivo': processo.resposta.xMotivo.valor,
                'lista_notas': lista_notas,
                'reason': processo.resposta.reason}

        return vals
开发者ID:ephillipe,项目名称:Recursos-NFE-em-Python,代码行数:83,代码来源:nf_e.py


注:本文中的nfe.pysped.nfe.ProcessadorNFe类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。