none
Controlando o final do Papel na Impressora Fiscal - Pouco papel RRS feed

  • Discussão Geral

  • Pessoal

    O Ideal para evitar que o papel da Impressora NAO ACABE e voce nao fique na mao, é controlar de antemao e preventivamente se o papel está acabando ou nao.

    Na Daruma voce pode fazer isso de duas formas e bem interessantes:

    1) No retorno de cada funcao, caso voce esteja co a Chave do Registry "StatusFuncao" ligada ela retornara -27 agilizando a busca de erro, se o ST1 estiver com 64 é porque a impressora esta com pouco papel, ou seja o papel esta quase acabando.

    2) voce pode controlar o LIMITE deste sensor atraves da funcao Daruma_FI_CfgLimiarNearEnd com ela voce indica quantas linhas a impressora ainda podera imprimir sem acusar que o papel esta acabando, isso evita o famoso problema de o "rolinho" da bobina ainda estar com bastante papel e voce ficar recebendo a mensagem que o papel esta acabando. Veja o codigo fonrte abaixo em VB.

    Vou dar um Exemplo: Se voce programar por exemplo o valor 450, isso quer dizer que ao detectar que o papel esta acabando, a impressora permitira que 450 linhas ainda sejam impressas sem enviar pro programa aplicativo o indicativo que o papel esta acabando, entao...só apos passar 450 linhas é que comecara a indicar que o papel esta acabando.

    Com isso voce aproveita até o final do "Rolinho" de bobina da impressora.

    Mas cuidado, impressoras MFDs que nao possuem Sensor de pouco papel podem deixar seu aplicativo as CEGAS e aí voce só fica sabendo que o papel acabou quando ele realmente acabou e isso pode se rno meio de uma venda. Fique de olho porque  a maioria das impressora MFDs possuem sensor de POUCO papel e isso é importante para seu aplicativo.

    · Exemplo em Visual Basic 6.0:  
    Dim Str_Numero_Linhas As String  
     
    Str_Numero_Linhas = InputBox("Entre com o número de linhas para o aviso de Pouco Papel:", "Daruma Framework", "0450")  
    Int_Retorno = Daruma_FI_CfgLimiarNearEnd(Str_Numero_Linhas)  

    sexta-feira, 16 de fevereiro de 2007 02:19

Todas as Respostas

  • Estou tentando usar esta função Daruma_FI_CfgLimiarNearEnd, programo com 0450 e nada acontece o ECF continua acusando pouco papel, estou usando a FS-700 H, o que pode estar acontecendo?
    sábado, 2 de outubro de 2010 10:53
  • Olá Vantuil boa tarde,

    O método Daruma_FI_CfgLimiarNearEnd é um método que é usado em impressoras matricias que possuem a configuração de aviso de pouco papel (tambem impresso). Nas impressoras termicas, no caso a FS700 que você esta usando não vai funcionar, pois o controle de pouco papel é feito através dos Status da impressora, ou seja, ST1 e ST2 que você obtem atraves do tratamento de retornos da impressora pelo método Daruma_FI_RetornoImpressora.

    Mas pra obter o status de pouco papel que vai retornar no ST1=64 você precisa mudar o valor da chave IgnorarPoucoPapel no registry pra 0, que por default é 1, ou seja, a Dll ignora o aviso de pouco papel até que você mude o valor dessa chave pra 0, onde ela passa nao ignorar o aviso e te devolve ST1=64.

    Vou aproveitar pra compartilhar o link de um STK que explica sobre o tratamento de retornos da impressora.

    http://www.desenvolvedoresdaruma.com.br/home/downloads/Site_2009/Manuais_e_STK/STK_Daruma_TratarRetornos.zip

    Me passa seu telefone em pvt (desenvolvedores.suporte@daruma.com.br) ou ligue no 0800 770 3320 pra que possamos te explicar melhor e testar junto com você.

     


    Ágatha de Oliveira Santos Analista de Desenvolvimento Daruma http://www.desenvolv...esdaruma.com.br desenvolvedores.suporte@daruma.com.br Skype:desenvolvedores_suporte_daruma Ligação Gratuita: 0800 770 3320
    terça-feira, 5 de outubro de 2010 17:03