Configurando a DLL

 

Arquivo de Configuração BemaFI32.ini

 

A DLL BemaFI32.dll possui um arquivo de configuração chamado BemaFI32.ini onde algumas opções podem ser configuradas. Esse arquivo de configuração possui seções com alguns parâmetros de configuração a saber:

 

Seção [Sistema]

Essa seção possui as seguintes opções de configuração:

 

Porta=

Indica a porta serial de comunicação entre a impressora e o computador. Se o valor for igual a "DEFAULT", a DLL buscará a porta onde estiver a impressora, automaticamente. Se estiver sendo usada a impressora fiscal na USB, basta alterar esta chave para a palavra USB (Porta=USB). Para maiores informações sobre a instalalação da porta USB, veja o tópico "Instalando a porta USB para comunicação através da DLL"

 

Path=

Configura o diretório onde será criado o arquivo "STATUS.TXT", "RETORNO.TXT" e "BEMAFI32.LOG". O path default é o diretório raiz na unidade C:\.

 

Status=

Se essa opção estiver com o valor 1, as funções da DLL irão gravar o status da impressora (ACK, ST1 e ST2) no arquivo chamado "STATUS.TXT". O valor default dessa opção é 0, com o status da impressora sendo retornado através da função Bematech_FI_RetornoImpressora.

 

Retorno=

Se essa opção estiver com o valor 1, as Funções de Informações* da DLL irão gravar o retorno no arquivo chamado "RETORNO.TXT ". O valor default dessa opção é 0, com as informações sendo retornadas através das variáveis passadas como parâmetro nas funções.

 

StatusFuncao=

Esta chave configura a DLL para retornar o valor 27 nas funções, quando o status da impressora (ACK, ST1, ST2) for diferente de 6,0,0. Com essa configuração a função Bematech_FI_RetornoImpressora poderá ser executada somente quando o retorno for 27. O valor um "1" habilita e o valor zero "0" desabilita essa configuração. O valor default é zero "0".

 

ControlePorta=

Se estiver com o valor 0, a abertura e o fechamento da porta serão controlados pelo programador, através das funções Bematech_FI_AbrePortaSerial e Bematech_FI_FechaPortaSerial. Se estiver com o valor 1, serão controlados pela DLL. A DLL irá abrir e fechar a porta automaticamente em cada função.

 

ModeloImp=

É utilizada para identificar que tipo de impressora fiscal está sendo usada. Caso a impressora fiscal seja Bematech, deve-se configurar BEMATECH, caso a impressora fiscal seja Yanco, deve-se configurar YANCO. É necessário configurar corretamente esta opção, pois algumas funções da DLL são compatibilizadas para a impressora fiscal Yanco.

 

ConfigRede=

Identifica que modo será utilizada a DLL, onde o valor igual a:

 

0 (zero) - modo de utilização normal.

1 (um) - modo de utilização pelo servidor (Server), com uso do Bematech Monitor por troca de arquivo de comando BemaFI32.cmd.

2 (dois) - modo de utilização pelo terminal (Client), com uso do Bematech Monitor por troca de arquivo de comando BemaFI32.cmd.

4 (quatro) - modo de utilização pelo terminal (Client), com uso do Bematech Monitor por TCP/IP.

5 (cinco) - modo de utilização pelo servidor (Server), com uso do Bematech Monitor por TCP/IP.

 

Esta chave é utilizada para trabalhar com impressora fiscal remotamente através do Windows Terminal Server ou Citrix Metaframe. Ver tópico "Utilizando o Bematech Monitor", para maiores informações.

 

ModoGaveta=

É utilizada para compatibilizar o sinal lógico que a gaveta envia para a impressora, quando a mesma é acionada (aberta) ou não. O Default é 0 (zero), ou seja, o sinal enviado pela gaveta é o mesmo retornado pela DLL. Em alguns modelos de gaveta, este sinal poderá vir invertido, ou seja, o sinal que corresponde a "gaveta aberta", pode ser o sinal para "gaveta fechada". Neste caso habilite esta chave, substituindo o valor 0 (zero) para (1) um. Consulte a função Bematech_FI_VerificaEstadoGaveta para maiores informações.

 

Log=

Se essa opção estiver com o valor 1, a DLL irá criar um arquivo de log chamado "BEMAFI32.LOG" com todas as funções executadas, seus parâmetros e valores de retorno.

 

LogDiario=

