Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia companheiros, desculpem de este assunto não pertencer a este tópico, mas queria compartilhar com os colegas uma questão que envolve o tamanho da função que passa parâmetros para o componente. A função GeraNFe do demo mostra corretamente como passar os parâmetros e ajuda bastante para entender como integraremos nossos sistemas com o componente. Porém gostaria de saber se podemos ver alguma maneira de modularizar mais o código para ficar mais fácil na hora da manutenção. Por exemplo. A função GeraNFe poderia chamar dentro dela;

carregaConfiguracoes();

setIde();

setEmit();

setDest();

.

.

.

setXPTO()....

Outro exemplo; O case dentro da função ACBrNFe1StatusChange:

case ACBrNFe1.Status of

stIdle :

begin

if ( frmStatus <> nil ) then

frmStatus.Hide;

end;

stNFeStatusServico :

begin

if ( frmStatus = nil ) then

frmStatus := TfrmStatus.Create(Application);

frmStatus.lblStatus.Caption := 'Verificando Status do servico...';

frmStatus.Show;

frmStatus.BringToFront;

end;

stNFeRecepcao :

begin

if ( frmStatus = nil ) then

frmStatus := TfrmStatus.Create(Application);

frmStatus.lblStatus.Caption := 'Enviando dados da NFe...';

frmStatus.Show;

frmStatus.BringToFront;

end;

stNfeRetRecepcao :

begin

if ( frmStatus = nil ) then

frmStatus := TfrmStatus.Create(Application);

frmStatus.lblStatus.Caption := 'Recebendo dados da NFe...';

frmStatus.Show;

frmStatus.BringToFront;

end;

stNfeConsulta :

begin

if ( frmStatus = nil ) then

frmStatus := TfrmStatus.Create(Application);

frmStatus.lblStatus.Caption := 'Consultando NFe...';

frmStatus.Show;

frmStatus.BringToFront;

end;

stNfeCancelamento :

begin

if ( frmStatus = nil ) then

frmStatus := TfrmStatus.Create(Application);

frmStatus.lblStatus.Caption := 'Enviando cancelamento de NFe...';

frmStatus.Show;

frmStatus.BringToFront;

end;

stNfeInutilizacao :

begin

if ( frmStatus = nil ) then

frmStatus := TfrmStatus.Create(Application);

frmStatus.lblStatus.Caption := 'Enviando pedido de Inutilização...';

frmStatus.Show;

frmStatus.BringToFront;

end;

stNFeRecibo :

begin

if ( frmStatus = nil ) then

frmStatus := TfrmStatus.Create(Application);

frmStatus.lblStatus.Caption := 'Consultando Recibo de Lote...';

frmStatus.Show;

frmStatus.BringToFront;

end;

stNFeCadastro :

begin

if ( frmStatus = nil ) then

frmStatus := TfrmStatus.Create(Application);

frmStatus.lblStatus.Caption := 'Consultando Cadastro...';

frmStatus.Show;

frmStatus.BringToFront;

end;

stNFeEnvDPEC :

begin

if ( frmStatus = nil ) then

frmStatus := TfrmStatus.Create(Application);

frmStatus.lblStatus.Caption := 'Enviando DPEC...';

frmStatus.Show;

frmStatus.BringToFront;

end;

stNFeConsultaDPEC :

begin

if ( frmStatus = nil ) then

frmStatus := TfrmStatus.Create(Application);

frmStatus.lblStatus.Caption := 'Consultando DPEC...';

frmStatus.Show;

frmStatus.BringToFront;

end;

stNFeEmail :

begin

if ( frmStatus = nil ) then

frmStatus := TfrmStatus.Create(Application);

frmStatus.lblStatus.Caption := 'Enviando Email...';

frmStatus.Show;

frmStatus.BringToFront;

end;

end;

Application.ProcessMessages;

Poderia ser trocado por:

frmStatus.lblStatus.Caption := Status[ACBrNFe.Status];

Uma ves que fosse declarado uma const na unit Status : array [ TStatusACBrNFe ] of string = ('Processando...', 'Verificando Status do Serviço...', 'Enviando dados da NFe...', 'Recebendo dados da NFe...', 'Consultando NFe...', 'Enviando Cancelamento de NFe...', 'Enviando Pedido de Inutilização', 'Consultando Recibo...', 'Consultando Cadastro...', 'Enviando Email...' ,'Enviando DPEC...', 'Consultando DPEC...');

Se for válida minhas considerações vamos discutir uma maneira de dividir para conquisar...

Pedro Antônio de Oliveira Peixoto

Analista de Sistemas

Professor do IFMG SJE

http://www.eagletecnologia.com

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