本文整理汇总了Python中pynfe.utils.so_numeros函数的典型用法代码示例。如果您正苦于以下问题:Python so_numeros函数的具体用法?Python so_numeros怎么用?Python so_numeros使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了so_numeros函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: identificador_unico
def identificador_unico(self):
# Monta 'Id' da tag raiz <infNFe>
# Ex.: NFe35080599999090910270550010000000011518005123
key = "%(uf)s%(ano)s%(mes)s%(cnpj)s%(mod)s%(serie)s%(nNF)s%(tpEmis)s%(cNF)s"%{
'uf': CODIGOS_ESTADOS[self.uf],
'ano': self.data_emissao.strftime('%y'),
'mes': self.data_emissao.strftime('%m'),
'cnpj': so_numeros(self.emitente.cnpj),
'mod': self.modelo,
'serie': str(self.serie).zfill(3),
'nNF': str(self.numero_nf).zfill(9),
'tpEmis': str(self.forma_emissao),
'cNF': self._codigo_numerico_aleatorio(),
}
return "NFe%(uf)s%(ano)s%(mes)s%(cnpj)s%(mod)s%(serie)s%(nNF)s%(tpEmis)s%(cNF)s%(cDV)s"%{
'uf': CODIGOS_ESTADOS[self.uf],
'ano': self.data_emissao.strftime('%y'),
'mes': self.data_emissao.strftime('%m'),
'cnpj': so_numeros(self.emitente.cnpj),
'mod': self.modelo,
'serie': str(self.serie).zfill(3),
'nNF': str(self.numero_nf).zfill(9),
'tpEmis': str(self.forma_emissao),
'cNF': str(self.codigo_numerico_aleatorio),
'cDV': self._dv_codigo_numerico(key),
}
开发者ID:rogerlista,项目名称:PyNFe,代码行数:26,代码来源:notafiscal.py
示例2: _serializar_consulta
def _serializar_consulta(self, consulta, tag_raiz='Consulta', retorna_string=True):
raiz = etree.Element(tag_raiz)
etree.SubElement(raiz, 'ModeloDocumento').text = 'NFCe'
etree.SubElement(raiz, 'Versao').text = self._versao
etree.SubElement(raiz, 'tpAmb').text = str(self._ambiente)
etree.SubElement(raiz, 'CnpjEmpresa').text = so_numeros(consulta.cnpj)
etree.SubElement(raiz, 'CnpjEmissor').text = so_numeros(consulta.cnpj)
if consulta.numero_inicial:
etree.SubElement(raiz, 'NumeroInicial').text = str(consulta.numero_inicial)
if consulta.numero_final:
etree.SubElement(raiz, 'NumeroFinal').text = str(consulta.numero_final)
etree.SubElement(raiz, 'Serie').text = str(consulta.serie)
if consulta.chave_acesso:
etree.SubElement(raiz, 'ChaveAcesso').text = str(consulta.chave_acesso)
if consulta.data_inicial and consulta.data_final:
etree.SubElement(
raiz, 'DataEmissaoInicial').text = consulta.data_inicial.strftime("%Y-%m-%d")
etree.SubElement(
raiz, 'DataEmissaoFinal').text = consulta.data_final.strftime("%Y-%m-%d")
if retorna_string:
return etree.tostring(raiz, encoding="unicode", pretty_print=True)
else:
return raiz
开发者ID:cesarbruschetta,项目名称:PyNFe,代码行数:29,代码来源:serializacao_consulta.py
示例3: _serializar_emitente
def _serializar_emitente(self, emitente, tag_raiz='emit', retorna_string=True):
raiz = etree.Element(tag_raiz)
# Dados do emitente
etree.SubElement(raiz, 'CNPJ').text = so_numeros(emitente.cnpj)
etree.SubElement(raiz, 'xNome').text = emitente.razao_social
etree.SubElement(raiz, 'xFant').text = emitente.nome_fantasia
etree.SubElement(raiz, 'IE').text = emitente.inscricao_estadual
# Endereço
endereco = etree.SubElement(raiz, 'enderEmit')
etree.SubElement(endereco, 'xLgr').text = emitente.endereco_logradouro
etree.SubElement(endereco, 'nro').text = emitente.endereco_numero
etree.SubElement(endereco, 'xCpl').text = emitente.endereco_complemento
etree.SubElement(endereco, 'xBairro').text = emitente.endereco_bairro
etree.SubElement(endereco, 'cMun').text = obter_codigo_por_municipio(
emitente.endereco_municipio, emitente.endereco_uf)
etree.SubElement(endereco, 'xMun').text = emitente.endereco_municipio
etree.SubElement(endereco, 'UF').text = emitente.endereco_uf
etree.SubElement(endereco, 'CEP').text = so_numeros(emitente.endereco_cep)
etree.SubElement(endereco, 'cPais').text = emitente.endereco_pais
etree.SubElement(endereco, 'xPais').text = obter_pais_por_codigo(emitente.endereco_pais)
etree.SubElement(endereco, 'fone').text = emitente.endereco_telefone
if retorna_string:
return etree.tostring(raiz, pretty_print=True)
else:
return raiz
开发者ID:YACOWS,项目名称:PyNFe,代码行数:28,代码来源:serializacao.py
示例4: _serializar_cliente
def _serializar_cliente(self, cliente, tag_raiz='dest', retorna_string=True):
raiz = etree.Element(tag_raiz)
# Dados do cliente
etree.SubElement(raiz, cliente.tipo_documento).text = so_numeros(cliente.numero_documento)
etree.SubElement(raiz, 'xNome').text = cliente.razao_social
etree.SubElement(raiz, 'IE').text = cliente.inscricao_estadual
# Endereço
endereco = etree.SubElement(raiz, 'enderDest')
etree.SubElement(endereco, 'xLgr').text = cliente.endereco_logradouro
etree.SubElement(endereco, 'nro').text = cliente.endereco_numero
etree.SubElement(endereco, 'xCpl').text = cliente.endereco_complemento
etree.SubElement(endereco, 'xBairro').text = cliente.endereco_bairro
etree.SubElement(endereco, 'cMun').text = cliente.endereco_municipio
etree.SubElement(endereco, 'xMun').text = obter_municipio_por_codigo(
cliente.endereco_municipio, cliente.endereco_uf,
)
etree.SubElement(endereco, 'UF').text = cliente.endereco_uf
etree.SubElement(endereco, 'CEP').text = so_numeros(cliente.endereco_cep)
etree.SubElement(endereco, 'cPais').text = cliente.endereco_pais
etree.SubElement(endereco, 'xPais').text = obter_pais_por_codigo(cliente.endereco_pais)
etree.SubElement(endereco, 'fone').text = cliente.endereco_telefone
if retorna_string:
return etree.tostring(raiz, pretty_print=True)
else:
return raiz
开发者ID:danielgoncalves,项目名称:PyNFe,代码行数:28,代码来源:serializacao.py
示例5: _serializar_emitente
def _serializar_emitente(self, emitente, tag_raiz="emit", retorna_string=True):
raiz = etree.Element(tag_raiz)
# Dados do emitente
etree.SubElement(raiz, "CNPJ").text = so_numeros(emitente.cnpj)
etree.SubElement(raiz, "xNome").text = emitente.razao_social
etree.SubElement(raiz, "xFant").text = emitente.nome_fantasia
etree.SubElement(raiz, "IE").text = emitente.inscricao_estadual
# Endereço
endereco = etree.SubElement(raiz, "enderEmit")
etree.SubElement(endereco, "xLgr").text = emitente.endereco_logradouro
etree.SubElement(endereco, "nro").text = emitente.endereco_numero
etree.SubElement(endereco, "xCpl").text = emitente.endereco_complemento
etree.SubElement(endereco, "xBairro").text = emitente.endereco_bairro
etree.SubElement(endereco, "cMun").text = emitente.endereco_municipio
etree.SubElement(endereco, "xMun").text = obter_municipio_por_codigo(
emitente.endereco_municipio, emitente.endereco_uf
)
etree.SubElement(endereco, "UF").text = emitente.endereco_uf
etree.SubElement(endereco, "CEP").text = so_numeros(emitente.endereco_cep)
etree.SubElement(endereco, "cPais").text = emitente.endereco_pais
etree.SubElement(endereco, "xPais").text = obter_pais_por_codigo(emitente.endereco_pais)
etree.SubElement(endereco, "fone").text = emitente.endereco_telefone
if retorna_string:
return etree.tostring(raiz, pretty_print=True)
else:
return raiz
开发者ID:infabinho,项目名称:PyNFe,代码行数:29,代码来源:serializacao.py
示例6: _serializar_empresa
def _serializar_empresa(self, empresa, tag_raiz='CadastroEmpresa',
retorna_string=True):
raiz = etree.Element(tag_raiz)
# Dados do empresa
etree.SubElement(raiz, 'EmpCNPJ').text = so_numeros(empresa.cnpj)
etree.SubElement(raiz, 'EmpRazSocial').text = empresa.razao_social
etree.SubElement(raiz, 'EmpNomFantasia').text = empresa.nome_fantasia
etree.SubElement(raiz, 'EmpApelido').text = empresa.apelido
etree.SubElement(raiz, 'EmpIE').text = empresa.inscricao_estadual
# Inscricao Municipal
if empresa.inscricao_municipal:
etree.SubElement(raiz, 'EmpIM').text = so_numeros(empresa.inscricao_municipal)
# Endereço
etree.SubElement(raiz, 'EmpEndereco').text = empresa.endereco_logradouro
etree.SubElement(raiz, 'EmpNumero').text = empresa.endereco_numero
if empresa.endereco_complemento:
etree.SubElement(raiz, 'EmpComplemento').text = empresa.endereco_complemento
etree.SubElement(raiz, 'EmpBairro').text = empresa.endereco_bairro
etree.SubElement(raiz, 'MunCodigo').text = obter_codigo_por_municipio(
empresa.endereco_municipio, empresa.endereco_uf)
etree.SubElement(raiz, 'EmpCEP').text = so_numeros(empresa.endereco_cep)
if empresa.endereco_telefone:
etree.SubElement(raiz, 'EmpTelefone').text = empresa.endereco_telefone
etree.SubElement(raiz, 'EmpCNAE').text = empresa.cnae_fiscal
etree.SubElement(raiz, 'EmpCRT').text = empresa.codigo_de_regime_tributario
etree.SubElement(raiz, 'EmpIEST').text = ''
etree.SubElement(raiz, 'EmpMarca').text = ''
etree.SubElement(raiz, 'EmpMarcaExtensao').text = ''
etree.SubElement(raiz, 'EmpEmail').text = empresa.email
etree.SubElement(raiz, 'EmpTpoEndereco').text = empresa.tipo_endereco
# Certificado
raiz.append(self._serializar_certificado(empresa, retorna_string=False))
# Usuarios
raiz.append(self._serializar_usuario(empresa, retorna_string=False))
# Parametros
raiz.append(self._serializar_parametros(empresa, retorna_string=False))
# Licenciamento
raiz.append(self._serializar_licenciamento(empresa, retorna_string=False))
if retorna_string:
return etree.tostring(raiz, encoding="unicode", pretty_print=True)
else:
return raiz
开发者ID:cesarbruschetta,项目名称:PyNFe,代码行数:52,代码来源:cadastro_nova_empresa.py
示例7: _serializar_evento
def _serializar_evento(self, evento, tag_raiz='EnvioEvento', retorna_string=True):
raiz = etree.Element(tag_raiz)
etree.SubElement(raiz, 'ModeloDocumento').text = 'NFCe'
etree.SubElement(raiz, 'Versao').text = self._versao
# timezone Brasília -03:00
tz = time.strftime("%z")
event = etree.SubElement(raiz, 'Evento')
etree.SubElement(event, 'NtfCnpjEmissor').text = so_numeros(evento.cnpj)
etree.SubElement(event, 'NtfNumero').text = evento.numero
etree.SubElement(event, 'NtfSerie').text = evento.serie
etree.SubElement(event, 'tpAmb').text = str(self._ambiente)
eve_info = etree.SubElement(event, 'EveInf')
etree.SubElement(eve_info, 'EveDh').text = evento.data_emissao.strftime(
'%Y-%m-%dT%H:%M:%S')
etree.SubElement(eve_info, 'EveFusoHorario').text = "{}:{}".format(
tz[:-2], tz[-2:])
etree.SubElement(eve_info, 'EveTp').text = evento.tp_evento
etree.SubElement(eve_info, 'EvenSeq').text = str(evento.n_seq_evento)
eve_det = etree.SubElement(eve_info, 'Evedet')
etree.SubElement(eve_det, 'EveDesc').text = evento.descricao
etree.SubElement(eve_det, 'EvenProt').text = evento.protocolo
etree.SubElement(eve_det, 'EvexJust').text = evento.justificativa
if retorna_string:
return etree.tostring(raiz, encoding="unicode", pretty_print=True)
else:
return raiz
开发者ID:cesarbruschetta,项目名称:PyNFe,代码行数:33,代码来源:cancelamento_migrate.py
示例8: _serializar_cliente
def _serializar_cliente(self, cliente, modelo, tag_raiz="dest", retorna_string=True):
raiz = etree.Element(tag_raiz)
# Dados do cliente (distinatario)
etree.SubElement(raiz, cliente.tipo_documento).text = so_numeros(cliente.numero_documento)
if not self._so_cpf:
if cliente.razao_social:
etree.SubElement(raiz, "xNome").text = cliente.razao_social
endereco = etree.SubElement(raiz, "enderDest")
etree.SubElement(endereco, "xLgr").text = cliente.endereco_logradouro
etree.SubElement(endereco, "nro").text = cliente.endereco_numero
if cliente.endereco_complemento:
etree.SubElement(endereco, "xCpl").text = cliente.endereco_complemento
etree.SubElement(endereco, "xBairro").text = cliente.endereco_bairro
etree.SubElement(endereco, "cMun").text = obter_codigo_por_municipio(
cliente.endereco_municipio, cliente.endereco_uf
)
etree.SubElement(endereco, "xMun").text = cliente.endereco_municipio
etree.SubElement(endereco, "UF").text = cliente.endereco_uf
etree.SubElement(endereco, "CEP").text = so_numeros(cliente.endereco_cep)
etree.SubElement(endereco, "cPais").text = cliente.endereco_pais
etree.SubElement(endereco, "xPais").text = obter_pais_por_codigo(cliente.endereco_pais)
if cliente.endereco_telefone:
etree.SubElement(endereco, "fone").text = cliente.endereco_telefone
# Indicador da IE do destinatário: 1 – Contribuinte ICMSpagamento à vista; 2 – Contribuinte isento de inscrição; 9 – Não Contribuinte
if cliente.indicador_ie == 9:
# 9 – Não Contribuinte
etree.SubElement(raiz, "indIEDest").text = "9"
elif (cliente.indicador_ie == 2 or cliente.isento_icms) or cliente.inscricao_estadual.upper() == "ISENTO":
etree.SubElement(raiz, "indIEDest").text = "2"
else:
# Indicador da IE do destinatário: 1 – Contribuinte ICMSpagamento à vista;
etree.SubElement(raiz, "indIEDest").text = str(cliente.indicador_ie)
etree.SubElement(raiz, "IE").text = cliente.inscricao_estadual
# Suframa
if cliente.inscricao_suframa:
etree.SubElement(raiz, "ISUF").text = cliente.inscricao_suframa
# Inscrição Municipal do tomador do serviço
if cliente.inscricao_municipal:
etree.SubElement(raiz, "IM").text = cliente.inscricao_municipal
# E-mail
if cliente.email:
etree.SubElement(raiz, "email").text = cliente.email
if retorna_string:
return etree.tostring(raiz, encoding="unicode", pretty_print=True)
else:
return raiz
开发者ID:arilsonsantos,项目名称:PyNFe,代码行数:47,代码来源:serializacao.py
示例9: _serializar_cliente
def _serializar_cliente(self, cliente, modelo, tag_raiz='dest', retorna_string=True):
raiz = etree.Element(tag_raiz)
# Dados do cliente (distinatario)
etree.SubElement(raiz, cliente.tipo_documento).text = so_numeros(cliente.numero_documento)
if cliente.razao_social:
etree.SubElement(raiz, 'xNome').text = cliente.razao_social
if not self._so_cpf:
endereco = etree.SubElement(raiz, 'enderDest')
etree.SubElement(endereco, 'xLgr').text = cliente.endereco_logradouro
etree.SubElement(endereco, 'nro').text = cliente.endereco_numero
if cliente.endereco_complemento:
etree.SubElement(endereco, 'xCpl').text = cliente.endereco_complemento
etree.SubElement(endereco, 'xBairro').text = cliente.endereco_bairro
etree.SubElement(endereco, 'cMun').text = obter_codigo_por_municipio(
cliente.endereco_municipio, cliente.endereco_uf)
etree.SubElement(endereco, 'xMun').text = cliente.endereco_municipio
etree.SubElement(endereco, 'UF').text = cliente.endereco_uf
etree.SubElement(endereco, 'CEP').text = so_numeros(cliente.endereco_cep)
etree.SubElement(endereco, 'cPais').text = cliente.endereco_pais
etree.SubElement(endereco, 'xPais').text = obter_pais_por_codigo(cliente.endereco_pais)
if cliente.endereco_telefone:
etree.SubElement(endereco, 'fone').text = cliente.endereco_telefone
#Indicador da IE do destinatário: 1 – Contribuinte ICMSpagamento à vista; 2 – Contribuinte isento de inscrição; 9 – Não Contribuinte
if cliente.isento_icms or cliente.inscricao_estadual.upper() == 'ISENTO':
etree.SubElement(raiz, 'indIEDest').text = str(2)
etree.SubElement(raiz, 'IE').text = 'ISENTO'
elif cliente.indicador_ie == 9:
# 9 – Não Contribuinte
etree.SubElement(raiz, 'indIEDest').text = str(9)
else:
# Indicador da IE do destinatário: 1 – Contribuinte ICMSpagamento à vista;
etree.SubElement(raiz, 'indIEDest').text = cliente.indicador_ie
etree.SubElement(raiz, 'IE').text = cliente.inscricao_estadual
# Suframa
if cliente.inscricao_suframa:
etree.SubElement(raiz, 'ISUF').text = cliente.inscricao_suframa
# Inscrição Municipal do tomador do serviço
if cliente.inscricao_municipal:
etree.SubElement(raiz, 'IM').text = cliente.inscricao_municipal
# E-mail
if cliente.email:
etree.SubElement(raiz, 'email').text = cliente.email
if retorna_string:
return etree.tostring(raiz, encoding="unicode", pretty_print=True)
else:
return raiz
开发者ID:psnma,项目名称:PyNFe,代码行数:47,代码来源:serializacao.py
示例10: _serializar_pulo
def _serializar_pulo(self, consulta, tag_raiz='PuloNumeracao', retorna_string=True):
raiz = etree.Element(tag_raiz)
etree.SubElement(raiz, 'ModeloDocumento').text = 'NFCe'
etree.SubElement(raiz, 'tpAmb').text = str(self._ambiente)
etree.SubElement(raiz, 'CnpjEmpresa').text = so_numeros(consulta.cnpj)
etree.SubElement(raiz, 'DocEmtCNPJ').text = so_numeros(consulta.cnpj)
etree.SubElement(raiz, 'Serie').text = str(consulta.serie)
etree.SubElement(
raiz, 'DataEmissaoInicial').text = consulta.data_inicial.strftime("%Y-%m-%d")
etree.SubElement(
raiz, 'DataEmissaoFinal').text = consulta.data_final.strftime("%Y-%m-%d")
if retorna_string:
return etree.tostring(raiz, encoding="unicode", pretty_print=True)
else:
return raiz
开发者ID:cesarbruschetta,项目名称:PyNFe,代码行数:18,代码来源:serializacao_consulta.py
示例11: inutilizar_faixa_numeracao
def inutilizar_faixa_numeracao(self, numero_inicial, numero_final, emitente, certificado, senha, ano=None, serie='1', justificativa=''):
post = '/nfeweb/services/nfestatusservico.asmx'
metodo = 'NfeInutilizacao2'
# Valores default
ano = str(ano or datetime.date.today().year)[-2:]
uf = CODIGOS_ESTADOS[emitente.endereco_uf]
cnpj = so_numeros(emitente.cnpj)
# Identificador da TAG a ser assinada formada com Código da UF + Ano (2 posições) +
# CNPJ + modelo + série + nro inicial e nro final precedida do literal “ID”
id_unico = 'ID%(uf)s%(ano)s%(cnpj)s%(modelo)s%(serie)s%(num_ini)s%(num_fin)s'%{
'uf': uf,
'ano': ano,
'cnpj': cnpj,
'modelo': '55',
'serie': serie.zfill(3),
'num_ini': str(numero_inicial).zfill(9),
'num_fin': str(numero_final).zfill(9),
}
# Monta XML do corpo da requisição # FIXME
raiz = etree.Element('inutNFe', xmlns="http://www.portalfiscal.inf.br/nfe", versao="1.07")
inf_inut = etree.SubElement(raiz, 'infInut', Id=id_unico)
etree.SubElement(inf_inut, 'tpAmb').text = str(self._ambiente)
etree.SubElement(inf_inut, 'xServ').text = 'INUTILIZAR'
etree.SubElement(inf_inut, 'cUF').text = uf
etree.SubElement(inf_inut, 'ano').text = ano
etree.SubElement(inf_inut, 'CNPJ').text = emitente.cnpj
etree.SubElement(inf_inut, 'mod').text = '55'
etree.SubElement(inf_inut, 'serie').text = serie
etree.SubElement(inf_inut, 'nNFIni').text = str(numero_inicial)
etree.SubElement(inf_inut, 'nNFFin').text = str(numero_final)
etree.SubElement(inf_inut, 'xJust').text = justificativa
#dados = etree.tostring(raiz, encoding='utf-8', xml_declaration=True)
# Efetua assinatura
assinatura = self._assinatura(certificado, senha)
dados = assinatura.assinar_etree(etree.ElementTree(raiz), retorna_xml=True)
# Monta XML para envio da requisição
xml = self._construir_xml_soap(
metodo='nfeRecepcao2', # XXX
tag_metodo='nfeInutilizacaoNF', # XXX
cabecalho=self._cabecalho_soap(),
dados=dados,
)
# Chama método que efetua a requisição POST no servidor SOAP
retorno = self._post(post, xml, self._post_header())
# Transforma o retorno em etree # TODO
#retorno = etree.parse(StringIO(retorno))
return retorno
开发者ID:davinirjr,项目名称:PyNFe,代码行数:55,代码来源:comunicacao.py
示例12: _serializar_emitente
def _serializar_emitente(self, emitente, tag_raiz="emit", retorna_string=True):
raiz = etree.Element(tag_raiz)
# Dados do emitente
etree.SubElement(raiz, "CNPJ").text = so_numeros(emitente.cnpj)
etree.SubElement(raiz, "xNome").text = emitente.razao_social
etree.SubElement(raiz, "xFant").text = emitente.nome_fantasia
# Endereço
endereco = etree.SubElement(raiz, "enderEmit")
etree.SubElement(endereco, "xLgr").text = emitente.endereco_logradouro
etree.SubElement(endereco, "nro").text = emitente.endereco_numero
if emitente.endereco_complemento:
etree.SubElement(endereco, "xCpl").text = emitente.endereco_complemento
etree.SubElement(endereco, "xBairro").text = emitente.endereco_bairro
etree.SubElement(endereco, "cMun").text = obter_codigo_por_municipio(
emitente.endereco_municipio, emitente.endereco_uf
)
etree.SubElement(endereco, "xMun").text = emitente.endereco_municipio
etree.SubElement(endereco, "UF").text = emitente.endereco_uf
etree.SubElement(endereco, "CEP").text = so_numeros(emitente.endereco_cep)
etree.SubElement(endereco, "cPais").text = emitente.endereco_pais
etree.SubElement(endereco, "xPais").text = obter_pais_por_codigo(emitente.endereco_pais)
if emitente.endereco_telefone:
etree.SubElement(endereco, "fone").text = emitente.endereco_telefone
etree.SubElement(raiz, "IE").text = emitente.inscricao_estadual
# Apenas NF-e
if emitente.inscricao_estadual_subst_tributaria:
etree.SubElement(raiz, "IEST").text = emitente.inscricao_estadual_subst_tributaria
# Inscricao Municipal
if emitente.inscricao_municipal:
etree.SubElement(raiz, "IM").text = emitente.inscricao_municipal
# Campo Opcional. Pode ser informado quando a Inscrição Municipal (id:C19) for informada.
if emitente.cnae_fiscal:
etree.SubElement(raiz, "CNAE").text = emitente.cnae_fiscal
etree.SubElement(raiz, "CRT").text = emitente.codigo_de_regime_tributario
if retorna_string:
return etree.tostring(raiz, encoding="unicode", pretty_print=True)
else:
return raiz
开发者ID:arilsonsantos,项目名称:PyNFe,代码行数:39,代码来源:serializacao.py
示例13: _serializar_emitente
def _serializar_emitente(self, emitente, tag_raiz='emit', retorna_string=True):
raiz = etree.Element(tag_raiz)
# Dados do emitente
etree.SubElement(raiz, 'CNPJ').text = so_numeros(emitente.cnpj)
etree.SubElement(raiz, 'xNome').text = emitente.razao_social
etree.SubElement(raiz, 'xFant').text = emitente.nome_fantasia
# Endereço
endereco = etree.SubElement(raiz, 'enderEmit')
etree.SubElement(endereco, 'xLgr').text = emitente.endereco_logradouro
etree.SubElement(endereco, 'nro').text = emitente.endereco_numero
if emitente.endereco_complemento:
etree.SubElement(endereco, 'xCpl').text = emitente.endereco_complemento
etree.SubElement(endereco, 'xBairro').text = emitente.endereco_bairro
etree.SubElement(endereco, 'cMun').text = obter_codigo_por_municipio(
emitente.endereco_municipio, emitente.endereco_uf)
etree.SubElement(endereco, 'xMun').text = emitente.endereco_municipio
etree.SubElement(endereco, 'UF').text = emitente.endereco_uf
etree.SubElement(endereco, 'CEP').text = so_numeros(emitente.endereco_cep)
etree.SubElement(endereco, 'cPais').text = emitente.endereco_pais
etree.SubElement(endereco, 'xPais').text = obter_pais_por_codigo(emitente.endereco_pais)
if emitente.endereco_telefone:
etree.SubElement(endereco, 'fone').text = emitente.endereco_telefone
etree.SubElement(raiz, 'IE').text = emitente.inscricao_estadual
# Apenas NF-e
if emitente.inscricao_estadual_subst_tributaria:
etree.SubElement(raiz, 'IEST').text = emitente.inscricao_estadual_subst_tributaria
# Inscricao Municipal
if emitente.inscricao_municipal:
etree.SubElement(raiz, 'IM').text = emitente.inscricao_municipal
# Campo Opcional. Pode ser informado quando a Inscrição Municipal (id:C19) for informada.
if emitente.cnae_fiscal:
etree.SubElement(raiz, 'CNAE').text = emitente.cnae_fiscal
etree.SubElement(raiz, 'CRT').text = emitente.codigo_de_regime_tributario
if retorna_string:
return etree.tostring(raiz, encoding="unicode", pretty_print=True)
else:
return raiz
开发者ID:fernandojunior,项目名称:PyNFe,代码行数:38,代码来源:serializacao.py
示例14: identificador_unico
def identificador_unico(self):
# Monta 'Id' da tag raiz <infNFe>
# Ex.: NFe35080599999090910270550010000000011518005123
return "NFe%(uf)s%(ano)s%(mes)s%(cnpj)s%(mod)s%(serie)s%(nNF)s%(tpEmis)s%(cNF)s%(cDV)s" % {
"uf": CODIGOS_ESTADOS[self.uf],
"ano": self.data_emissao.strftime("%y"),
"mes": self.data_emissao.strftime("%m"),
"cnpj": so_numeros(self.emitente.cnpj),
"mod": self.modelo,
"serie": str(self.serie).zfill(3),
"nNF": str(self.numero_nf).zfill(9),
"tpEmis": str(self.forma_emissao),
"cNF": self.codigo_numerico_aleatorio.zfill(8),
"cDV": self.dv_codigo_numerico_aleatorio,
}
开发者ID:TracyWebTech,项目名称:PyNFe,代码行数:15,代码来源:notafiscal.py
示例15: _serializar_transportadora
def _serializar_transportadora(self, transportadora, tag_raiz="transporta", retorna_string=True):
raiz = etree.Element(tag_raiz)
# Dados da transportadora
etree.SubElement(raiz, transportadora.tipo_documento.upper()).text = so_numeros(transportadora.numero_documento)
etree.SubElement(raiz, "xNome").text = transportadora.razao_social
etree.SubElement(raiz, "IE").text = transportadora.inscricao_estadual
# Endereço
etree.SubElement(raiz, "xEnder").text = transportadora.endereco_logradouro
etree.SubElement(raiz, "xMun").text = transportadora.endereco_municipio
etree.SubElement(raiz, "UF").text = transportadora.endereco_uf
if retorna_string:
return etree.tostring(raiz, encoding="unicode", pretty_print=True)
else:
return raiz
开发者ID:arilsonsantos,项目名称:PyNFe,代码行数:16,代码来源:serializacao.py
示例16: _serializar_evento
def _serializar_evento(self, evento, tag_raiz='Inutilizacao', retorna_string=True):
raiz = etree.Element(tag_raiz)
etree.SubElement(raiz, 'ModeloDocumento').text = 'NFCe'
etree.SubElement(raiz, 'Versao').text = self._versao
etree.SubElement(raiz, 'tpAmb').text = str(self._ambiente)
etree.SubElement(raiz, 'CnpjEmissor').text = so_numeros(evento.cnpj)
etree.SubElement(raiz, 'NumeroInicial').text = str(evento.numero_inicial)
etree.SubElement(raiz, 'NumeroFinal').text = str(evento.numero_final)
etree.SubElement(raiz, 'Serie').text = str(evento.serie)
etree.SubElement(raiz, 'Justificativa').text = evento.justificativa
if retorna_string:
return etree.tostring(raiz, encoding="unicode", pretty_print=True)
else:
return raiz
开发者ID:cesarbruschetta,项目名称:PyNFe,代码行数:18,代码来源:inutilizacao_migrate.py
示例17: _serializar_transportadora
def _serializar_transportadora(self, transportadora, tag_raiz='transporta', retorna_string=True):
raiz = etree.Element(tag_raiz)
# Dados da transportadora
etree.SubElement(raiz, transportadora.tipo_documento).text = so_numeros(transportadora.numero_documento)
etree.SubElement(raiz, 'xNome').text = transportadora.razao_social
etree.SubElement(raiz, 'IE').text = transportadora.inscricao_estadual
# Endereço
etree.SubElement(raiz, 'xEnder').text = transportadora.endereco_logradouro
etree.SubElement(raiz, 'cMun').text = transportadora.endereco_municipio
etree.SubElement(raiz, 'xMun').text = obter_municipio_por_codigo(
transportadora.endereco_municipio, transportadora.endereco_uf,
)
etree.SubElement(raiz, 'UF').text = transportadora.endereco_uf
if retorna_string:
return etree.tostring(raiz, pretty_print=True)
else:
return raiz
开发者ID:YACOWS,项目名称:PyNFe,代码行数:20,代码来源:serializacao.py
示例18: _serializar_entrega_retirada
def _serializar_entrega_retirada(self, entrega_retirada, tag_raiz="entrega", retorna_string=True):
raiz = etree.Element(tag_raiz)
# Dados da entrega/retirada
etree.SubElement(raiz, entrega_retirada.tipo_documento).text = so_numeros(entrega_retirada.numero_documento)
# Endereço
etree.SubElement(raiz, "xLgr").text = entrega_retirada.endereco_logradouro
etree.SubElement(raiz, "nro").text = entrega_retirada.endereco_numero
etree.SubElement(raiz, "xCpl").text = entrega_retirada.endereco_complemento
etree.SubElement(raiz, "xBairro").text = entrega_retirada.endereco_bairro
etree.SubElement(raiz, "cMun").text = entrega_retirada.endereco_municipio
etree.SubElement(raiz, "xMun").text = obter_municipio_por_codigo(
entrega_retirada.endereco_municipio, entrega_retirada.endereco_uf
)
etree.SubElement(raiz, "UF").text = entrega_retirada.endereco_uf
if retorna_string:
return etree.tostring(raiz, encoding="unicode", pretty_print=True)
else:
return raiz
开发者ID:arilsonsantos,项目名称:PyNFe,代码行数:21,代码来源:serializacao.py
示例19: _serializar_entrega_retirada
def _serializar_entrega_retirada(self, entrega_retirada, tag_raiz='entrega', retorna_string=True):
raiz = etree.Element(tag_raiz)
# Dados da entrega/retirada
etree.SubElement(raiz, entrega_retirada.tipo_documento).text = so_numeros(entrega_retirada.numero_documento)
# Endereço
etree.SubElement(raiz, 'xLgr').text = entrega_retirada.endereco_logradouro
etree.SubElement(raiz, 'nro').text = entrega_retirada.endereco_numero
etree.SubElement(raiz, 'xCpl').text = entrega_retirada.endereco_complemento
etree.SubElement(raiz, 'xBairro').text = entrega_retirada.endereco_bairro
etree.SubElement(raiz, 'cMun').text = entrega_retirada.endereco_municipio
etree.SubElement(raiz, 'xMun').text = obter_municipio_por_codigo(
entrega_retirada.endereco_municipio, entrega_retirada.endereco_uf,
)
etree.SubElement(raiz, 'UF').text = entrega_retirada.endereco_uf
if retorna_string:
return etree.tostring(raiz, pretty_print=True)
else:
return raiz
开发者ID:YACOWS,项目名称:PyNFe,代码行数:21,代码来源:serializacao.py
示例20: _serializar_cliente
def _serializar_cliente(self, cliente, modelo, tag_raiz='dest', retorna_string=True):
raiz = etree.Element(tag_raiz)
# Dados do cliente (distinatario)
etree.SubElement(raiz, '%s_dest' % (cliente.tipo_documento)).text = so_numeros(
cliente.numero_documento)
if not self._so_cpf:
if cliente.razao_social:
etree.SubElement(raiz, 'xNome_dest').text = cliente.razao_social
if any([cliente.endereco_logradouro, cliente.endereco_numero,
cliente.endereco_bairro, cliente.endereco_municipio,
cliente.endereco_uf, cliente.endereco_cep]):
endereco = etree.SubElement(raiz, 'enderDest')
if cliente.endereco_logradouro:
etree.SubElement(
endereco, 'xLgr_dest').text = cliente.endereco_logradouro
if cliente.endereco_numero:
etree.SubElement(endereco, 'nro_dest').text = cliente.endereco_numero
if cliente.endereco_complemento:
etree.SubElement(endereco, 'xCpl').text = cliente.endereco_complemento
if cliente.endereco_bairro:
etree.SubElement(
endereco, 'xBairro_dest').text = cliente.endereco_bairro
if cliente.endereco_municipio and cliente.endereco_uf:
etree.SubElement(
endereco, 'xMun_dest').text = cliente.endereco_municipio
etree.SubElement(endereco, 'UF_dest').text = cliente.endereco_uf
etree.SubElement(endereco, 'cMun_dest').text = obter_codigo_por_municipio(
cliente.endereco_municipio, cliente.endereco_uf)
if cliente.endereco_cep:
etree.SubElement(endereco, 'CEP_dest').text = so_numeros(
cliente.endereco_cep)
etree.SubElement(endereco, 'cPais_dest').text = cliente.endereco_pais
etree.SubElement(endereco, 'xPais_dest').text = obter_pais_por_codigo(
cliente.endereco_pais)
if cliente.endereco_telefone:
etree.SubElement(endereco, 'fone_dest').text = so_numeros(
cliente.endereco_telefone)
# Indicador da IE do destinatário: 1 – Contribuinte ICMSpagamento à vista;
# 2 – Contribuinte isento de inscrição; 9 – Não Contribuinte
if cliente.indicador_ie == 9:
# 9 – Não Contribuinte
etree.SubElement(raiz, 'indIEDest').text = '9'
elif (cliente.indicador_ie == 2 or cliente.isento_icms) or cliente.inscricao_estadual.upper() == 'ISENTO':
etree.SubElement(raiz, 'indIEDest').text = '2'
else:
# Indicador da IE do destinatário: 1 – Contribuinte ICMSpagamento à vista;
etree.SubElement(raiz, 'indIEDest').text = str(cliente.indicador_ie)
# E-mail
if cliente.email:
etree.SubElement(raiz, 'Email_dest').text = cliente.email
if retorna_string:
return etree.tostring(raiz, encoding="unicode", pretty_print=True)
else:
return raiz
开发者ID:cesarbruschetta,项目名称:PyNFe,代码行数:67,代码来源:serializacao_migrate.py
注:本文中的pynfe.utils.so_numeros函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论