Ir para conteúdo
  • Cadastre-se

dev botao

Duvida "sem Papel Desabilitado No Ecf"


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

Recommended Posts

Postado

Bom dia gente ,

 

Estou tendo dificuldade em ter o retorno que acabou por completo o papel quando o ECF vai terminar de imprimir a finalização do Cupom , ou seja , Comando "ACBrFechaCupom"  , friso que este ECF esta com o sensor de papel desabilitado .

 

- No caso seria este o problema do sensor de papel desabilitado do ECF que o ACBrECF não disparar o evento ONErrorSemPapel ?

- Para utilizar TEF em minha AC é inevitável que o ECF tenho que ter o Sensor de Papel habilitado e funcionado corretamente ?

 

Neste ECF Sweda que estou testando mesmo sem papel ou com pouco papel no ECFTeste clicando no menu "Pouco Papel ?" do ECFTeste ele me retorna sempre = NÃO !!!!

 

Muito obrigada 

  • Consultores
Postado

Não sei se entendi sua dúvida direito, mas... se o sensor de papel estiver desabilitado, como o ECF vai retornar que está sem papel?

[]'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.
Postado

Daniel e Elton obrigada pela resposta ,

 

Vejam o cenario :

 

- ECF Sweda ST 120 

- Corto o papel deixando apenas uma média de 10 cmt de papel .

 

1 - Inicio o cupom , ok .

2 - Passo 1 item , ok .

3 - Subtotalizo e Pago , ok .

4 - Inicio o FechaCupom e começa imprimir o fechamento mas tem apenas um pedacinho de papel e não é o suficiente para imprimir todo o FechaCupom... 'ok'

5 - Antes que seja totalmente impresso o Comando FechaCupom acaba totalmente o papel do ECF e vi que no log o mesmo começa a retornar ...'OK... Aguardando Bloco' . neste momento o Led vermelho = "Erro Papel" do ECF esta piscando . 

6 - Quando coloco papel no ECF a aplicação Termina as ações 100% mas queria mostrar na tela quando acabace o papel uma mensagem e enquanto o status fosse sem papel ele me informasse que o motivo da parada é a falta de papel .

 

Tentei o evento de OnErrorSemPapel mas não retorna nada .

 

Testei o aplicativo da Sweda chamado "Lacrador" e o mesmo quando acaba o papel me retorna um Panel na tela = "Sem papel" e enquanto não coloco o papel ele não some o panel , uma espécie de timer escutando a porta do PC X ECF .

 

Estou colocando o ACBrECFLog para vcs verem por favor .

 

Muito obrigada .

 

 

acbrlog.txt

acbrlog.txt

Postado

Algumas coisas que tive vendo em ACBrECFSwedaSTX :

 

      if Trim(Mensagem) = '125' then  // ====> O retorno aqui sempre vem com '0125' e não '125'
         DoOnErrorSemPapel
      else
         raise EACBrECFSemResposta.create(ErroMsg) ;
 
 
... vou postando aqui oque eu puder ajudar !
  • Curtir 1
  • Solution
Postado

Daniel bom dia ,

 

Oque noto no ACBrECF é que as exceções são tratadas no momento da Execução , ou seja , executo um Comando qualquer e o ECF esta sem nenhum problema para receber este comando "X" ele executa e passa do tratamento de exceção , mas no caso em questão onde o mesmo efetuou o comando mas ainda não terminou de imprimir uma leitura X por exemplo este retorno do papel ou tampa aberta ou outra coisa que implique o retorno isso não retorna para aplicação , a nível de teste ativei uma flag = ControlePorta mas tbm não tive resultado .

 

Considerações :

Quando o ECF esta OK para receber comandos do ACBrECF onde este comando inicia mas no meio do retorno ele tem algum Bug do ECF , este por sua vez não é mais retornado ( Tampa Aberta , Sem Papel ... etc etc ) .

 

Exclui o Log e coloquei 2 logs :

 

ACBrlog_Na_Execussao_FechaCupom.txt  ....No Executar o comando

 

ACBrlog_Apos_FechaCupom_Que_Ja_Iniciou.txt   ....Aguardando o Retorno do Comando que iniciou OK mas ainda não Finalizou o Ciclo por completo ( A aplicação esta travada e o ECF com algum problema genérico = Sem papel , Tampa aberta ... )

 

 

Obrigada

 

 

 

  • Curtir 1
  • Fundadores
Postado

Isso é proposital... Como podemos saber se o ECF já acabou a Impressão ? 

 

