Ir para conteúdo
  • Cadastre-se

dev botao

Impressora Fiscal Sem Papel


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

Recommended Posts

Postado

Bom dia,

Estou com um problema com impressoras fiscais da marca Epson, a situação é a seguinte.

Quando eu mando vender um item e eu tenho o retorno do except dizendo 'FIM DE PAPEL' em alguns casos a impressora registra o item vendido, ou seja, mesmo dando o erro, a impressora registrou o item da venda.

Alguém já passou por esse problema?

  • Consultores
Postado
Em 01/07/2020 at 09:22, welsoncj disse:

Bom dia,

Estou com um problema com impressoras fiscais da marca Epson, a situação é a seguinte.

Quando eu mando vender um item e eu tenho o retorno do except dizendo 'FIM DE PAPEL' em alguns casos a impressora registra o item vendido, ou seja, mesmo dando o erro, a impressora registrou o item da venda.

Alguém já passou por esse problema?

Nunca passei por isso. Minha sugestão é você verificar no local se o papel realmente acabou e depois contatar o fabricante.

Pode ser, mas acho pouco provável, que seja um problema no firmware.

[]'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
37 minutos atrás, EMBarbosa disse:

Nunca passei por isso. Minha sugestão é você verificar no local se o papel realmente acabou e depois contatar o fabricante.

Pode ser, mas acho pouco provável, que seja um problema no firmware.

Bom dia, 

Estou tentando pegar o log de uma impressora que deu esse tipo de problema para verificar, mas contando que o cliente nunca troca o papel antes de acabar.. acredito que realmente o papel tenha acabado.

  • Consultores
  • Solution
Postado
2 minutos atrás, welsoncj disse:

Bom dia, 

Estou tentando pegar o log de uma impressora que deu esse tipo de problema para verificar, mas contando que o cliente nunca troca o papel antes de acabar.. acredito que realmente o papel tenha acabado.

Pois é... se o papel realmente acabou você vai ter que fazer um tratamento no seu aplicativo pra que quando essa situação ocorrer, você verificar se o subtotal subiu. Assim você vai saber que o item foi vendido.

Geralmente, o papel quando chega perto do fim fica as manchas cor de rosa. Talvez seja uma questão de instruir os usuários.

 

[]'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
1 hora atrás, EMBarbosa disse:

Pois é... se o papel realmente acabou você vai ter que fazer um tratamento no seu aplicativo pra que quando essa situação ocorrer, você verificar se o subtotal subiu. Assim você vai saber que o item foi vendido.

Geralmente, o papel quando chega perto do fim fica as manchas cor de rosa. Talvez seja uma questão de instruir os usuários.

 

Pode ser uma solução verificar o SubTotal, vou fazer uns testes.

A questão de instruir o usuário é tempo perdido, o sistema já emite um aviso na tela de vendas em vermelho bem grande e mesmo assim eles não trocam.

de qualquer forma, obrigado pela dica do subtotal, vou implementar esse controle.

 

t+

  • 1 mês depois ...
Postado
Em 02/07/2020 at 12:13, EMBarbosa disse:

Pois é... se o papel realmente acabou você vai ter que fazer um tratamento no seu aplicativo pra que quando essa situação ocorrer, você verificar se o subtotal subiu. Assim você vai saber que o item foi vendido.

Geralmente, o papel quando chega perto do fim fica as manchas cor de rosa. Talvez seja uma questão de instruir os usuários.

 

Fiz a alteração, no emulador é fácil de fazer o teste, mas na impressora ele não consegue pegar o subtotal quando esta sem papel, ainda não sei como resolver isso.

  • Consultores
Postado
36 minutos atrás, welsoncj disse:

mas na impressora ele não consegue pegar o subtotal quando esta sem papel, ainda não sei como resolver isso.

Quando acabar o papel você precisa dar um retorno ao usuário pra que ele coloque papel. Pegue o subtotal depois que ele colocar o papel no ECF e continuar com a venda.

  • Curtir 1

[]'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
Em 07/08/2020 at 16:32, EMBarbosa disse:

Quando acabar o papel você precisa dar um retorno ao usuário pra que ele coloque papel. Pegue o subtotal depois que ele colocar o papel no ECF e continuar com a venda.

Fiz um teste com o ECF teste, peguei o log do componente e a saída que aparece no aplicativo, quando acaba o pepel ele não esta entrando no except do fim do papel.

logvenda.txt

  • Consultores
Postado
19 minutos atrás, welsoncj disse:

Fiz um teste com o ECF teste, peguei o log do componente e a saída que aparece no aplicativo, quando acaba o pepel ele não esta entrando no except do fim do papel.

logvenda.txt 11 kB · 0 downloads

Eu acredito que o ECFTeste não tem todos os tratamentos para exceptions, em especial o de Fim de Papel. Isso porque ele é apenas um exemplo mesmo.

A exception deve vazar o fluxo e exibir uma mensagem ao usuário na própria tela. Verificou qual a mensagem que mostra quando acaba o 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
14 horas atrás, EMBarbosa disse:

Eu acredito que o ECFTeste não tem todos os tratamentos para exceptions, em especial o de Fim de Papel. Isso porque ele é apenas um exemplo mesmo.

A exception deve vazar o fluxo e exibir uma mensagem ao usuário na própria tela. Verificou qual a mensagem que mostra quando acaba o papel?

Bom dia,

