Ir para conteúdo
  • Cadastre-se

dev botao

Sugestão Aos Colaboradores Do Acbrboleto


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

Recommended Posts

Seria ótimo se o procedimento  

procedure TACBrBoleto.GerarRemessa( NumeroRemessa : Integer );

 

fosse uma função e retornasse um boolean, pois apos a geração da remessa, há uma serie de procedimentos que só devem ser executados se a remessa for de fato gerada.

 

 

 
Link para o comentário
Compartilhar em outros sites

sim Daniel, ele gera um exeption, mas ainda assim executa o restante do código: ex: 

   FDataModule.ACBrBoleto.GerarRemessa(cdsConfiguracao.FieldByName('REMESSA').AsInteger);

   TldiBoletos.AtualizaNN(cdsConfiguracao.FieldByName('ID').AsString, IntToStr(NN));
   TldiBoletos.Atualiza_Sequencial_Remessa(cdsConfiguracao.FieldByName('ID').AsString,IntToStr(cdsConfiguracao.FieldByName('REMESSA').AsInteger));
   cdsRemessa.EnableControls;
   CDS_Cab.EnableControls;

nao tentei o try except end; ah nao ser que coloque um Exit na exceção, mas nao sei se resolve.

                  

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Se ocorrer um Exception na linha do GerarRemessa, as linhas debaixo serão ignoradas... ele sairá da procedure ou function...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

sim Daniel, ele gera um exeption, mas ainda assim executa o restante do código: ex: 




   FDataModule.ACBrBoleto.GerarRemessa(cdsConfiguracao.FieldByName('REMESSA').AsInteger);

   TldiBoletos.AtualizaNN(cdsConfiguracao.FieldByName('ID').AsString, IntToStr(NN));
   TldiBoletos.Atualiza_Sequencial_Remessa(cdsConfiguracao.FieldByName('ID').AsString,IntToStr(cdsConfiguracao.FieldByName('REMESSA').AsInteger));
   cdsRemessa.EnableControls;
   CDS_Cab.EnableControls;

nao tentei o try except end; ah nao ser que coloque um Exit na exceção, mas nao sei se resolve.

Bom dia Danilo.

 

Efetue um Try Except que resolve seu problema

 



try
  FDataModule.ACBrBoleto.GerarRemessa(cdsConfiguracao.FieldByName('REMESSA').AsInteger);

  TldiBoletos.AtualizaNN(cdsConfiguracao.FieldByName('ID').AsString, IntToStr(NN));
  TldiBoletos.Atualiza_Sequencial_Remessa(cdsConfiguracao.FieldByName('ID').AsString,IntToStr(cdsConfiguracao.FieldByName('REMESSA').AsInteger));
  cdsRemessa.EnableControls;
  CDS_Cab.EnableControls;
except
  on E: exception do
  begin
    raise Exception.Create('Erro ao gerar remessa' + #13#10 +
	  'Erro retornado foi o seguinte:' + #13#10 E.message);
  end;
end; 

 

Atenciosamente.

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

Jéter Rabelo Ferreira
Campestre/MG

Link para o comentário
Compartilhar em outros sites

  • Solution
Bom dia Danilo.

 

Efetue um Try Except que resolve seu problema

 



try
  FDataModule.ACBrBoleto.GerarRemessa(cdsConfiguracao.FieldByName('REMESSA').AsInteger);

  TldiBoletos.AtualizaNN(cdsConfiguracao.FieldByName('ID').AsString, IntToStr(NN));
  TldiBoletos.Atualiza_Sequencial_Remessa(cdsConfiguracao.FieldByName('ID').AsString,IntToStr(cdsConfiguracao.FieldByName('REMESSA').AsInteger));
  cdsRemessa.EnableControls;
  CDS_Cab.EnableControls;
except
  on E: exception do
  begin
    raise Exception.Create('Erro ao gerar remessa' + #13#10 +
	  'Erro retornado foi o seguinte:' + #13#10 E.message);
  end;
end; 

 

Atenciosamente.

 

 

blz.. obrigado Jéter, 

não tinha o habito de usar assim o try except .. mas agora entendi ... apresenta uma mensagem mais amigável ao user.

Link para o comentário
Compartilhar em outros sites

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