Ir para conteúdo
  • Cadastre-se

dev botao

Erro ao enviar evento ciência da operação


joaolenosi
  • Este tópico foi criado há 1749 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa tarde, estou implementando no meu sistema uma rotina para baixar os XMLS emitidos contra meu CNPJ. 
Já li todos os posts referente a esse assunto no forúm e a nota técnica também, porém estou com um erro que não vi nenhum post referido a esse problema.

Eu sei que para baixar as notas emitidas contra meu CNPJ, primeiro devo enviar um evento: "Manifestação do Destinatário - Ciência da Emissão" 

Minha rotina:
 

   Memo1.Lines.Add(StringGrid1.Cells[1, I] + ' - ' + 'SIM');
            {$REGION 'Enviando ciência de operação'}
            frmMenu.NFe1.EventoNFe.Evento.clear;
            frmMenu.NFe1.EventoNFe.idLote := 1;

            with frmMenu.NFe1.EventoNFe.Evento.Add do
            begin
              InfEvento.cOrgao       := dm.Query1.FieldByName('uf_cd').AsInteger;//informar o código da UF do emitente
              InfEvento.ChNFE        := frmMenu.NFe1.WebServices.DistribuicaoDFe.retDistDFeInt.
                                        docZip.Items[I].resDFe.chDFe;
              InfEvento.CNPJ         := frmMenu.NFe1.WebServices.DistribuicaoDFe.retDistDFeInt.
                                        docZip.Items[I].resDFe.CNPJCPF;
              InfEvento.dhEvento     := now;
              InfEvento.tpEvento     := TpcnTpEvento.teManifDestCiencia;
              InfEvento.versaoEvento := '1.00';
              resultado              := frmMenu.NFe1.EnviarEvento(frmMenu.NFe1.EventoNFe.idLote);
            end;


            //cUF: UF do emissor
            //cCNPJ: CNPJ do emissor
            //cChNFE: Obrigatório apenas no método de consulta por chave.
            if resultado then
                frmMenu.NFe1.DistribuicaoDFePorChaveNFe(dm.Query1.FieldByName('uf_cd').AsInteger,
                                                        CNPJ,StringGrid1.Cells[10, I + 1] );

            {$ENDREGION}

quando ele executa a procedure EnviarEvento(), recebo o seguinte erro:

Citar

envEvento_v1.00.xsd#/schema/element[1][@name = 'envEvento']
Undeclared XSD type : '{http://www.portalfiscal.inf.br/nfe}TEnvEvento'
 

Segue um print do erro

erro.PNG

João Leno

Developer In Lunar Tecnologia
Formação: Bacharel em Sistemas de Informação
Pós Graduação: Infraestrutura e aplicações em redes de computadores (Cursando)
Cell: (84) 8135-9585
Skype: joaolenosi
Site: http://lunartecnologia.com.br/

Se não puder vencer pelo o talento, vença pelo o esforço.

Link para o comentário
Compartilhar em outros sites

Boa noite, tente assim:

ACBrNFe1.EventoNFe.Evento.Clear;
with ACBrNFe1.EventoNFe.Evento.New do
begin
  InfEvento.cOrgao          := 91;  //91 - Ambiente Nacional. No caso de evento de manifestação, sempre será 91
  InfEvento.chNFe           := '';  //Chave de acesso da NFe
  InfEvento.CNPJ            := '';  //CNPJ da empresa que está emitindo o evento (o mesmo do certificado digital)
  InfEvento.dhEvento        := now; //Data do evento
  InfEvento.tpEvento        := '';  //teManifDestCiencia, teManifDestConfirmacao, teManifDestOperNaoRealizada, teManifDestDesconhecimento
  InfEvento.detEvento.xJust := '';  //Justificativa, caso seja desconhecimento ou op não realizada
  end;
ACBrNFe1.EnviarEvento(IdLote);

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Problema resolvido!

O erro acontecia por que na pasta do Schemas,  só tinha os arquivos de Schemas da versão 4.0, porém debugando, vi que precisava de outros arquivos .xsd, então substitui minha pasta de Schemas pela a do Acbr e deu certo.

Mas ainda assim, não estava conseguindo da ciência na nota, pelo o fato de está passando o código da UF da empresa que está solicitando, para o campo: 

  InfEvento.cOrgao 

Mas com ajude de @Gabriel Franciscon, passei o código 91 e deu certo.

Ainda tenho uma dúvida, meu objetivo é apenas baixar o XML do fornecedor, qual das formas eu devo me manifestar:

teManifDestCiencia ou teManifDestConfirmacao ?

Eu li que essas 3 formas de manifestação são conclusivas: 

  1. Confirmação da Operação
  2. Registro da Operação não Realizada
  3. Confirmação da Operação

A única que não é: Ciência da Operação, o que acontece se eu declarar todas as notas com esse status? Posso sofrer alguma sanção ?
Ou a forma correta é essa mesmo?

  • Curtir 1

João Leno

Developer In Lunar Tecnologia
Formação: Bacharel em Sistemas de Informação
Pós Graduação: Infraestrutura e aplicações em redes de computadores (Cursando)
Cell: (84) 8135-9585
Skype: joaolenosi
Site: http://lunartecnologia.com.br/

Se não puder vencer pelo o talento, vença pelo o esforço.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
51 minutos atrás, joaolenosi disse:

A única que não é: Ciência da Operação, o que acontece se eu declarar todas as notas com esse status? Posso sofrer alguma sanção ?

http://www.nfe.fazenda.gov.br/portal/perguntasFrequentes.aspx?tipoConteudo=yjOJMwFOkA0=

Citar

Uma vez que o destinatário tomou Ciência da Emissão é obrigatória a sua manifestação?

Sim.  Toda nota informada ao contribuinte tem que ter registrada a sua respectiva manifestação até um prazo máximo de 180 dias, contados da data da ciência. Este prazo máximo será reduzido gradativamente, conforme o interesse das Administrações Tributárias.

 

Se não me engano o prazo geral atual é de 30 dias.

Alguns estados como RO tem prazos menores e obrigatoriedade de se enviar a manifestação independentemente de ter havido a ciência.

  • Curtir 2
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

Realizar a manifestação do destinatário apenas com a Ciência e não concluir posteriormente pode sim acarretar em algum tipo de multa...

A manifestação do destinatário está "amarrada" ao DistribuiçãoDFe. Porém os objetivos são diferentes... Então a ideia de "só baixar o XML" não funciona muito já que seu cliente se torna obrigado a realizar a manifestação.

Aqui eu trato da seguinte maneira:

  1. Aplicativo configurado para realizar a manifestação do destinatário automaticamente com a Ciência da operação ao encontrar um novo documento.
  2. Usuário realiza o recebimento de mercadorias no sistema: Disparo a Confirmação da operação
  3. Desconhecimento ou Operação não realizada fica por conta do usuário.
  4. Caso fique notas sem a "conclusão" da manifestação por parte do destinatário, alerto o mesmo através de notificações.
  • Curtir 3
Link para o comentário
Compartilhar em outros sites

Entendi, muito obrigado!

Pode colocar como: RESOLVIDO.

  • Curtir 2

João Leno

Developer In Lunar Tecnologia
Formação: Bacharel em Sistemas de Informação
Pós Graduação: Infraestrutura e aplicações em redes de computadores (Cursando)
Cell: (84) 8135-9585
Skype: joaolenosi
Site: http://lunartecnologia.com.br/

Se não puder vencer pelo o talento, vença pelo o esforço.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1749 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.