Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

No meu sistema esta acontecendo um erro inusitado desde que comecei a utilizar o AcbrEcf. Acredito que não tenha nada a ver, mas não consigo descobrir o problema. Na tela do meu ECF no evento onexit de um dbedit onde verifico o vendedor, tem algumas rotinas. Antes de entrar num TEdit que esta dentro de um TPanel (no evento onEnter do Panel) faz, também varias verificações, tais como: 

 Ret_Ecf := ACBrECF1.Estado;
 
         if Ret_Ecf = estNaoInicializada then
            begin
               Aviso('Porta Serial ainda não foi aberta.');
               dbVenNat.SetFocus;
               exit;
            end;
         if Ret_Ecf = estDesconhecido then
            begin
               Aviso('Porta aberta, mas estado ainda não definido.');
               dbVenNat.SetFocus;
               exit;
            end;
         if Ret_Ecf = estLivre then
            begin
            end;
         if Ret_Ecf = estVenda then
            begin
//               Aviso('Cupom de Venda Aberto COM ou SEM venda do 1º Item');
            end;
         if Ret_Ecf = estPagamento then
            begin
               Aviso('Iniciado Fechamento de Cupom com Formas Pagamento pode ou não ter efetuado o 1º pagamento.',
                  'Não pode mais vender itens, ou alterar Sub-total');
               ceCodigo.SetFocus;
               exit;
            end;
         if Ret_Ecf = estRelatorio then
            begin
               Aviso('Imprimindo Cupom Fiscal Vinculado ou Relatório Gerencial');
               dbVenNat.SetFocus;
               exit;
            end;
         if Ret_Ecf = estBloqueada then
            begin
               Aviso('Redução Z já emitida, bloqueada até as 00:00');
               dbVenNat.SetFocus;
               exit;
            end;
         if Ret_Ecf = estRequerZ then
            begin
               Aviso('Redução Z do dia anterior ainda não foi emitida. Emitir agora.');
               dbVenNat.SetFocus;
               exit;
            end;
         if Ret_Ecf = estRequerX then
            begin
               Aviso('Esta impressora requer Leitura X todo inicio de dia.',
                  'É necessário imprimir uma Leitura X para poder vender');
               dbVenNat.SetFocus;
               exit;
            end;
elem de outras rotinas minhas.
o problema acontece quando da o foco no TEdit (aonde é digitado o código do produto). Eu digito o codigo do item de teclo Enter ou Tab. O cursor sai do TEdit e não passa por nenhum evento do componente. Volto para o TEdit e teclo Enter novamente, dai sim, ele passa pelos eventos (onexit). Não consigo descobrir porque na primeira vez (no primeiro item) ele faz isto. do segundo item em diante passa normalmente.
Obs.: Ja troquei oTEdit por outro componente similar, mas o problema persiste.
Anexo a minha rotina no evento onExit do dbVendedor e onEnter do TPanel.
podem mandar qualquer sujestão, pois preciso resolver este problema, pois os clientes já estão descontentes.
 
Att.: João Hintz
 

Rotina.txt

  • Consultores
Postado

Tenta o fazer ACBrECF.Device.ProcessMessages := False;

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Este tópico foi criado há 3825 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.