Ir para conteúdo
  • Cadastre-se

dev botao

Desacordo de CT-e - Rejeição: Órgão de recepção do evento inválido


Ver Solução Respondido por Ellosis Sistemas de Gestão,
  • Este tópico foi criado há 580 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Cliente está tentando fazer o desacordo do CT-e, onde a chave do CT-e iniciado com 43, está sendo informado no componente do ACBR a chave e enviando fixo para teste na propriedade cOrgao o código 43, e no XML está sendo gerado como 42, que é o estado do tomador do serviço. Ao enviar recebemos o seguinte retorno: Rejeição: Órgão de recepção do evento inválido

1-eve.xml

Link para o comentário
Compartilhar em outros sites

  • Consultores
1 hora atrás, claudio algayer disse:

Cliente está tentando fazer o desacordo do CT-e, onde a chave do CT-e iniciado com 43, está sendo informado no componente do ACBR a chave e enviando fixo para teste na propriedade cOrgao o código 43, e no XML está sendo gerado como 42, que é o estado do tomador do serviço. Ao enviar recebemos o seguinte retorno: Rejeição: Órgão de recepção do evento inválido

1-eve.xml 309 B · 1 download

Você está montando o evento?

codigo extraido do exemplo, onde você informa o COrgão 

// Devemos informar a UF do Emitente do CT-e
      InfEvento.cOrgao     := UFtoCUF(xUF);

procedure TfrmACBrCTe.btnPrestacaoDesacordoClick(Sender: TObject);
var
  xObs, xUF, xUFOld: String;
  iLote: Integer;
begin
  {
   O Evento de Prestação de Serviço em Desacordo deve ser enviado pelo Tomador
   do serviço que pode ser tanto o Remetente quanto o Destinatário da carga.
   Sendo assim na linha abaixo que faz referencia a edtEmitCNPJ entende-se que
   o CNPJ é do tomador (emitente do evento) e não o CNPJ do emitente do CT-e.
  }
  OpenDialog1.Title := 'Selecione o CTe para enviar o Evento de Prestação de Serviço em Desacordo';
  OpenDialog1.DefaultExt := '*-cte.xml';
  OpenDialog1.Filter := 'Arquivos CTe (*-cte.xml)|*-cte.xml|Arquivos XML (*.xml)|*.xml|Todos os Arquivos (*.*)|*.*';
  OpenDialog1.InitialDir := ACBrCTe1.Configuracoes.Arquivos.PathSalvar;

  if OpenDialog1.Execute then
  begin
    ACBrCTe1.Conhecimentos.Clear;
    ACBrCTe1.Conhecimentos.LoadFromFile(OpenDialog1.FileName);

    xObs := 'Observacao do Tomador (com no minimo 15 caracteres)';
    if not(InputQuery('Prestação de Serviço em Desacordo:', 'Observação do Tomador', xObs)) then
      exit;

    xUF := '';
    if not(InputQuery('Prestação de Serviço em Desacordo:', 'UF do Emitente do CT-e', xUF)) then
      exit;

    // Salva a UF configurada no componente
    xUFOld := ACBrCTe1.Configuracoes.WebServices.UF;
    // O evento tem que ser enviado para a UF do Emitente do CT-e
    ACBrCTe1.Configuracoes.WebServices.UF := xUF;

    ACBrCTe1.EventoCTe.Evento.Clear;

    with ACBrCTe1.EventoCTe.Evento.New do
    begin
      // Para o Evento: nSeqEvento sempre = 1
      infEvento.nSeqEvento := 1;
      // Devemos informar a UF do Emitente do CT-e
      InfEvento.cOrgao     := UFtoCUF(xUF);
      infEvento.chCTe      := Copy(ACBrCTe1.Conhecimentos.Items[0].CTe.infCTe.Id, 4, 44);
      infEvento.CNPJ       := edtEmitCNPJ.Text;
      infEvento.dhEvento   := now;
      infEvento.tpEvento   := tePrestDesacordo;

      infEvento.detEvento.xOBS  := xObs;
    end;

    iLote := 1; // Numero do Lote do Evento
    ACBrCTe1.EnviarEvento(iLote);

    // Retorna a configuração
    ACBrCTe1.Configuracoes.WebServices.UF := xUFOld;

    MemoResp.Lines.Text   := ACBrCTe1.WebServices.EnvEvento.RetWS;
    memoRespWS.Lines.Text := ACBrCTe1.WebServices.EnvEvento.RetornoWS;

    LoadXML(ACBrCTe1.WebServices.EnvEvento.RetWS, WBResposta);

    ShowMessage(IntToStr(ACBrCTe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat));
    ShowMessage(ACBrCTe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.nProt);
  end;
