def test_inutilizar_notas_20(cert_info):
    from pysped.nfe import ProcessadorNFe
    from pysped.nfe.webservices_flags import *

    p = ProcessadorNFe()
    p.versao = u'2.00'
    p.estado = u'SP'
    p.certificado.arquivo = cert_info.arquivo
    p.certificado.senha = cert_info.senha
    p.salvar_arquivos = True
    p.contingencia_SCAN = False
    p.caminho = u''

    #
    # O retorno de cada webservice é um dicionário
    # estruturado da seguinte maneira:
    # { TIPO_DO_WS_EXECUTADO: {
    #       u'envio'   : InstanciaDaMensagemDeEnvio,
    #       u'resposta': InstanciaDaMensagemDeResposta,
    #       }
    # }
    #
    processo = p.inutilizar_nota(cnpj=u'11111111111111',
        serie=u'101',
        numero_inicial=18,
        justificativa=u'Testando a inutilização de NF-e')

    print processo.envio.xml
    print
    print processo.resposta.xml
    print
    print "NOTA UNICA"
    assert processo.resposta.reason

    #
    # Inutilizar uma faixa de numeração
    #
    processo = p.inutilizar_nota(cnpj=u'11111111111111',
        serie=u'101',
        numero_inicial=18,
        numero_final=28,
        justificativa=u'Testando a inutilização de NF-e')

    print processo.envio.xml
    print
    print processo.resposta.xml
    print
    print "FAIXA DE NOTAS"
    assert processo.resposta.reason
 def xml_inactivate(self, cr, uid, ids, inv, ei_obj, cert_name,
                    context=None):
     proc_nfe = ProcessadorNFe()
     proc_nfe.ambiente = 1 if inv.company_id.ei_environment == 'production' else 2
     proc_nfe.versao = '3.10'
     proc_nfe.estado = inv.company_id.partner_id.l10n_br_city_id.state_id.code
     proc_nfe.certificado.senha = inv.company_id.nfe_a1_password
     proc_nfe.certificado.arquivo = cert_name
     proc_nfe.salvar_arquivos = False
     processo = proc_nfe.inutilizar_nota(
         ambiente=ei_obj['ambiente'], codigo_estado=ei_obj['UF'],
         ano=ei_obj['ano'], cnpj=ei_obj['CNPJ/CPF'], serie=ei_obj['serie'],
         numero_inicial=ei_obj['numero_inicial'],
         numero_final=ei_obj['numero_final'],
         justificativa=ei_obj['justificativa'])
     if processo.resposta.infInut.cStat.valor == '102':
         result = {
             'action': 'inactivate',
             'message': processo.resposta.infInut.xMotivo.valor,
             'ei_status': 'inactive'}
     else:
         msg = processo.resposta.infInut.cStat.valor + ' - ' + processo.resposta.xMotivo.valor
         result = {
             'action': 'inactivate',
             'message': msg
         }
     return result
Esempio n. 3
0
    #  .envio - o objeto da classe XMLNFE enviado
    #  .envio.original - o texto do xml (envelope SOAP) enviado ao webservice
    #  .resposta - o objeto da classe XMLNFE retornado
    #  .resposta.version - version da HTTPResponse
    #  .resposta.status - status da HTTPResponse
    #  .resposta.reason - reason da HTTPResponse
    #  .resposta.msg - msg da HTTPResponse
    #  .resposta.original - o texto do xml (SOAP) recebido do webservice
    #

    #
    # Inutilizar somente uma nota
    #
    processo = p.inutilizar_nota(
        cnpj='11111111111111',
        serie='101',
        numero_inicial=18,
        justificativa='Testando a inutilização de NF-e')

    print(processo)
    print()
    print(processo.envio.xml)
    print()
    print(processo.envio.original)
    print()
    print(processo.resposta.xml)
    print()
    print(processo.resposta.original)
    print()
    print(processo.resposta.reason)
    #  .webservice - o webservice que foi consultado
    #  .envio - o objeto da classe XMLNFE enviado
    #  .envio.original - o texto do xml (envelope SOAP) enviado ao webservice
    #  .resposta - o objeto da classe XMLNFE retornado
    #  .resposta.version - version da HTTPResponse
    #  .resposta.status - status da HTTPResponse
    #  .resposta.reason - reason da HTTPResponse
    #  .resposta.msg - msg da HTTPResponse
    #  .resposta.original - o texto do xml (SOAP) recebido do webservice
    #

    #
    # Inutilizar somente uma nota
    #
    processo = p.inutilizar_nota(
        cnpj="11111111111111", serie="101", numero_inicial=18, justificativa="Testando a inutilização de NF-e"
    )

    print(processo)
    print()
    print(processo.envio.xml)
    print()
    print(processo.envio.original)
    print()
    print(processo.resposta.xml)
    print()
    print(processo.resposta.original)
    print()
    print(processo.resposta.reason)

    #
    #  .envio - o objeto da classe XMLNFE enviado
    #  .envio.original - o texto do xml (envelope SOAP) enviado ao webservice
    #  .resposta - o objeto da classe XMLNFE retornado
    #  .resposta.version - version da HTTPResponse
    #  .resposta.status - status da HTTPResponse
    #  .resposta.reason - reason da HTTPResponse
    #  .resposta.msg - msg da HTTPResponse
    #  .resposta.original - o texto do xml (SOAP) recebido do webservice
    #

    #
    # Inutilizar somente uma nota
    #
    processo = p.inutilizar_nota(
        cnpj='11111111111111',
        serie='101',
        numero_inicial=18,
        justificativa='Testando a inutilização de NF-e'
        )

    print(processo)
    print()
    print(processo.envio.xml)
    print()
    print(processo.envio.original)
    print()
    print(processo.resposta.xml)
    print()
    print(processo.resposta.original)
    print()
    print(processo.resposta.reason)