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
# .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)