end;

 

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
  • Solution
38 minutos atrás, Victor H. Gonzales - Panda disse:

Você está montando o evento?

codigo extraido do exemplo, onde você informa o COrgão 

// Devemos informar a UF do Emitente do CT-e
      InfEvento.cOrgao     := UFtoCUF(xUF);

procedure TfrmACBrCTe.btnPrestacaoDesacordoClick(Sender: TObject);
var
  xObs, xUF, xUFOld: String;
  iLote: Integer;
begin
  {
   O Evento de Prestação de Serviço em Desacordo deve ser enviado pelo Tomador
   do serviço que pode ser tanto o Remetente quanto o Destinatário da carga.
   Sendo assim na linha abaixo que faz referencia a edtEmitCNPJ entende-se que
   o CNPJ é do tomador (emitente do evento) e não o CNPJ do emitente do CT-e.
  }
  OpenDialog1.Title := 'Selecione o CTe para enviar o Evento de Prestação de Serviço em Desacordo';
  OpenDialog1.DefaultExt := '*-cte.xml';
  OpenDialog1.Filter := 'Arquivos CTe (*-cte.xml)|*-cte.xml|Arquivos XML (*.xml)|*.xml|Todos os Arquivos (*.*)|*.*';
  OpenDialog1.InitialDir := ACBrCTe1.Configuracoes.Arquivos.PathSalvar;

  if OpenDialog1.Execute then
  begin
    ACBrCTe1.Conhecimentos.Clear;
    ACBrCTe1.Conhecimentos.LoadFromFile(OpenDialog1.FileName);

    xObs := 'Observacao do Tomador (com no minimo 15 caracteres)';
    if not(InputQuery('Prestação de Serviço em Desacordo:', 'Observação do Tomador', xObs)) then
      exit;

    xUF := '';
    if not(InputQuery('Prestação de Serviço em Desacordo:', 'UF do Emitente do CT-e', xUF)) then
      exit;

    // Salva a UF configurada no componente
    xUFOld := ACBrCTe1.Configuracoes.WebServices.UF;
    // O evento tem que ser enviado para a UF do Emitente do CT-e
    ACBrCTe1.Configuracoes.WebServices.UF := xUF;

    ACBrCTe1.EventoCTe.Evento.Clear;

    with ACBrCTe1.EventoCTe.Evento.New do
    begin
      // Para o Evento: nSeqEvento sempre = 1
      infEvento.nSeqEvento := 1;
      // Devemos informar a UF do Emitente do CT-e
      InfEvento.cOrgao     := UFtoCUF(xUF);
      infEvento.chCTe      := Copy(ACBrCTe1.Conhecimentos.Items[0].CTe.infCTe.Id, 4, 44);
      infEvento.CNPJ       := edtEmitCNPJ.Text;
      infEvento.dhEvento   := now;
      infEvento.tpEvento   := tePrestDesacordo;

      infEvento.detEvento.xOBS  := xObs;
    end;

    iLote := 1; // Numero do Lote do Evento
    ACBrCTe1.EnviarEvento(iLote);

    // Retorna a configuração
    ACBrCTe1.Configuracoes.WebServices.UF := xUFOld;

    MemoResp.Lines.Text   := ACBrCTe1.WebServices.EnvEvento.RetWS;
    memoRespWS.Lines.Text := ACBrCTe1.WebServices.EnvEvento.RetornoWS;

    LoadXML(ACBrCTe1.WebServices.EnvEvento.RetWS, WBResposta);

    ShowMessage(IntToStr(ACBrCTe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat));
    ShowMessage(ACBrCTe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.nProt);
  end;
end;

 

Situação identificada, em ACBRCTE.Configuracoes.Webservices.UF ajustado para receber a UF do Emissor do CTE e mantido no InfEvento.cOrgao o código da UF do emissor.

 

 

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

  • Administradores

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 580 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...