Se essa chave estiver igual a 1 (LogDiario=1, será criado um novo arquivo de log a cada dia com o nome BemaFI32-AAAAMMDD.log onde AAAA = ano, MM = mes e DD = dia. Serão mantidos apenas os 7 últimos logs gerados, os anteriores serão apagados. Essa configuração só terá efeito se a geração de log (chave Log=1) estiver habilitada.

 

CrLfVinculado=

Se essa chave estiver igual a 1 (CrLfVinculado=1), será enviado automaticamente pela função Bematech_FI_UsaComprovanteNaoFiscalVinculado o comando de quebra de linha (chr(13)+chr(10)), ao final do texto. Se essa chave estiver igual a 0 (zero) a aplicação deverá enviar essa quebra de linha.

 

CrLfGerencial=

Se essa chave estiver igual a 1 (CrLfVinculado=1), será enviado automaticamente pela função Bematech_FI_RelatorioGerencial o comando de quebra de linha (chr(13)+chr(10)), ao final do texto. Se essa chave estiver igual a 0 (zero) a aplicação deverá enviar essa quebra de linha.

 

TimeOutGerencial=

Esta chave faz o controle do timeout de impressão (em segundos) para o relatório gerencial nas impressoras fiscais modelo MP-20 FI II e MP-40 FI II, pois estes modelos imprimem uma leitura X (exigência fiscal) antes de iniciar a impressão do relatório gerencial. O valor default é 40 segundos, podendo ser configurado até 120 segundos.

 

EmulMFD=

Esta chave é utilizada para a comunicação com o emulador da impressora fiscal térmica EmulFITH através da dll, sem a necessidade de confeccionar um cabo de comunicação externo. Configurando esta chave para 1 (um), a sua aplicação, através das funções da dll, estará realizando a impressão dos cupons pelo emulador. Todas as informações referentes ao emulador, estão no seu próprio arquivos de ajuda.

 

ATENÇÃO: Não esqueça de configurar esta chave para 0 (zero), quando for utilizar a impressora fiscal fisicamente.

 

StatusCheque=

Esta chave é necessária para o correto retorno das informações sobre o status do cheque, na impressora IBM modelo 4610-KR4. A configuração default desta chave é nula (StatusCheque=). Caso você esteja utilizando uma impressora fiscal IBM, citada acima, esta chave deve ser configurada como IBM (StatusCheque=IBM).

 

CalculoIcmsCupom=

Esta chave é utilizada para habilitar ou desabilitar o retorno do valor total do ICMS pago no último cupom fiscal, conforme solicitado na portaria 40888/07 do RJ. Se a chave estiver igual a 0, não será controlada esta informação, caso estiver igual a 1 esta informação será controlada, e através da função Bematech_FI_TotalIcmsCupom será retornada.

 

Importante: Se esta chave estiver habilitada (CalduloIcmsCupom=1) e a chave UF estiver igual a RJ (UF=RJ), automaticamente a dll irá imprimir o valor totalizado do ICMS do cupom na mensagem promocional, desde que exista pelo menos uma linha disponível para tal. Este procedimento é em função do Cupom Mania do Rio de Janeiro.

 

ForceWTSClient=

Esta chave é utilizada em conjunto com o driver remoto Bematech Monitor. Ela tem por finalidade mapear a comunicação através do "name" da máquina Cliente, caso esta chave esteja com seu valor em 1 (ForceWTSClient=1). Ao usar a chave com o valor 1, a chave Path não poderá conter a unidade do driver, exemplo: Path=Z:\ e sim o compartilhamento da estação, exemplo: Path=TEMP. Caso ela esteja com seu valor em 2 (ForceWTSClient=2), será mapedo o IP da máquina Cliente e a chave Path deve ser mantida com o nome da pasta do compartilhamento.

 

RetriesWTSCmd=

Esta chave é utilizada para definir o número de tentativas de comunicação, antes de retornar erro.

 

HabilitaRFDImpMFD=

Esta chave habilita (1) ou desabilita (0) a geração do arquivo .rfd (Registro de Fita-Detalhe) para os modelos fiscais térmicos, da mesma forma como é gerado para as impressoras fiscais matriciais. A geração deste arquivo somente terá efeito se a chave UF estiver igual a SP (UF=SP).

 

GerarRFD=

Esta chave habilita (1) ou desabilita (0) a geração do arquivo para a CAT-52 ou Ato Cotepe 17/04, independente da chave UF=SP. Esta chave foi criada para atender também a NF Alagoana.

 

Seção [SoftwareHouse]

Esta seção corresponde aos dados da software house pertinentes à geração dos registros da portaria CAT-52/SP

 

COO=

Refere-se ao Contador de Ordem de Operação do último cupom impresso, antes da atualização da dll, com até 6 posições.

 

NumeroAplicativo=

Refere-se ao número de ordem do aplicativo, com até 2 posições.

 

CNPJ=

Refere-se ao CNPJ/CPF da Software House/desenvolvedor autônomo, com até 14 posições.

 

IE=

Refere-se a Inscrição Estadual da Software House, com até 14 posições.

 

IM=

Refere-se a Inscrição Municipal da Software House, com até 14 posições (opcional).

 

RazaoSocial=

Refere-se ao nome comercial (razão social/denominação) da Software House, com até 40 posições.

 

NomeAplicativo=

Refere-se ao nome do aplicativo, com até 40 posições.

 

Versao=

Refere-se a versão do aplicativo, com até 10 posições.

 

Linha1=

Refere-se aos dados do programa aplicativo, com até 42 posições (opcional).

 

Linha2=

Refere-se aos dados do programa aplicativo, com até 42 posições (opcional).

 

 

Seção [ECF]

Esta seção corresponde aos dados do ECF pertinentes à geração dos registros da portaria CAT-52/SP

 

IM=

Refere-se a Inscrição Municipal do estabelecimento que possui a ECF, com até 20 posições (opcional).

 

UF=

Refere-se a Unidade da Federação do estabelecimento que possui a ECF, com até 2 posições.

 

Importante: Se esta chave estiver igual a RJ (UF=RJ) e a chave CalduloIcmsCupom estiver habilitada (CalduloIcmsCupom=1), automaticamente a dll irá imprimir o valor totalizado do ICMS do cupom na mensagem promocional, desde que exista pelo menos uma linha disponível para tal. Este procedimento é em função do Cupom Mania do Rio de Janeiro.

 

Seção [MFD]

Essa seção é utilizada para habilitar ou desabilitar o uso da impressora fiscal térmica (MFD) ou das matriciais MP-25 FI/MP-50 FI. Se forem utilizadas as funções da dll que possuem a sigla "MFD" em sua nomenclatura, a chave Impressora deve ser habilitada (exemplo: Impressora=1 para Bematech ou Impressora=2 para IBM), caso contrário, esta chave deve permanecer desabilitada (exemplo: Impressora=0). A chave StatusErro é utilizada para retornar erro nas funções que são incompatíveis com a impressora fiscal matricial. O retorno destas funções será -30 (função incompatível). Para habilitar ou desabilitar use 1 (um) ou 0 (zero), respectivamente. A chave TimeOutZ é utilizada na configuração do tempo de espera (em minutos), após a execução da função Bematech_FI_ReducaoZ. A função aguardará até que seja impresso todos os códigos PDF, que seguem uma Redução Z, ou por este timeout. O tempo default deste timeout é de 3 minutos.

 

IMPORTANTE

Não é necessário alterar o software para trabalhar com a impressora fiscal térmica (MFD), pois todas as funções utilizadas na impressora fiscal matricial são compatíveis, basta apenas ligar a chave "Impressora", na seção MFD (Impressora=1) e executar a aplicação.

 

Seção [ModoRemoto]

Essa seção possui as seguintes opções de configuração e é utilizada para trabalhar com a impressora fiscal remotamente via TCP/IP no ambiente Windows Terminal Server ou Citrix Metaframe.

 

IP=

Identifica o IP do servidor onde reside a aplicação comercial. Esta chave deve ser preenchida com o IP do servidor somente no arquivo BemaFI32.ini que reside na máquina cliente (Client).

Porta=

Identifica a porta de conexão do servidor onde reside a aplicação comercial.

 

* Funções de Informações são todas as funções que retornam informações da impressora, por exemplo: número do cupom, retorno de alíquotas e etc.

 

Seção [Opcional]

Essa seção grava as informações para Cidade e Favorecido. Essas opções são configuradas pela função Bematech_FI_IncluiCidadeFavorecido.

 

Seção [Formato]

Essa seção contém os bancos e suas coordenadas para impressão de cheques na impressora MP-40 FI II.

 

Seção [FormatoYanco]

Essa seção contém os bancos e suas coordenadas para impressão de cheques na impressora YANCO 8500.

 

Seção [Copia]

Contém os dados do último cheque emitido (impressora MP-40 FI II).

 

Seção [RelatorioTipo60]

Contém informações usadas na emissão do relatório "TIPO 60".

 

Seção [TEF]

Contém informações de configuração do TEF.

 

Seção [Config]

Contém informações de configuração de controle da DLL, para a impressora fiscal Yanco.

 

Seção [ReducaoYanco]

Contém informações de dados da Redução Z, realizada na impressora fiscal Yanco.

 

 

Exemplo da seção Sistema:

 

[Sistema]

Porta=COM1

Path=C:\

Status=0

Retorno=0

StatusFuncao=0

ControlePorta=1

ModeloImp=BEMATECH

ConfigRede=0

ModoGaveta=0

Log=0

LogDiario=0

CrLfVinculado=0

CrLfGerencial=0

TimeOutGerencial=40

EmulMFD=0

StatusCheque=

ForceWTSClient=1

RetriesWTSCmd=3