本文整理汇总了Python中nfe.pysped.nfe.ProcessadorNFe.processar_notas方法的典型用法代码示例。如果您正苦于以下问题:Python ProcessadorNFe.processar_notas方法的具体用法?Python ProcessadorNFe.processar_notas怎么用?Python ProcessadorNFe.processar_notas使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nfe.pysped.nfe.ProcessadorNFe
的用法示例。
在下文中一共展示了ProcessadorNFe.processar_notas方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: processar_nfe
# 需要导入模块: from nfe.pysped.nfe import ProcessadorNFe [as 别名]
# 或者: from nfe.pysped.nfe.ProcessadorNFe import processar_notas [as 别名]
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
}
示例2: processar_nfe
# 需要导入模块: from nfe.pysped.nfe import ProcessadorNFe [as 别名]
# 或者: from nfe.pysped.nfe.ProcessadorNFe import processar_notas [as 别名]
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
示例3: processar_lote
# 需要导入模块: from nfe.pysped.nfe import ProcessadorNFe [as 别名]
# 或者: from nfe.pysped.nfe.ProcessadorNFe import processar_notas [as 别名]
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}