Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado

Boa tarde, estou com um problema para enviar CTe.

 

Estou montando dessa forma o xml.

 

with ACBrCTe1 do

  begin

    //informe o CTe.

 

    if not  (Enviar(0, False)) then

    begin

       //passar a mensagem que não enviou o cte

    end;

  end;

 

 

O problema que estou tendo é que o Enviar(0, False) não retorna nada se por exemplo a I.E estiver errada. Parece que simplesmente o ACBr abandona a execução e não retorna nada para a função. Há algo que possa ser feito em relação a isso?

 

  • Membros Pro
Postado

É isso mesmo que eu faço:

with ACBrCTe1 do
begin

//informe o CTe.

 

if not (Enviar(0, False)) then

begin

//passar a mensagem que não enviou o cte

end;

 

codRet := WebServices.Retorno.CTeRetorno.ProtCTe.Items.cStat;

motRet := WebServices.Retorno.CTeRetorno.ProtCTe.Items.xMotivo;

end;

 

O problema é que quando tem um erro a execução após o Enviar(0, False) não continua não sendo possível saber qual foi o retorno. Parece que se dá erro o ACBr está abortando a execução do restante. Preciso pegar essas informações para armazenar em algum arquivo de log para identificar o erro que aconteceu.

  • Membros Pro
  • Solution
Postado

Resolvi o problema

 

mudei a forma de enviar o CTe.

 

with ACBrCTe1 do
begin

try

  Enviar(0, False);

except

   //mensagem de erro.

end;

 

codRet := WebServices.Retorno.CTeRetorno.ProtCTe.Items.cStat;

motRet := WebServices.Retorno.CTeRetorno.ProtCTe.Items.xMotivo;

 

 

end;

 

Funcionou o que eu precisava.

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