Ir para conteúdo
  • Cadastre-se

dev botao

Status Servico cancelamento de nfe


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

Recommended Posts

  • Membros Pro
Postado

Bom dia a todos,

Ao gerar uma nova Nfe não há a necessidade de enviar esse comando

AcbrNFE1.WebServices.StatusServico.Executar;

O sistema gera a nfe normalmente,

Porém, se eu for cancelar uma nfe

AcbrNFe1.NotasFiscais.Clear;
    AcbrNFe1.EventoNFe.Evento.Clear;
    with AcbrNFe1.EventoNFe.Evento.Add do
    begin
     infEvento.chNFe := DMX.IBNotaFiscalCHAVEACESSO.Value;
     infEvento.CNPJ   := DMX.TabEmpresaCNPJ.Value;
     infEvento.dhEvento := AcbrNFe1.WebServices.StatusServico.dhRecbto; //now + StrToTime('02:00:00');
     infEvento.tpEvento := teCancelamento;
     infEvento.detEvento.xJust := Justificativa;
     infEvento.detEvento.nProt := DMX.IBNotaFiscalPROTOCOLO.Value;
     end;
    AcbrNFe1.EnviarEvento(DMX.IBNotaFiscalLOTENF.Value);

Se eu enviar assim, da uma mensagem

215 - Erro no schema xml

Fazendo alguns testes e inserindo antes

AcbrNFE1.WebServices.StatusServico.Executar; 

o envio do evento de cancelamento é executado corretamente.

É necessário mesmo eu chamar o status de serviço antes de enviar um evento

ou estou fazendo algo errado?

Grato

 

 

 

 

 

 

  • Membros Pro
Postado
28 minutos atrás, Juliomar Marchetti disse:

Bom dia

não, pois conforme pode notar tem relatos no fórum de pessoas que foram bloqueadas por excesso de acesso.

muito estranho o que relata, tentou fazer testes com o exemplo svn?

Bom dia Juliomar,

No exemplo do acbr, não gera o erro, porem a rotina é a mesma

Segue a rotina no exemplo: 

ACBrNFe1.EventoNFe.Evento.Clear;
//  ACBrNFe1.EvnvEvento.EnvEventoNFe.idLote := StrToInt(idLote) ;
  with ACBrNFe1.EventoNFe.Evento.Add do
   begin
     infEvento.chNFe := Chave;
     infEvento.CNPJ   := CNPJ;
     infEvento.dhEvento := now;
     infEvento.tpEvento := teCancelamento;
     infEvento.detEvento.xJust := Justificativa;
     infEvento.detEvento.nProt := Protocolo;
   end;
  ACBrNFe1.EnviarEvento(StrToInt(idLote));

  MemoResp.Lines.Text := ACBrNFe1.WebServices.EnvEvento.RetWS;
  memoRespWS.Lines.Text := ACBrNFe1.WebServices.EnvEvento.RetornoWS;
  LoadXML(ACBrNFe1.WebServices.EnvEvento.RetornoWS, WBResposta);

A unica coisa diferente que estou percebendo é no infEvento.dhEvento := now;

Vou verificar se é isto

 

Grato pela ajuda

 

 

3 minutos atrás, rodrigoogioni disse:

Bom dia Juliomar,

No exemplo do acbr, não gera o erro, porem a rotina é a mesma

Segue a rotina no exemplo: 

ACBrNFe1.EventoNFe.Evento.Clear;
//  ACBrNFe1.EvnvEvento.EnvEventoNFe.idLote := StrToInt(idLote) ;
  with ACBrNFe1.EventoNFe.Evento.Add do
   begin
     infEvento.chNFe := Chave;
     infEvento.CNPJ   := CNPJ;
     infEvento.dhEvento := now;
     infEvento.tpEvento := teCancelamento;
     infEvento.detEvento.xJust := Justificativa;
     infEvento.detEvento.nProt := Protocolo;
   end;
  ACBrNFe1.EnviarEvento(StrToInt(idLote));

  MemoResp.Lines.Text := ACBrNFe1.WebServices.EnvEvento.RetWS;
  memoRespWS.Lines.Text := ACBrNFe1.WebServices.EnvEvento.RetornoWS;
  LoadXML(ACBrNFe1.WebServices.EnvEvento.RetornoWS, WBResposta);

A unica coisa diferente que estou percebendo é no infEvento.dhEvento := now;

Vou verificar se é isto

 

Grato pela ajuda

 

 

O problema era aqui mesmo

infEvento.dhEvento := now;

Grato pela ajuda

 

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