Inquiridor
Controlando o final do Papel na Impressora Fiscal - Pouco papel

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)
Todas as Respostas
-
-
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.
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