Contato
     
 
FlagShip -> FAQ

Como usar o manual on line do FlagShip ?

O Unix/Linux, como padrão, envia os relatórios sempre para um arquivo temporário que deve ser enviada para a fila de impressão.

Em ambiente Unix / Linux, quando se conecta via TelNet, a impressora local é a impressora do SERVIDOR, e a impressora remota é a impressora da estação.

No próprio servidor são cadastradas todas as impressoras das estações como remotas, identificadas por um nome.

A sintaxe do comando para o ambiente Linux:
run "lpr -P "+FS_SET("printfile")
run "lpr -Pnomedaimpressora nomedoarquivo

Exemplo:
set printer on
set device to printer // caso esteja utilizando @ say no relatório
set console off
... a impressão como é feito hoje @ say ... etc
set device to screen
set print off
set console on
RUN "lpr -P<impressora> "+FS_SET("printfile")
RUN "lpr -Pestação1 arquivo.txt")

Veja que não foi definido o nome do do arquivo onde será impresso, como default o FlagShip imprime em um arquivo com <nomedosistema>.<PID> onde o PID=ID do processo.

Veja no manual fsman o comando CMD.SET PRINT e FUN.EXECPIDNUM().

Alternativamente pode-se utilizar:
cTemp := TempFileName(,"pr")+ExecPidNum() // no fsman FUN.TEMPFILE
set print to (cTemp)
set printer on
set device to printer // caso esteja
set console off
... a impressão como é feito atualmente @ say ... etc
set device to screen
set print off
set console on
RUN "lpr -P" + cTemp // veja no fsman CMD.SET PRINT

Ao sair do sistema, remova todos os arquivos "pr*,*" + ExecPidNum()
aLixo := diretory("pr*.*" + ExecPidNum())
aeval (aLixo, { | arquivo | ferase ( arquivo [1] ) } )

Problemas com impressão remota

  • Criar a impressora "local" na estação com o nome da própria estação (irá simplificar o trabalho no futuro).

  • Criar a impressora "remota" no servidor com o nome da estação.
    Exemplo: export PRINTER=estacao1

  • Criar uma impressora local como estacao1
    estacao1:\
    :sd=/var/spool/lpd/estacao1:\
    :mx#0:\
    :sh:\
    :lp=/dev/lp0:\
    :if=/var/spool/lpd/estacao1/filter:
    Observe que o diretório estacao1 deve existir na estacao

  • No servidor, criar uma impressora remota:
    estacao1:\
    :sd=/var/spool/lpd/estacao1:\
    :mx#0:\
    :sh:\
    :rm=estacao1:\
    :rp=estacao1:\
    :if=/var/spool/lpd/estacao1/filter:

  • Observe que o diretório estacao1 deve existir no servidor com os arquivos abaixo:
    .config
    filter
    general.cfg
    lock
    postscript.cfg
    status
    textonly.cfg

  • Anexar os arquivos para localprinter e remoteprinter.

Veja também no manual fsman , man lpq , man lpc , man lpr.

Existe função para imprimir código de barras ?

A Inso desenvolveu uma lib o FS_BAR que imprime código de barras tipo 2&5 interleaved. Caso esta lib não os atenda, temos condições de analisá-lo e desenvolver.

Existe suporte para impressora fiscal ?

Tanto a Bematech quanto a Schalter já possuem libs e todo o suporte necessário para a implantação de impressora fiscal 

 

  © 2005 - Direitos Reservados
Telefone: (11) 5096-4321
contato@inso.com.br