Alguns modelos sinalizam isso de forma bem clara, ou ainda enviam um sinal enquanto o ECF está trabalhando... mas outros não (é o caso da Sweda)... e para piorar, eles respondem ao comando enviado, muito antes do termino da Impressão...   então no ACBrECF, há uma propriedade que pode ser ligada, para que o mesmo faça uma verificação adicional, após receber a Resposta do ECF...  a propriedade   AguardaImpressao

 

Ex:

procedure TACBrECFSwedaSTX.LeituraX ;
begin
  AguardaImpressao := True ;
  EnviaComando( '15' ) ;
end;

Quando a mesma está ligada, após o ACBrECF receber a resposta do ECF, ele envia um novo comando, solicitando o Status do ECF.. alguns ECFs não conseguem responder, enquanto estão trabalhando... e nesse caso, sabemos que ele está ocupado...

 

O que deve estar ocorrendo... é que a rotina VerificaFimImpressao não deve estar considerando os estados de Erro... vou analisar os Logs e verificar como podemos implementar

  • Curtir 1
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.

  • Fundadores
Postado

Por favor tente essa nova Unit...Promovi uma grande mudança na metodologia no tratamento das respostas com mudanças de Estados da Sweda... (Espero que isso não cause outros efeitos colaterais)

ACBrECFSwedaSTX.zip

  • Curtir 2
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

Daniel bom dia ,

 

Feedback de comportamento do ACBrECF com comparativo com o programa Lacrador da Sweda , vamos lá :

 

Comportamento do Programa da Sweda "Lacrador" :

1 - Emito uma Leitura "X" e logo no inicio da impressão abro a tampa , a AC Lacrador me mostra a mensagem "Tampa Aberta" .

2 - Fecho a Tampa e continua mais um pedaço de impressão e nesta mesma Leitura "X" , acaba o papel , a AC Lacrador me volta outra mensagem "Sem papel" , ou seja , vai alternando o Retorno de Erro até acabar por completo a impressão .

 

Comportamento do ACBr ECFTeste :

1 - Emito uma Leitura "X" e logo no inicio da impressão abro a tampa , a AC ECFTeste me mostra a mensagem "Tampa Aberta" .

2 - Fecho a Tampa e continua mais um pedaço de impressão nesta mesma Leitura "X" , acaba o papel , a AC ECFTeste não mais me retorna nenhuma mensagem deixando a aplicação Congelada . 

 

Nesta versão os Eventos ONError... continuam sendo disparados uma unica vez  mas diferentemente da primeira versão ACBrSwedaSTX que disparava somente no Executar do comando , agora alem do inicio do Comando também é disparado no meio da impressão enquanto não acaba a impressão ( Mas somente uma única vez ) , me retornando somente o primeiro erro e não mais os outros .

 

Considerações :

1 - Houve uma evolução muito boa , se conseguisse disparar estes eventos a cada erro retornado antes de acabar por completo a impressão seria maravilhoso .

2 - O Evento ONErrorSemPapel não dispara de nenhuma forma .

 

 

Obrigada .

  • Consultores
Postado

Olá fabiane,

 

   Se não me engano, era o Fernando (lampada) quem mais tinha contato com essa marca. Mas parece que ele foi realocado na empresa dele para outro setor e talvez não possa nos ajudar no momento. Infelizmente, assim como o Daniel, eu também não tenho acesso a uma Sweda.

 

   Será que você conseguiria tentar analisar o código do componente e sugerir sugestões? Daí nós talvez poderíamos verificar se elas não dariam conflito com alguma outra característica e se poderiam ser implementadas.

[]'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.
  • Membros Pro
Postado

Boa noite pessoal.

 

Fabiane, testei em 2 ecfs (Daruma e Bematech) e aconteceu conforme o relatado.

O teste foi o seguinte:

Início leitura X
Abri tampa
passa pelo evento OnMsgAguarde;
passa pelo evento OnAguardandoRespostaChange, com resposta ':0000040ë204315'#$D
passa pelo evento OnErrorLeituraX(var Tratado: Boolean);
 
Mensagens na tela:
Impressora Daruma não está respondendo
:0000040#235204315#13
- + - + - + - + - + - + - + - + - + - + - + -
 
Cortei a bobina e fechei a tampa
O ecf acusou erro
A aplicação não acusou (continua com a mensagem de "exception" anterior no rodapé)
Coloquei bobina nova
O ecf concluiu a leitura X
A aplicação continuou com a mensagem de exception
 
