Ir para conteúdo
  • Cadastre-se

dev botao

Evento de prestação de serviço em desacordo - Código 215 - Rejeição: Falha no schema XML


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

Recommended Posts

Prezados, estou tentando fazer um ajuste para evento de prestação de serviço em desacordo.

Gostaria da opinião dos colegas, de onde provavelmente está o erro.

Delphi XE10 - Berlin Update 2 , Pacote ACBR atualizado por SVN.

Atualizei os Schemas, que estão na pasta correta, e as outras operações do sistema como transmissão de CT-e estão normais.

Porém o Evento de prestação de serviço em desacordo retorna o  Código 215 -  Rejeição: Falha no schema XML

Segue o pequeno trecho do código que estou montando.

------

  MensagemErro := EmptyStr;
  Configurar(moCTe);
  try
    ACBrCTe.EventoCTe.Evento.Clear;
    ACBrCTe.EventoCTe.Evento.Add;

    ACBrCTe.EventoCTe.Evento[0].infevento.chCTe := ChaveCTe;
    ACBrCTe.EventoCTe.Evento[0].infevento.CNPJ := emitente.cnpj_cpf;
    ACBrCTe.EventoCTe.Evento[0].infevento.dhEvento := now;
    ACBrCTe.EventoCTe.Evento[0].infevento.nSeqEvento := NumeroEvento;
    ACBrCTe.EventoCTe.Evento[0].infevento.tpEvento := tePrestDesacordo;

    ACBrCTe.EventoCTe.Evento.Items[0].infevento.detEvento.infCorrecao.Add;
    ACBrCTe.EventoCTe.Evento.Items[0].infevento.DescricaoTipoEvento(tePrestDesacordo);
    ACBrCTe.EventoCTe.Evento.Items[0].infevento.detEvento.descEvento := ACBrCTe.EventoCTe.Evento.Items[0].infevento.DescricaoTipoEvento(tePrestDesacordo);
    ACBrCTe.EventoCTe.Evento.Items[0].infevento.detEvento.xOBS := ObsDesacordo;

    ACBrCTe.EnviarEvento(NumeroEvento);
    ACBrCTe.EventoCTe.GerarXML;

    CodigoStatus := ACBrCTe.EventoCTe.Evento[0].RetInfEvento.cStat;
    Protocolo := ACBrCTe.EventoCTe.Evento[0].RetInfEvento.nProt;
    DhRecbto := ACBrCTe.EventoCTe.Evento[0].RetInfEvento.dhRegEvento;
    XMotivo := ACBrCTe.EventoCTe.Evento[0].RetInfEvento.XMotivo;
    XMLFinal := ACBrCTe.EventoCTe.Evento[0].RetInfEvento.NomeArquivo;

    ACBrCTe.ImprimirEvento;
  except
    on E: Exception do
    begin
      if IntToStr( AcbrCte.WebServices.EnvEvento.cStat ) = EmptyStr then
        MensagemErro := E.Message
      else
        MensagemErro := IntToStr( AcbrCte.WebServices.EnvEvento.cStat ) + '-'+ E.Message;
    end;
  end;

-------------------------

ao Fazer o EnviarEvento....  retorna a rejeição 215 -

Evento de prestação de serviço em desacordo - Código 215 -  Rejeição: Falha no schema XML

Segue anexo, os xml gerados do evento

180-eve.xml

180-eve-soap.xml

180-ped-eve.xml

180-ped-eve-soap.xml

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite Leonardo,

Porque: <nSeqEvento>180</nSeqEvento> ?

No meu entendimento deveria ser 1.

Colocando 180 você esta informando que o CT-e em questão já possui 179 Eventos de Prestação em Desacordo sendo que na realidade um CT-e só pode ter apenas um evento desse tipo.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Em 08/12/2017 at 22:35, Italo Jurisato Junior disse:

Boa noite Leonardo,

Porque: <nSeqEvento>180</nSeqEvento> ?

No meu entendimento deveria ser 1.

Colocando 180 você esta informando que o CT-e em questão já possui 179 Eventos de Prestação em Desacordo sendo que na realidade um CT-e só pode ter apenas um evento desse tipo.

Explicando o 180, uso para todo o sistema, um unico contador de eventos, seja carta correção, inutilização etc.. e nesse teste deu 180...

Vou testar colocando um contador de eventos exclusivo  essa situação e passo  feedback para o fórum.

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Leonardo,

Acredito que você não entendeu a finalidade da tag nSeqEvento.

Essa tag contem o numero sequencial de um determinado tipo de evento para um determinado documento fiscal.

Veja na página 96 do Manual do CT-e versão 3.00 a observação da tag nSeqEvento.

Por exemplo o CT-e de numero 500 se eu enviar um evento de carta de correção para este CT-e o nSeqEvento será 1.

Caso eu venha enviar uma segunda carta de correção para o mesmo CT-e o nSeqEvento será 2.

Ao emitir o CT-e de numero 501, se eu enviar um evento de carta de correção para este CT-e o nSeqEvento será 1 e não 3.

Pois o documento fiscal é outro.

Existem Eventos que são únicos, por exemplo: cancelamento, EPEC, Prestação do Serviço em Desacordo.

O evento de Registros de Multimodal permite que tenhamos até 20 eventos, ou seja o nSeqEvento pode variar de 1 até 20.

A mesma coisa com o evento de carta de correção.

O evento de Informações da GTV permite que o nSeqEvento possa variar de 1 até 99.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

3 minutos atrás, Italo Jurisato Junior disse:

Bom dia Leonardo,

Acredito que você não entendeu a finalidade da tag nSeqEvento.

Essa tag contem o numero sequencial de um determinado tipo de evento para um determinado documento fiscal.

Veja na página 96 do Manual do CT-e versão 3.00 a observação da tag nSeqEvento.

Por exemplo o CT-e de numero 500 se eu enviar um evento de carta de correção para este CT-e o nSeqEvento será 1.

Caso eu venha enviar uma segunda carta de correção para o mesmo CT-e o nSeqEvento será 2.

Ao emitir o CT-e de numero 501, se eu enviar um evento de carta de correção para este CT-e o nSeqEvento será 1 e não 3.

Pois o documento fiscal é outro.

Existem Eventos que são únicos, por exemplo: cancelamento, EPEC, Prestação do Serviço em Desacordo.

O evento de Registros de Multimodal permite que tenhamos até 20 eventos, ou seja o nSeqEvento pode variar de 1 até 20.

A mesma coisa com o evento de carta de correção.

O evento de Informações da GTV permite que o nSeqEvento possa variar de 1 até 99.

Obrigado. vou revisar essa situação e deixar os sequenciais de cada evento separados.

Link para o comentário
Compartilhar em outros sites

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.

The popup will be closed in 10 segundos...