eu fiz o seguinte teste, coloquei só um pedaço de papel na impressora e fui lançando produtos (isso no meu pdv e no ecf teste), quando acaba o papel ele não passa na exception do 'sem papel' e sim no exception do 'sem resposta', abaixo tenho o exemplo de como está o exception do meu pdv hoje.

 

              Except
                on E:EACBrECFSemPapel do
                begin
                  TLogUtils.Log('FIM DO PAPEL');
                  FECF.Desativar;
                  Synchronize(
                  procedure
                  begin
                    TDlgAviso.Error('FIM DO PAPEL, SUBSTITUA O PAPEL E PRESSIONE OK');
                  end);

                  FECF.Ativar;
                  try
                    if SubTotal <> FECF.Subtotal then
                    begin
                      SubTotal := FECF.Subtotal;
                      ControleArquivo.GravaItemVenda(FLista.Items[Key].Codigo + ';' + FLista.Items[Key].Sequencia.ToString);
                      VendeuItem := True;
                    end;
                  except
                  end;
                end;

                on E:EACBrECFSemResposta do
                begin
                  TLogUtils.Log('Sem resposta');
                  FECF.Desativar;
                  Synchronize(
                  procedure
                  begin
                    TDlgAviso.Error('ECF NÃO RESPONDE, VERIFIQUE O PAPEL E OS CABOS');
                  end);

                  FECF.Ativar;
                  try
                    if SubTotal <> FECF.Subtotal then
                    begin
                      SubTotal := FECF.Subtotal;
                      ControleArquivo.GravaItemVenda(FLista.Items[Key].Codigo + ';' + FLista.Items[Key].Sequencia.ToString);
                      VendeuItem := True;
                    end;
                  except
                  end;
                end;

                on E:Exception do
                begin
                  try
                    TLogUtils.Log(E.Message);
                    if not FLista.Items[Key].isPreVenda then
                    begin
                      FECF.Desativar;

                      Synchronize(
                      procedure
                      begin
                        TDlgAviso.Error('Impressora não esta em linha, verifique os cabos e o papel.');
                      end);

                      FECF.Ativar;

                      if SubTotal <> FECF.Subtotal then
                      begin
                        SubTotal := FECF.Subtotal;
                        ControleArquivo.GravaItemVenda(FLista.Items[Key].Codigo + ';' + FLista.Items[Key].Sequencia.ToString);
                        VendeuItem := True;
                      end
                      else
                      begin
                        Log.Add('Erro Adicionando Item Cupom:'+FLista.Items[Key].Descricao);
                        Log.Add('Erro adicionando item: ' + E.Message);

                        ControleArquivo.GravaErro('Produto: '+FLista.Items[Key].Descricao + #13 + 'Erro   : '+E.Message);

                        VendeuItem := True;
                        FErroECF := True;
                      end;
                    end
                    else
                    begin
                      Log.Add('Erro Adicionando Item Cupom:'+FLista.Items[Key].Descricao);
                      Log.Add('Erro adicionando item: ' + E.Message);

                      ControleArquivo.GravaErro('Produto: '+FLista.Items[Key].Descricao + #13 + 'Erro   : '+E.Message);

                      VendeuItem := True;
                      FErroECF := True;
                    end;
                  except
                  end;
                end;
              End;

 

  • Consultores
Postado
5 horas atrás, welsoncj disse:

eu fiz o seguinte teste, coloquei só um pedaço de papel na impressora e fui lançando produtos (isso no meu pdv e no ecf teste), quando acaba o papel ele não passa na exception do 'sem papel' e sim no exception do 'sem resposta',

Certo. Isso pode ser por algum problema no código, ou talvez precise de algum ajuste no componente. Não tenho esse ECF então seria bom se você debugasse. Você pode propor alterações no componente caso necessário.

Mas antes disso, veja o que você escreveu antes:

Em 01/07/2020 at 09:22, welsoncj disse:

Quando eu mando vender um item e eu tenho o retorno do except dizendo 'FIM DE PAPEL'

Isso me passou a ideia de que você está recebendo uma mensagem informando que houve fim do papel e que era um exception.

Afinal, essa mensagem ocorre? Como ela ocorre? Qual é a exata mensagem? De onde ela vem?

[]'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
4 minutos atrás, EMBarbosa disse:

Certo. Isso pode ser por algum problema no código, ou talvez precise de algum ajuste no componente. Não tenho esse ECF então seria bom se você debugasse. Você pode propor alterações no componente caso necessário.

Mas antes disso, veja o que você escreveu antes:

Isso me passou a ideia de que você está recebendo uma mensagem informando que houve fim do papel e que era um exception.

Afinal, essa mensagem ocorre? Como ela ocorre? Qual é a exata mensagem? De onde ela vem?

'essa mensagem ocorre?' - Sim, ela esta no evento de erro que aparece quando acaba o papel

procedure TDMVendaService.ECFErrorSemPapel(Sender: TObject);
begin
  inherited;
  raise EACBrECFSemPapel.Create('FIM DO PAPEL');
end;

procedure TDMVendaService.ECFErrorSemPapel(Sender: TObject);
begin
  inherited;
  raise EACBrECFSemPapel.Create('FIM DO PAPEL');
end;

Fazendo mais testes aqui percebi que a diferença para o ecf retornar o erro de 'sem papel' ou 'sem resposta' é muito pequena, vou continuar os testes aqui e retorno com alguma novidade, por enquanto obrigado pela atenção.

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