log:
--------------------------------------------------------------------------------
ATIVAR - 04/04/15 21:44:16:037 - Modelo: Daruma - Porta: COM1 - TimeOut: 3
         Device: BAUD=9600 DATA=8 PARITY=N STOP=1 HANDSHAKE=RTS/CTS HARDFLOW MAXBANDWIDTH=0
--------------------------------------------------------------------------------
 
-- 21:44:24:771 Estado
                TX -> [FS]R[200]056[181]
   21:44:26:130 RX <- :[200]0560[CR][252]
-- 21:44:26:130 
                TX -> [GS][ACK][ESC]
   21:44:27:459 RX <- :0030B08000C100[CR]
-- 21:44:27:927 IdentificaOperador()
                TX -> [FS]C[209]                    [142]
   21:44:29:552 RX <- :0000000[209][CR][214]
-- 21:44:29:568 Estado
                TX -> [FS]R[200]056[181]
   21:44:31:193 RX <- :[200]0560[CR][252]
-- 21:44:31:209 
                TX -> [GS][ACK][ESC]
   21:44:32:615 RX <- :0030B08000C100[CR]
-- 21:44:38:505 LeituraX
                TX -> [FS]F[235]0[129]
Daruma: Falha no Envio do CMD. Tentativa: 1 - Erro: 0 - Estendido: 0 -> Erro não documentado Cod.Aviso: 0
   21:46:14:771 RX <- :0000040[235]204315[CR]
----------------- ERRO -----------------
Impressora Daruma não está respondendo
----------------------------------------
****Obs este erro é referente a abertura da tampa. Não houve mensagens após.
 
Para contornar, sugiro o uso dos eventos OnDepois.
Ex: Para confirmar o término do cupom use OnDepoisFechaCupom.
Postado

Pessoal , nesse caso relatado pelo Selmo Almeida percebemos que esta questao não se trata de um problema isolado somente da ACBrSwedaSTX e sim dos demais modelos .

Julio eu estou em Hortolândia-SP , e emprestar o ECF não ha problema mas o Daniel esta mais próximo para este tramite se ele se dispor a verificar é claro .

Muito obrigada a todos .

  • Fundadores
Postado

Eu não vejo isso como algo que precise ser resolvido... O ACBrECF para quando o primeiro problema é encontrado e acusa o erro... e isso é o suficiente para que a aplicação saiba que houve algum problema no comando enviado...

 

Na classe da SwedaSTX, realmente havia um problema onde o erro não era acusado inicialmente... que ao que parece, foi corrigido com a modificação que sugeri...

 

Reconheço que o mecanismo de detecção de erros poderia ser melhorado... mas eu não pretendo investigar mais esse problema, pois tenho outras prioridades no momento...

 

Se desejarem enviar Patchs com melhorias, eu posso analisar as sugestões...

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.

  • 3 semanas depois ...
Postado (editado)

Boa tarde ,

 

Como eu disse anteriormente que ia analizando e se encontrasse algo diferente postaria aqui , pois bem , peguei um Log de um cliente para isso e notei que as vezes aparece um retorno no log =  Access violation at address 00443D72 in module 'PDV.exe'. Read of address FFFFFFFF e isso iniciou-se após a atualização que fiz da classe ACBrSwedaSTX , na verdade não consegui simular este erro porque ele aparece em diversos comandos . Este Log representa um periodo de dias em que não houve a atualização e esta sem este retorno de erro e um periodo em que ocorre o erro que foi após a atualização .

 

Obrigada .

ACBrECF_Log.rar

ACBrECF_Log.rar

Editado por fabiane_vieira
  • Fundadores
Postado

O Log não ajuda nesse caso...  Você teria que fornecer um passo a passo de como reproduzir o erro usando o Demo ECFTestes.exe

 

Muito provavelmente o Erro está no seu sistema... talvez dentro da chamada de algum evento do ACBrECF...

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

Daniel , obrigada pela resposta ,

 

Erro na aplicação acho difícil neste caso em questão , até porque a AC é a mesma só recompilei com a atualização da ACBrSwedaSTX "Antes e Depois da atualização que gera o Bug" , ou seja , Este Log corresponde a mesma AC com a Atualização da classe ACBrSwedaSTX que não gerava Erro no Log e agora gera erros no Log .

 

Mas tudo bem , vou debugar por aqui e caso encontre volto a postar .

 

Muito Obrigada .

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