Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Pessoal,

Quando se emite redução Z no dia posterior ao movimento, o ECF fica liberado para venda, pois a redução Z refere-se ao dia anterior.

Pois bem, coloquei no evento DepoisReducaoZ o seguinte:

 if ((not frmPrincipal.ecfImpressora.EmLinha(5)) or (not bAutorizado) or

      (frmPrincipal.ecfImpressora.Estado = estNaoInicializada) or

      (frmPrincipal.ecfImpressora.Estado = estBloqueada)) then begin


    lblProduto.Font.Color := clRed;

    lblProduto.Caption := 'ECF bloqueado por Redução Z';


    frmMenuFiscal.DesabilitaMenuFiscal;

  end

    else begin

      lblProduto.Font.Color := cCorFonte;

      AberturaCaixa;

      lblProduto.Caption := 'Caixa Livre';


      frmMenuFiscal.HabilitaMenuFiscal;

    end;

Isso para saber se o ECF está disponível ou bloqueado. Porém SEMPRE retorna que está bloqueado, mas se eu tentar fazer qualquer venda ele faz normalmente. Alguma dica sobre o que pode ser? Estou usando para testes Daruma FS700H.

Obrigado a todos,

Ivan

  • Fundadores
Postado

há algo errado na sua lógica...

Nunca use as propriedades do ACBrECF como se fossem variáveis locais.. cada chamada a elas gera "transito" com a serial... e seu sistema pode ficar muito lento...

Atribua frmPrincipal.ecfImpressora.Estado para uma váriavel local e teste contra a variável..

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.

Postado

Ok, segui seu conselho e criei uma variával para armazenar o estado, evitando várias chamadas desnecessárias, mas quanto à lógica não concordo que esteja com problemas, pois coloquei essa comparação após a redução Z, ou seja, se a redução Z foi emitida no mesmo dia, o estado do ECF será bloqueado, caso contrário o estado dela será liberado para venda. Certo?

  • Moderadores
Postado

Amigo

faço a redução Z logo que inicia a aplicação no caso dela estar pendente


      if (Self.EstadoECF = estRequerZ) then

        begin

          with TInPDVReducaoZ.Create do

            begin

              Execute;

              Destroy;

            end;

        end;

e logo abaixo verifico se necessita de algo mais e sempre funcionou corretamente

      if (Self.EstadoECF = estRequerX) then

        begin

          Self.ACBrECF.LeituraX;

e está rodando em clientes que inclusive deixam a redução para o dia seguinte

no self.EstadoECF é um metodo dentro da minha classe do pdv em que verifica na ecf

se ela está liberada e dai faz a consulta do estado da mesma para retornar a aplicação

ou espera até ela liberar para receber o estado da ecf e grava como o daniel falou em variavel local.

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • Fundadores
Postado

Vc tem um IF relativamente complexo para definir como bloqueada... use o Debug e verifique cada uma das Opções...

Observe no ECFTeste, que o mesmo sinaliza corretamente o estado do ECF na barra de status... ou seja, não há problema com o ACBrECF quanto a detecção do Estado estBloqueada

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.

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