
			BEMAFI.EXE - Documentao


======================================================================
                                OBJETIVO
======================================================================

O executvel BEMAFI.EXE tem como objetivo, efetuar a comunicao com a
impressora  fiscal  sem a  necessidade  de um  driver residente.

======================================================================
                                CONCEITO
======================================================================

O  BEMAFI.EXE   um executvel externo, que efetua a comunicao com a
impressora atravs de  um  arquivo  texto. Este  executvel  no  fica
residente em memria, sendo executado apenas quando  chamado.

======================================================================
                            LOCAL DE EXECUO
======================================================================

Os arquivos BEMAFI.EXE (executvel), e BEMAFI.INI (arquivo de configu-
rao),  devem  estar  dentro do mesmo diretrio. O arquivo BEMAFI.CMD
(arquivo de comando criado pela Aplicao), ser lido pelo BEMAFI.EXE,
no  caminho  especificado  na seo Path, dentro do BEMAFI.INI. Caso a
seo  Path for igual a "vazio", o BEMAFI.CMD ser lido no mesmo dire-
trio do BEMAFI.EXE.

======================================================================
                         ARQUIVO DE CONFIGURAO
======================================================================

O arquivo BEMAFI.INI possui as seguintes linhas de configurao:

NumPorta=1

   Configura  a porta serial, onde a impressora fiscal est conectada.
   Se  a  impressora  fiscal  estiver  conectada na porta serial COM1, 
   NumPorta = 0.  Se  a  impressora  fiscal estiver conectada na porta 
   serial  COM2, NumPorta = 1 e assim,  sucessivamente. A configurao 
   inicial  COM2.

ImpLogger=0

   Configura  se a impressora fiscal utilizada  uma impressora fiscal
   matricial (ImpLogger=0) ou  se  uma impressora fiscal trmica, com
   logger eletrnico (ImpLogger=1). A configurao inicial  0 (zero).

ModoEscrita=0

   Configura o modo de escrita na porta serial. O valor de default  0
   (zero). Observao: se voc estiver tendo algum tipo de erro de co-
   municao com a impressora fiscal, altere esta chave para 1 (um).

Path=

  Configura o caminha de busca do aquivo BEMAFI.CMD (arquivo de coman-
  do),  pelo executvel BEMAFI.EXE, e onde so gravados os arquivos de
  retorno STATUS.TXT e RETORNO.TXT.

  Exemplo: Path=C:\ECF


			   = = = = = = = = = =
			   I M P O R T A N T E
			   = = = = = = = = = =

Esta  configurao  (ImpLogger=1) somente ter efeito para a impresso 
de  cheques, pois os valores das coordenadas do cheque, diferem da im-
pressora  fiscal  matricial (MP-40 FI II). Esta configurao s existe
na verso 1.4 do executvel BEMAFI.EXE.

A  impressora  fiscal logger possui alguns comandos que diferem da im-
pressora fiscal matricial,  mas todos os comandos da impressora fiscal
matricial tero o mesmo efeito na impressora fiscal logger,  mesmo es-
tando com a configurao habilitada (ImpLogger=1).

Os  comandos  da impressora fiscal logger,  no esto implementadas na
verso 1.4 do executvel BEMAFI.EXE.

Para verificar a verso do BEMAFI.EXE, digite:

   C:\>BEMAFI /V

======================================================================
                             COMO UTILIZ-LO
======================================================================

A Aplicao dever criar um arquivo chamado BEMAFI.CMD e gravar, neste
arquivo, o  comando  que deseja  executar  com  seus  parmetros  caso 
existam.

- Ex. do comando que efetua a Leitura X (comando sem parmetro):

comando = Chr(27) + Chr(251) + "06|" + Chr(27)

Esta linha dever ser gravada, pela aplicao, dentro do arquivo 
BEMAFI.CMD.

- Ex. do comando que efetua a Venda do Item (comando com parmetros):

comando = Chr(27) + Chr(251) + "09|0000000000001|+
                                   Teste de Venda               |+
                                   II|0001|00000010|0000|" + Chr(27)

Para os comandos que possurem parmetros, deve-se respeitar o tamanho 
mximo de cada parmetro. No  exemplo da  Venda do Item, o cdigo deve 
ser informado com 13 caracteres, a descrio deve ser informada com 29 
caracteres, etc. (ver manual que acompanha a impressora).

Aps  a  criao  do arquivo  BEMAFI.CMD, a  aplicao deve executar o 
BEMAFI.EXE para que o executvel possa ler o contedo  do BEMAFI.CMD e 
enviar para a impressora.

======================================================================
                         RETORNO DA IMPRESSORA
======================================================================

Aps  a   execuo  do   comando  pelo  BEMAFI.EXE  o   mesmo  criar, 
automaticamente, o arquivo STATUS.TXT contendo o retorno da impressora
(ACK, ST1 ST2).

Caso o  comando executado seja um comando de retorno de informao,  o
BEMAFI.EXE criar, automaticamente, o arquivo RETORNO.TXT  contendo as
informaes solicitadas.

- Ex. do comando que retorna o nmero do cupom:

comando = Chr(27) + Chr(251) + "30|" + Chr(27)


======================================================================
           PARA APLICAES EM LINGUAGEM DE PROGRAMA CLIPPER
======================================================================

O  executvel  BEMAFI.EXE poder ser usado, tambm, para as aplicaes 
em CLIPPER que utilizam, atualmente, o DRIVER residente (MP20DRV.EXE), 
sem a necessidade de muitas modificaes no cdigo fonte, ou para as
aplicaes que esto iniciando a comunicao com a impressora fiscal.

A  biblioteca  BEMAFI.LIB  e o arquivo FISCAL.CH, possuem funes para 
acessar  o executvel BEMAFI.EXE, descartando o uso do DRIVER residen-
te.

			   = = = = = = = = = =
			   I M P O R T A N T E
			   = = = = = = = = = =

A  biblioteca BEMAFI.LIB e o arquivo FISCAL.CH, somente so utilizados
para aplicaes em linguagem CLIPPER.

======================================================================
           MIGRANDO DO DRIVER RESIDENTE PARA A LIB CLIPPER
======================================================================

As funes da biblioteca BEMAFI.LIB so:

FOPEN_BEMA   -> Abertura da porta de comunicao.
FWRITE_BEMA  -> Escrita do comando na porta.
FREAD_BEMA   -> Leitura do retorno da impressora.

A aplicao em CLIPPER dever conter, no incio do cdigo, as linhas:

   #include "FILEIO.CH" // funes do CLIPPER
   #include "FISCAL.CH" // funes da LIB

As  funes  FOPEN, FWRITE e FREAD devero ser substitudas pelas fun-
es FOPEN_BEMA, FWRITE_BEMA, e FREAD_BEMA, respectivamente, no cdigo
fonte da aplicao.

A biblioteca BEMAFI.LIB dever ser linkada com a aplicao. Exemplo:

   C:\>RTLINK FI ECFCAIXA LIB BEMAFI

Assim, a sua aplicao estar usando o executvel BEMAFI.EXE sem o uso
do DRIVER residente.

Observao:  Neste caso, os arquivos BEMAFI.EXE e BEMAFI.INI devem es-
tar,  juntos,  no  mesmo diretrio da aplicao e o DRIVER MP20DRV.EXE
deve ser descartado.