Browse Source

Incluído evento manifestação de destinatário

tags/0.3.10
Junior Tada 9 years ago
parent
commit
8dbf078868
  1. 39
      pynfe/entidades/evento.py
  2. 4
      pynfe/processamento/serializacao.py

39
pynfe/entidades/evento.py

@ -76,3 +76,42 @@ class EventoCartaCorrecao(Evento):
cond_uso = 'A Carta de Correcao e disciplinada pelo paragrafo 1o-A do art. 7o do Convenio S/N, de 15 de dezembro de 1970 e pode ser utilizada para regularizacao de erro ocorrido na emissao de documento fiscal, desde que o erro nao esteja relacionado com: I - as variaveis que determinam o valor do imposto tais como: base de calculo, aliquota, diferenca de preco, quantidade, valor da operacao ou da prestacao; II - a correcao de dados cadastrais que implique mudanca do remetente ou do destinatario; III - a data de emissao ou de saida.'
# - xCorrecao - Correção a ser considerada, texto livre. A correção mais recente substitui as anteriores. min 15 max 1000
correcao = str()
class EventoManifestacaoDest(Evento):
""" Este serviço permite que o destinatário da Nota Fiscal eletrônica confirme a sua participação
na operação acobertada pela Nota Fiscal eletrônica emitida para o seu CNPJ """
def __init__(self, *args, **kwargs):
super(EventoManifestacaoDest, self).__init__(*args, **kwargs)
# - numero da operacao
# 1=Confirmação da Operação
# 2=Ciência da Emissão
# 3=Desconhecimento da Operação
# 4=Operação não Realizada
dict_tp_evento = {1:'210200', 2:'210210', 3:'210220', 4:'210240'}
""" Código do evento
210200 Confirmação da Operação
210210 Ciência da Emissão
210220 Desconhecimento da Operação
210240 Operação não Realizada """
self.tp_evento = dict_tp_evento[self.operacao]
# - numero da operacao
# 1=Confirmação da Operação
# 2=Ciência da Emissão
# 3=Desconhecimento da Operação
# 4=Operação não Realizada
dict_descricao = {
1:'Confirmacao da Operacao',
2:'Ciencia da Operacao',
3:'Desconhecimento da Operacao',
4:'Operacao nao Realizada'}
""" Informar a descrição do evento:
Confirmacao da Operacao
Ciencia da Operacao
Desconhecimento da Operacao
Operacao nao Realizada """
self.descricao = dict_descricao[self.operacao]
# - Informar a justificativa porque a operação não foi realizada, este campo deve ser informado somente no evento de Operação não Realizada. (min 15 max 255 caracteres)
justificativa = str()

4
pynfe/processamento/serializacao.py

@ -587,8 +587,6 @@ class SerializacaoXML(Serializacao):
# timezone Brasília -03:00
tz = time.strftime("%z")
tz = "{}:{}".format(tz[:-2], tz[-2:])
#import ipdb
#ipdb.set_trace()
raiz = etree.Element(tag_raiz, versao='1.00', xmlns=NAMESPACE_NFE)
e = etree.SubElement(raiz, 'infEvento', Id=evento.identificador)
etree.SubElement(e, 'cOrgao').text = CODIGOS_ESTADOS[evento.uf.upper()]
@ -608,6 +606,8 @@ class SerializacaoXML(Serializacao):
elif evento.descricao == 'Carta de Correcao':
etree.SubElement(det, 'xCorrecao').text = evento.correcao
etree.SubElement(det, 'xCondUso').text = evento.cond_uso
elif evento.descricao == 'Operacao nao Realizada':
etree.SubElement(det, 'xJust').text = evento.justificativa
if retorna_string:
return etree.tostring(raiz, encoding="unicode", pretty_print=True)

Loading…
Cancel
Save