Modelos

Impressoras Fiscais Bematech
Retorna ao Início

fotomp20fi MP-25 FI Impressora Fiscal ou Impressora Fiscal Bilhete de Passagem - Convênio ICMS 85/01 (matricial) 1 Estação - Cupom Fiscal | fotomp50fi MP-50 FI Impressora Fiscal ou Impressora Fiscal Bilhete de Passagem - Convênio ICMS 85/01 (matricial) 2 Estações - Cupom Fiscal, Impressão de Cheque e Leitura do CMC-7
fotomp2000thfi MP-2000 TH FI Impressora Fiscal ou Impressora Fiscal Bilhete de Passagem (térmica) 1 Estação - Cupom Fiscal | fotomp50fi MP-6000 TH FI Impressora Fiscal ou Impressora Fiscal Bilhete de Passagem (térmica) 2 Estações - Cupom Fiscal, Impressão de Cheque e Leitura do CMC-7
fotomp20fi MP-20 FI II / MP-20 FI II R Impressora Fiscal, Impressora Fiscal Bilhete de Passagem ou Impressora Fiscal Restaurante (matricial) 1 Estação - Cupom Fiscal | fotomp40fi MP-40 FI II / MP-40 FI II R Impressora Fiscal, Impressora Fiscal Bilhete de Passagem ou Impressora Fiscal Restaurante (matricial) 2 Estações - Cupom Fiscal e Impressão de Cheque
fotomp1000 MP-1000 (Y-8000) Impressora Fiscal (matricial) 1 Estação - Cupom Fiscal | fotomp45yfi MP-45 Y FI (Y-8500) Impressora Fiscal (matricial) 2 Estações - Cupom Fiscal e Impressão de Cheque


Apresentando a DLL

BemaFI32.dll

A BemaFI32.dll é uma DLL de comunicação (DLL padrão Bematech), considerada de alto-nível, pela versatilidade e facilidade de programação em relação as outras DLLs. É utilizada em ambiente Windowsâ 32 bits, realizando a comunicação com as impressoras fiscais Bematech.

Todas as funções desta DLL são funções de alto-nível.

Ao utilizar qualquer função desta DLL, será apresentado na tela, para o desenvolvedor, todos os parâmetro que a função possui (caso possua), facilitando a sua utilização.

A DLL deve ser gravada no diretório de sistema do Windows, juntamente com o arquivo BemaFI32.ini (arquivo de configuração da DLL).

Exemplo:

C:\WINDOWS\SYSTEM
C:\WINNT\SYSTEM32


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 micro. Se o valor for igual a "DEFAULT", a DLL buscará a porta onde estiver a impressora, automaticamente.
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. Se estiver com o valor 1, serão controlados pela DLL. A DLL irá abrir e fechar a porta automaticamente em cada função. É recomendável que o controle da porta seja realizado pelo programador e que a mesma seja aberta no início da execução do programa e fechada somente no término da execução do mesmo.
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. Se estiver igual a 0 (zero) - modo de utilização normal, se estiver igual a 1 (um) - modo de utilização pelo servidor e se estiver igual a 2 (dois) - modo de utilização pelo terminal (Cliente). Caso esta chave estiver diferente de 0 (zero), a DLL terá a sua funcionalidade remota (cliente/Servidor), com o uso do Windows Terminal Server ou do Frame-Relay. 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.
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).

Seção [MFD]
Essa seção é utilizada para habilitar ou desabilitar o uso da impressora fiscal térmica (MFD). Se forem utilizadas as funções da impressora fiscal térmica (MFD), 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.

* 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=DEFAULT
Path=C:\
Status=0
Retorno=0
StatusFuncao=0
ControlePorta=0
ModeloImp=BEMATECH
ConfigRede=0
ModoGaveta=0
Log=0
EmulMFD=0


Declarando a DLL

As funções da BemaFI32.dll devem ser declaradas, no aplicativo, para que o mesmo possa interagir com a impressora fiscal.

Cada linguagem de programação possui uma maneira diferente de declarar funções de uma DLL. Consulte sempre o manual de programação de sua linguagem para verificação deste procedimento.

þ Declaração em Visual Basic
þ Declaração em Delphi
þ Declaração em Visual Fox Pro
þ Declaração em C# (C Sharp)
iconelampada


Bematech_FI_AlteraSimboloMoeda

Altera o símbolo da moeda programada na Impressora Fiscal.

compatbematech

Parâmetro:

Moeda: STRING contendo o símbolo da moeda. O $ (cifrão) é inserido automaticamente.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observações:

- O cupom fiscal deve estar fechado.
- Será executada somente após uma Redução Z.
- Na impressora fiscal YANCO, a programação do símbolo da moeda é feita somente por Intervenção Técnica.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AlteraSimboloMoeda(" R")

// Exemplo em Delphi
cSimboloMoeda := ' R';
iRetorno := Bematech_FI_AlteraSimboloMoeda( pchar ( cSimboloMoeda ) );


Bematech_FI_EspacoEntreLinhas

Programa o espaçamento entre as linhas impressas no cupom.

compatbematech

Parâmetro:

Dots: INTEIRO entre 0 e 255 indicando o espaço (dots) entre as linhas. O valor default da impressora é 0.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observação:

- Na impressora fiscal YANCO, esta programação não existe.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_EspacoEntreLinhas(002)

// Exemplo em Delphi
iRetorno := Bematech_FI_EspacoEntreLinhas( 002 );


Bematech_FI_ForcaImpactoAgulha

Bematech_FI_ForcaImpactoAgulhas

Permite tornar a impressão mais forte nos equipamentos baseados na MP-20 FI II.

compatbematech

Parâmetro:

ForcaImpacto: INTEIRO com o valor da força de impacto das agulhas que pode ser:
1 – Impacto fraco (default)
2 – Impacto médio
3 – Impacto forte

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BEMAFI32.INI não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observações:

- A seleção de uma força de impacto diferente da default implica na diminuição da vida útil do cabeçote de impressão.
- Na impressora fiscal YANCO, esta programação não existe.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ForcaImpactoAgulhas(2)

// Exemplo em Delphi
iRetorno := Bematech_FI_ForcaImpactoAgulhas( 2 );


Bematech_FI_LinhasEntreCupons

Programa o espaçamento de linhas entre os cupons.

compatbematech

Parâmetro:

Linhas: INTEIRO entre 0 e 255 indicando o número de linhas. O valor default da impressora é 8 linhas.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observação:

- Na impressora fiscal YANCO, esta programação não existe.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_LinhasEntreCupons(5)

// Exemplo em Delphi
iRetorno := Bematech_FI_LinhasEntreCupons( 5 );


Bematech_FI_NomeiaDepartamento

Programa departamento na impressora.

compatbematech

Parâmetros:

Indice: INTEIRO com a posição em que o Departamento será cadastrado.
Departamento: STRING com até 10 caracteres com o nome do departamento.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observações:

- O cupom fiscal deve estar fechado
- Será executada somente após uma Redução Z.

- Na impressora fiscal YANCO, esta programaçã não existe.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_NomeiaDepartamento(05, "Gasolina")

// Exemplo em Delphi
cDepartamento := 'Gasolina';
iRetorno := Bematech_FI_NomeiaDepartamento( 05, pchar ( cDepartamento ) );


Bematech_FI_NomeiaTotalizadorNaoSujeitoIcms

Programa Totalizador Não Sujeito ao ICMS.

compatduas

Parâmetros:

Indice: INTEIRO com a posição em que o totalizador será programado.
Totalizador: STRING até 19 caracteres com o nome do totalizador

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- O cupom fiscal deve estar fechado.
- Não pode haver outro totalizador cadastrado com o mesmo índice.
- Será executada somente após uma Redução Z.

- Na impressora fiscal YANCO, são programados apenas 4 (quatro) totalizadores. Os 4 (quatro) primeiros já são programados de fábrica.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_NomeiaTotalizadorNaoSujeitoIcms(05, "Conta de Luz")

// Exemplo em Delphi
cTot := 'Conta de Luz';
iRetorno := Bematech_FI_NomeiaTotalizadorNaoSujeitoIcms( 05, pchar ( cTot ) );


Bematech_FI_ProgramaAliquota

Programa alíquota tributária na Impressora Fiscal.

compatbematech

Parâmetros:

Aliquota: STRING com o valor da alíquota a ser programada.
Vinculo: INTEIRO com o valor 0 (zero) para vincular a alíquota ao ICMS e 1 (um) para vincular ao ISS.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observações:

- O cupom fiscal deve estar fechado.
- Na impressora fiscal YANCO, a programação da Alíquota só é realizada por Intervenção Técnica.
- Nas impressoras fiscais MP-2000 TH FI, MP-6000 TH FI, MP-25 FI e MP-50 FI a programação da alíquota só será permitida somente após uma Redução Z.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ProgramaAliquota("0500", 1)

// Exemplo em Delphi
cValor := '0500';
iRetorno := Bematech_FI_ProgramaAliquota( pchar ( cValor ), 1 );


Bematech_FI_ProgramaArredondamento

Programa o modo arrendondamento na impressora. Este arredondamento se refere à venda de item com quantidade fracionária.

compatbematech

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observações:

- O cupom fiscal deve estar fechado.
- Será executada somente após uma Redução Z.
- Na impressora fiscal YANCO, esta programação não existe.
- Nas impressoras fiscais MP-2000 TH FI, MP-6000 TH FI, MP-25 FI e MP-50 FI está programação não existe. Elas somente operam em modo de truncamento.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ProgramaArredondamento()

// Exemplo em Delphi
iRetorno := Bematech_FI_ProgramaArredondamento();


Bematech_FI_ProgramaHorarioVerao

Programa e desprograma o horário de verão. Se a impressora já estiver no horário de verão o mesmo será desprogramado atrasando o relógio em 1 (uma) hora, caso contrário será adiantado 1 (uma) hora.

compatduas

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- A programação do horário de verão será realizada somente após uma Redução Z. Para desprogramar, somente 1 (uma) hora após a Redução Z e não pode ter havido movimento na impressora nesse período.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ProgramaHorarioVerao()

// Exemplo em Delphi
iRetorno := Bematech_FI_ProgramaHorarioVerao();


Bematech_FI_ProgramaTruncamento

Programa o modo truncamento na impressora.

compatbematech

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observações:

- O cupom fiscal deve estar fechado
- Será executada somente após uma Redução Z.
- Na impressora fiscal YANCO, esta programaçã não existe.
- Nas impressoras fiscais MP-2000 TH FI, MP-6000 TH FI, MP-25 FI e MP-50 FI está programação não existe. Elas somente operam em modo de truncamento.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ProgramaTruncamento()

// Exemplo em Delphi
iRetorno := Bematech_FI_ProgramaTruncamento();


Bematech_FI_AbreCupom

Abre o cupom fiscal na impressora.

compatduas

Parâmetro:

CNPJ_CPF: STRING até 29 caracteres com o CNPJ ou CPF do cliente (opcional).

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- O cupom fiscal deve estar fechado.
- Na impressora fiscal YANCO, o parâmetro CNPJ/CPF não existe e não será impresso no Cupom Fiscal, mas a DLL efetua o tratamento e compatibiliza a função.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AbreCupom("11.111.111-11")
ou
iRetorno = Bematech_FI_AbreCupom("")

// Exemplo em Delphi
cCPF := '11.111.111-11';
iRetorno := Bematech_FI_AbreCupom( pchar ( cCPF ) );
ou
iRetorno := Bematech_FI_AbreCupom( pchar( '' ) );


Bematech_FI_AumentaDescricaoItem

Esta função permite aumentar a descrição do item até 200 caracteres.

compatbematech

Parâmetro:

Descricao: STRING com a descrição do item com até 200 caracteres.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observações:

- Esta função deve ser usada antes da função Bematech_FI_VendeItem, pois assim, o item será impresso com a nova descrição.
- Ela tem validade somente para a impressão de um item, voltando ao default que é de 29 caracteres na descricao do item.

- Na impressora fiscal YANCO, este comando não existe.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AumentaDescricaoItem("Produto 123/776 - 001 abc")

// Exemplo em Delphi
cDescMaior := 'Produto 123/776 - 001 abc';
iRetorno := Bematech_FI_AumentaDescricaoItem( pchar ( cDescMaior ) );


Bematech_FI_UsaUnidadeMedida

Imprime a unidade de medida após a quantidade do produto na venda de item.

compatbematech

Parâmetro:

UnidadeMedida: STRING com a unidade de medida até 2 caracteres.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observações:

- Esta função deve ser usada, antes do envio da função Bematech_FI_VendeItem.
- Esta função tem validade somente para a impressão de um item, voltando ao default que é a impressão de 2 (dois) espaços em branco após a quantidade do item vendido.
- Na impressora fiscal YANCO, este comando não existe.
- Nas impressoras fiscais MP-2000 TH FI, MP-6000 TH FI, MP-25 FI e MP-50 FI está programação não existe. Caso você deseje utilizar a unidade de medida, utilize a função Bematech_FI_VendeItemDepartamento.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_UsaUnidadeMedida("KG")

// Exemplo em Delphi
cUnidade := 'KG';
iRetorno := Bematech_FI_UsaUnidadeMedida( pchar ( cUnidade ) );


Bematech_FI_VendeItem

Vende item após a abertura do cupom fiscal. Essa função permite também a venda de itens com 3 casas decimais no valor unitário.

compatduas

Parâmetros:

Codigo: STRING até 13 caracteres com o código do produto.

Descricao: STRING até 29 caracteres com a descrição do produto.

Aliquota: STRING com o valor ou o índice da alíquota tributária. Se for o valor deve ser informado com o tamanho de 4 caracteres ou 5 com a vírgula. Se for o índice da alíquota deve ser 2 caracteres. Ex. (18,00 para o valor ou 05 para o índice).

TipoQuantidade: 1 (um) caracter indicando o tipo de quantidade. I - Inteira e F - Fracionária.

Quantidade: STRING com até 4 dígitos para quantidade inteira e 7 dígitos para quantidade fracionária. Na quantidade fracionária são 3 casas decimais.

CasasDecimais: INTEIRO indicando o número de casas decimais para o valor unitário (2 ou 3).

ValorUnitario: STRING até 8 dígitos para valor unitário.

TipoDesconto: 1 (um) caracter indicando a forma do desconto. '$' desconto por valor e '%' desconto percentual.

ValorDesconto: String com até 8 dígitos para desconto por valor (2 casas decimais) e 4 dígitos para desconto percentual.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-3: Alíquota não programada.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- Imagine que há duas alíquotas com o valor 12% cadastradas na impressora. A primeira cadastrada na posição 01 como ICMS e a outra na posição 05 como ISS. Se você informar o valor 1200 ou 12,00 no parâmetro "alíquota" a função irá imprimir o item usando a alíquota 01 de ICMS. A função lê as alíquotas da impressora e usa o índice da primeira ocorrência. Para usar a alíquota de ISS você deverá passar o índice 05 e não o valor 1200 ou 12,00. Se você não tiver duas alíquotas com o mesmo valor cadastradas na impressora use sempre o valor no parâmetro alíquota.

- O cupom fiscal deve estar aberto.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_VendeItem("123", "Caneta", "1200", "I", "10", 2, "0,25", "%", "0000")

// Exemplo em Delphi
cCodigo        := '123';
cDescricao     := 'Caneta';
cAliquota      := '1200';
cTipoQtde      := 'I';
cQtde          := '10';
iCasasDecimais := 2;
cValor         := '0,25';
cTipoDesconto  := '%';
cValorDesc     := '0000';

iRetorno := Bematech_FI_VendeItem( pchar ( cCodigo ),
                                   pchar( cDescricao ),
                                   pchar( cAliquota ),
                                   pchar( cTipoQtde ),
                                   pchar( cQtde ),
                                   iCasasDecimais,
                                   pchar( cValor ),
                                   pchar( cTipoDesconto ),
                                   pchar( cValorDesc ) );


Bematech_FI_VendeItemDepartamento

Essa função permite a venda de itens com entrada de departamento, desconto e unidade de medida.

compatbematech

Parâmetros:

Codigo: STRING até 49 caracteres com o código do produto.

Descricao: STRING até 201 caracteres com a descrição do produto.

Aliquota: STRING com o valor ou o índice da alíquota tributária. Se for o valor deve ser informado com o tamanho de 4 caracteres ou 5 com a vírgula. Se for o índice da alíquota deve ser 2 caracteres. Ex. (18,00 para o valor ou 05 para o índice)

ValorUnitario: STRING com até 9 dígitos para o valor (tres casas decimais).

Quantidade: STRING com até 7 dígitos para a quantidade. Na venda com departamento a quantidade é fracionária e são 3 casas decimais.

Acrescimo: STRING com o acréscimo por valor com até 10 dígitos (2 casas decimais).

Desconto: STRING com o desconto por valor com até 10 dígitos (2 casas decimais).

IndiceDepartamento: STRING com o índice do departamento com 2 dígitos.

UnidadeMedida: STRING com no máximo 2 caracteres para a unidade de medida. Caso não seja passado nenhum caracter a unidade não é impressa.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-3: Alíquota não programada.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observações:

- Obedece as mesmas situações descrita na função Bematech_FI_VendeItem.

- Na impressora fiscal YANCO, esta venda não existe.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_VendeItemDepartamento("123", "Caneta", "1200", "0,25", "10", "0", "0", "03", "UN")

// Exemplo em Delphi
cCodigo    := '123';
cDescricao := 'Caneta';
cAliquota  := '1200';
cValor     := '0,25';
cQtde      := '10';
cAcresc    := '0';
cDesc      := '0';
cIndice    := '03';
cUnidade   := 'UN';

iRetorno := Bematech_FI_VendeItemDepartamento( pchar ( cCodigo ),
                                               pchar( cDescricao ),
                                               pchar( cAliquota ),
                                               pchar( cValor ),
                                               pchar( cQtde ),
                                               pchar( cAcresc ),
                                               pchar( cDesc ),
                                               pchar( cIndice ),
                                               pchar( cUnidade ) );


Bematech_FI_CancelaItemAnterior

Cancela o último item vendido.

compatduas

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- O cupom fiscal deve estar aberto
- Ao menos um ítem deve ter sido vendido
- Não deve ter sido cancelado nenhum item imediatamente anterior.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CancelaItemAnterior()

// Exemplo em Delphi
iRetorno := Bematech_FI_CancelaItemAnterior();


Bematech_FI_CancelaItemGenerico

Cancela qualquer item dentre os cem (100) últimos itens vendidos.

compatduas

Parâmetro:

NumeroItem: STRING com o número do item a ser cancelado com no máximo 3 dígitos.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- O cupom fiscal deve estar aberto
- Ao menos um ítem deve ter sido vendido
- O ítem não pode ter sido cancelado anteriormente e nem fora da faixa dos últimos itens vendidos.

- Na impressora fiscal YANCO, se o item informado para o cancelamento, sofreu algum desconto, o mesmo não será cancelado. A impressora retornará "Cancelamento Não Permitido", "Comando Não Executado".

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CancelaItemGenerico("005")

// Exemplo em Delphi
cNumeroItem := '005';
iRetorno := Bematech_FI_CancelaItemGenerico( pchar ( cNumeroItem ) );


Bematech_FI_IniciaFechamentoCupom

Inicia o fechamento do cupom com o uso das formas de pagamento.

compatduas

Parâmetros:

AcrescimoDesconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D' para desconto.

TipoAcrescimoDesconto: Indica se o acréscimo ou desconto é por valor ou por percentual. '$' para desconto por valor e '%' para percentual.

ValorAcrescimoDesconto: STRING com no máximo 14 dígitos para acréscimo ou desconto por valor e 4 dígitos para acréscimo ou desconto por percentual.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- O cupom deve estar aberto
- Pelo menos um item deve ter sido vendido
- O valor do acréscimo ou descontado deve ser menor que o subtotal do cupom.
- Na impressora fiscal YANCO, caso não seja informado um acréscimo ou desconto, a linha do TOTAL não aparecerá impressa.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_IniciaFechamentoCupom("A", "%", "1000")

// Exemplo em Delphi
cAcreDesc      := 'A';
cTipoAcreDesc  := '%';
cValorAcreDesc := '1000';
iRetorno := Bematech_FI_IniciaFechamentoCupom( pchar ( cAcreDesc ), pchar( cTipoAcreDesc ), pchar( cValorAcreDesc ) );


Bematech_FI_EfetuaFormaPagamento

Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s) nessa forma.

compatduas

Parâmetros:

FormaPagamento: STRING com a forma de pagamento com no máximo 16 caracteres.
ValorFormaPagamento: STRING com o valor da forma de pagamento com até 14 dígitos.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-24: Forma de pagamento não programada.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- O fechamento do cupom com formas de pagamento deve ter sido iniciado.
- Na impressora fiscal YANCO, se a forma de pagamento não estiver cadastrada na impressora, a função retorna erro. A programação das formas de pagamento é feita, somente, por Interveção Técnica.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_EfetuaFormaPagamento("Cartão VISA", "50,00")

// Exemplo em Delphi
cFormaPgto := 'Cartão VISA';
cValorPago := '50,00';
iRetorno := Bematech_FI_EfetuaFormaPagamento( pchar ( cFormaPgto ), pchar( cValorPago ) );


Bematech_FI_EfetuaFormaPagamentoDescricaoForma

Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s). Permite a impressão de comentários na(s) forma(s) de pagamento.

compatbematech

Parâmetros:

FormaPagamento: STRING com a forma de pagamento com no máximo 16 caracteres.

ValorFormaPagamento: STRING com o valor da forma de pagamento com até 14 dígitos.

DescricaoFormaPagto: STRING com a descrição da forma de pagamento com no máximo 80 caracteres.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-24: Forma de pagamento não programada.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observações:

- Descrição será impressa uma linha após a forma de pagamento.
- O fechamento do cupom com formas de pagamento deve ter sido iniciado.
- Na impressora fiscal YANCO, este comando não existe.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_EfetuaFormaPagamentoDescricaoForma("Cheque PRE","75,00","Vencimento em 15/02/02")

// Exemplo em Delphi
cFormaPgto := 'Cheque PRE';
cValorPago := '75,00';
cDescricao := 'Vencimento em 15/02/02';

iRetorno := Bematech_FI_EfetuaFormaPagamentoDescricaoForma( pchar ( cFormaPgto ), pchar( cValorPago ), pchar( cDescricao ) );


Bematech_FI_TerminaFechamentoCupom

Termina o fechamento do cupom com mensagem promocional.

compatduas

Parâmetro:

Mensagem: STRING com a mensagem promocional com até 384 caracteres (8 linhas X 48 colunas), para a impressora fiscal MP-20 FI II, e 320 caracteres (8 linhas X 40 colunas), para a impressora fiscal MP-40 FI II.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-36: Forma de pagamento não finalizada.

Observações:

- A forma de pagamento deve ter sido efetuada.
- Na impressora fiscal BEMATECH, serão impressas 8 linhas de texto.
- Na impressora fiscal YANCO, serão impressas 4 linhas de texto. Cada linha com 46 colunas.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_TerminaFechamentoCupom("Obrigado, volte sempre !!!")

// Exemplo em Delphi
cMsgPromocional := 'Obrigado, volte sempre !!!';
iRetorno := Bematech_FI_TerminaFechamentoCupom( pchar ( cMsgPromocional ) );


Bematech_FI_FechaCupom

Fecha o cupom fiscal com a impressão da mensagem promocional.

compatduas

Parâmetros:

FormaPagamento: STRING com o nome da forma de pagamento com no máximo 16 caracteres.

AcrescimoDesconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D' para desconto.

TipoAcrescimoDesconto: Indica se o acréscimo ou desconto é por valor ou por percentual. '$' para desconto por valor e '%' para percentual.

ValorAcrescimoDesconto: STRING com no máximo 14 dígitos para acréscimo ou desconto por valor e 4 dígitos para acréscimo ou desconto por percentual.

ValorPago: STRING com o valor pago com no máximo 14 dígitos.

Mensagem: STRING com a mensagem promocional com até 384 caracteres (8 linhas X 48 colunas), para a impressora fiscal MP-20 FI II, e 320 caracteres (8 linhas X 40 colunas), para a impressora fiscal MP-40 FI II.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- O cupom deve estar aberto.
- Pelo menos 1 (um) item deve ter sido vendido e não pode ter sido cancelado.
- A utilização essa função elimina a obrigatoriedade de uso das funções Bematech_FI_IniciaFechamentoCupom, Bematech_FI_EfetuaFormaPagamento e Bematech_FI_TerminaFechamentoCupom que estão implementadas internamente na função.

- Na impressora fiscal YANCO, se a forma de pagamento não estiver cadastrada na impressora, a função retorna erro. A programação das formas de pagamento é feita, somente, por Interveção Técnica.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_FechaCupom("Dinheiro", "A", "$", "0000", "35,00", "Obrigado, volte sempre !!!")

// Exemplo em Delphi
cFormaPgto      := 'Dinheiro';
cAcresDesc      := 'A';
cTipoAcresDesc  := '$';
cValorAcresDesc := '0000';
cValorPago      := '35,00';
cMsgPromocional := 'Obrigado, volte sempre !!!';

iRetorno := Bematech_FI_FechaCupom( pchar ( cFormaPgto ),
                                    pchar( cAcresDesc ),
                                    pchar( cTipoAcresDesc ),
                                    pchar( cValorAcresDesc ),
                                    pchar( cValorPago ),
                                    pchar( cMsgPromocional ) );


Bematech_FI_FechaCupomResumido

Permite fechar o cupom de forma resumida, ou seja, sem acréscimo ou desconto no cupom e com apenas uma forma de pagamento. Essa função lê o subtotal do cupom para fecha-lo.

compatduas

Parâmetros:

FormaPagamento: STRING com a forma de pagamento com no máximo 16 caracteres.

Mensagem: STRING com a mensagem promocional com até 384 caracteres (8 linhas X 48 colunas), para a impressora fiscal MP-20 FI II, e 320 caracteres (8 linhas X 40 colunas), para a impressora fiscal MP-40 FI II.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- O cupom deve estar aberto
- Pelo menos 1 (um) item deve ter sido vendido e não pode ter sido cancelado
- A utilização essa função elimina a obrigatoriedade de uso das funções Bematech_FI_IniciaFechamentoCupom, Bematech_FI_EfetuaFormaPagamento e Bematech_FI_TerminaFechamentoCupom que estão implementadas internamente na função.

- Na impressora fiscal YANCO, se a forma de pagamento não estiver cadastrada na impressora, a função retorna erro. A programação das formas de pagamento é feita, somente, por Interveção Técnica.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_FechaCupomResumido("Ticket", "Obrigado, volte sempre !!!")

// Exemplo em Delphi
cFormaPgto      := 'Ticket';
cMsgPromocional := 'Obrigado, volte sempre !!!';
iRetorno := Bematech_FI_FechaCupomResumido( pchar ( cFormaPgto ), pchar( cMsgPromocional ) );


Bematech_FI_CancelaCupom

Cancela o último cupom emitido.

compatduas

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- No caso de cancelamento com o cupom ainda aberto, pelo menos um item deve ter sido vendido.
- Não poderá ter ocorrido Redução Z e nem Leitura X após a emissão do cupom.
- Na impressora fiscal YANCO, se a forma de pagamento já foi iniciada, o cancelamento do Cupom Fiscal não será executado.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CancelaCupom()

// Exemplo em Delphi
iRetorno := Bematech_FI_CancelaCupom();


Bematech_FI_EstornoFormasPagamento

Permite estornar valores de uma forma de pagamento e inserir em outra.

compatbematech

Parâmetros:

FormaOrigem: STRING com a forma de pagamento de onde o valor será estornado, com até 16 caracteres.

FormaDestino: STRING com a forma de pagamento onde o valor será inserido, com até 16 caracteres.

Valor: STRING com o valor a ser estornado com até 14 dígitos. Não pode ser maior que o total da forma de pagamento de origem.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observação:

- Na impressora fiscal YANCO, este comando não existe.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_EstornoFormasPagamento("Ticket", "Dinheiro", "50,00")

// Exemplo em Delphi
cFormaPgtoOrigem  := 'Ticket';
cFormaPgtoDestino := 'Dineiro';
cValorForma       := '50,00';
iRetorno := Bematech_FI_EstornoFormasPagamento( pchar ( cFormaPgtoOrigem ), pchar( cFormaPgtoDestino ), pchar( cValorForma ) );


Bematech_FI_LeituraX

Emite a Leitura X na impressora.

compatduas

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- O cupom fiscal deve estar fechado.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_LeituraX()

// Exemplo em Delphi
iRetorno := Bematech_FI_LeituraX();


Bematech_FI_LeituraXSerial

Recebe os dados da Leitura X pela serial e grava em arquivo texto.

compatduas

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- O cupom fiscal deve estar fechado.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_LeituraXSerial()

// Exemplo em Delphi
iRetorno := Bematech_FI_LeituraXSerial();


Bematech_FI_LeituraMemoriaFiscalData

Emite a leitura da memória fiscal da impressora por intervalo de datas.

compatduas

Parâmetros:

DataInicial: STRING com a Data inicial no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.
DataFinal: STRING com a Data final no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- O cupom fiscal deve estar fechado.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_LeituraMemoriaFiscalData("01/01/2002", "05/01/2002")

// Exemplo em Delphi
cDataInicial := '01/01/2002';
cDataFinal   := '05/01/2002';
iRetorno := Bematech_FI_LeituraMemoriaFiscalData( pchar ( cDataInicial ), pchar( cDataFinal ) );


Bematech_FI_LeituraMemoriaFiscalReducao

Emite a leitura da memória fiscal da impressora por intervalo de reduções.

compatduas

Parâmetros:

ReducaoInicial: STRING com o Número da redução inicial com até 4 dígitos.
ReducaoFinal: STRING com o Número da redução final com até 4 dígitos.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- O cupom fiscal deve estar fechado.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_LeituraMemoriaFiscalReducao("0100", "0110")

// Exemplo em Delphi
cReducaoInicial := '0100';
cReducaoFinal   := '0110';
iRetorno := Bematech_FI_LeituraMemoriaFiscalReducao( pchar ( cReducaoInicial ), pchar( cReducaoFinal ) );


Bematech_FI_LeituraMemoriaFiscalSerialData

Recebe os dados da memória fiscal por intervalo de datas pela serial e grava em arquivo texto.

compatduas

Parâmetros:

DataInicial: STRING com a Data inicial no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.
DataFinal: STRING com a Data final no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- O cupom fiscal deve estar fechado.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_LeituraMemoriaFiscalSerialData("01/01/2002", "05/01/2002")

// Exemplo em Delphi
cDataInicial := '01/01/2002';
cDataFinal   := '05/01/2002';
iRetorno := Bematech_FI_LeituraMemoriaFiscalSerialData( pchar ( cDataInicial ), pchar( cDataFinal ) );


Bematech_FI_LeituraMemoriaFiscalSerialReducao

Recebe os dados da leitura da memória fiscal por intervalo de reduções pela serial e grava em arquivo texto.

compatduas

Parâmetros:

ReducaoInicial: STRING com o Número da reducao inicial com até 4 dígitos.
ReducaoFinal: STRING com o Número da reducao final com até 4 dígitos.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- O cupom fiscal deve estar fechado.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_LeituraMemoriaFiscalSerialReducao("0100", "0110")

// Exemplo em Delphi
cReducaoInicial := '0100';
cReducaoFinal   := '0110';
iRetorno := Bematech_FI_LeituraMemoriaFiscalSerialReducao( pchar ( cReducaoInicial ), pchar( cReducaoFinal ) );


Bematech_FI_ReducaoZ

Emite a Redução Z na impressora. Permite ajustar o relógio interno da impressora em até 5 minutos.

compatduas

Parâmetros:

Data: STRING com a Data atual da impressora no formato ddmmaa ou dd/mm/aa, dd/mm/aaaa ou dd/mm/aa.
Hora: STRING com a Hora a ser alterada no formato hhmmss ou hh:mm:ss.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- Somente será aceito um ajuste de +/- 5 minutos. Se os valores estiverem fora dessa faixa serão limitados a 5 minutos.
- O cupom fiscal deve estar fechado.

- Na impressora fiscal YANCO, não são utilizados os parâmetros Data e Hora, mas podem ser informados, pois a DLL efetua o tratamento.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ReducaoZ("08/01/2000", "18:00:00")
ou
iRetorno = Bematech_FI_ReducaoZ("", "")

// Exemplo em Delphi
cData := '08/01/2000';
cHora := '18:00:00';
iRetorno := Bematech_FI_ReducaoZ( pchar ( cData ), pchar( cHora ) );
ou
iRetorno := Bematech_FI_ReducaoZ( pchar ( '' ), pchar( '' ) );


Bematech_FI_RelatorioGerencial

Imprime o relatório gerencial.

compatduas

Parâmetro:

Texto: STRING com o Texto a ser impresso no relatório com até 618 caracteres.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- O cupom fiscal deve estar fechado.
- Se qualquer função diferente da Bematech_FI_RelatorioGerencial for chamada com o relatório aberto, efetuará seu fechamento automaticamente.
- Na impressora fiscal YANCO o tamanho da linha é de 46 colunas.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_RelatorioGerencial("Digite o texto a ser impresso aqui !!!")

// Exemplo em Delphi
cTexto := 'Digite o texto a ser impresso aqui !!!';
iRetorno := Bematech_FI_RelatorioGerencial( pchar ( cTexto ) );


Bematech_FI_FechaRelatorioGerencial

Encerra o relatório gerencial.

compatduas

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- O relatório gerencial deve estar aberto.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_FechaRelatorioGerencial()

// Exemplo em Delphi
iRetorno := Bematech_FI_FechaRelatorioGerencial();


Bematech_FI_AbreComprovanteNaoFiscalVinculado

Abre o comprovante não fiscal vinculado.

compatduas

Parâmetros:

FormaPagamento: Forma de pagamento com até 16 caracteres.

Valor: Valor pago na forma de pagamento com até 14 dígitos (2 casas decimais).

NumeroCupom: Número do cupom a que se refere o comprovante com até 6 dígitos.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- A forma de pagamento utilizada não pode ser dinheiro.
- A forma de pagamento deve ter sido utilizada no cupom.
- Só pode ser emitido um comprovante não fiscal por forma de pagamento.
- Os parâmetros "Valor" e "Numero do Cupom" tornam-se obrigatórios se o comprovante emitido não for referente ao último cupom fiscal emitido.

- Na impressora fiscal YANCO, os parâmetros utilizados nesta função são opcionais. O Comprovante Não Fiscal Vinculado é aberto independente da forma de pagamento impressa no Cupom Fiscal.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AbreComprovanteNaoFiscalVinculado("Cartao VISA", "", "")

// Exemplo em Delphi
cFormaPgto := 'Cartao VISA';
iRetorno := Bematech_FI_AbreComprovanteNaoFiscalVinculado( pchar ( cFormaPgto ), pchar( '' ), pchar( '' ) );


Bematech_FI_UsaComprovanteNaoFiscalVinculado

Imprime o comprovante não fiscal vinculado.

compatduas

Parâmetro:

Texto: STRING com o Texto a ser impresso no comprovante não fiscal vinculado com até 618 caracteres.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- Na impressora fiscal BEMATECH, só pode ser usado durante 2 (dois) minutos após a abertura do comprovante não fiscal vinculado. Se esse tempo for ultrapassado o comprovante é fechado automaticamente.

- Na impressora fiscal YANCO, não tem limite de tempo, para o fechamento do comprovante. O tamanho da linha é de 46 colunas.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_UsaComprovanteNaoFiscalVinculado("Digite o texto a ser impresso aqui !!!")

// Exemplo em Delphi
cTexto := 'Digite o texto a ser impresso aqui !!!';
iRetorno := Bematech_FI_UsaComprovanteNaoFiscalVinculado( pchar ( cTexto ) );


Bematech_FI_FechaComprovanteNaoFiscalVinculado

Encerrar o comprovante não fiscal vinculado.

compatduas

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- O comprovante não fiscal vinculado deve ter sido aberto.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_FechaComprovanteNaoFiscalVinculado()

// Exemplo em Delphi
iRetorno := Bematech_FI_FechaComprovanteNaoFiscalVinculado();


Bematech_FI_Suprimento

Faz um suprimento na impressora (entrada de dinheiro).

compatduas

Parâmetros:

Valor: STRING com o Valor do suprimento com até 14 dígitos (2 casas decimais).

FormaPagamento: STRING com a Forma de pagamento com até 16 caracteres. Se não for informada, o suprimento será feito em Dinheiro.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- Na impressora fiscal YANCO, o Suprimento é impresso como Recebimento e em Dinheiro.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_Suprimento("50,00", "Dinheiro")

// Exemplo em Delphi
cValor     := '50,00';
cFormaPgto := 'Dinheiro';
iRetorno := Bematech_FI_Suprimento( pchar ( cValor ), pchar( cFormaPgto ) );


Bematech_FI_Sangria

Faz uma sangria na impressora (retirada de dinheiro).

compatduas

Parâmetro:

Valor: STRING com o Valor da sangria com até 14 dígitos (2 casas decimais).

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- O cupom fiscal deve estar fechado.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_Sangria("25,00")

// Exemplo em Delphi
cValor := '25,00';
iRetorno := Bematech_FI_Sangria( pchar ( cValor ) );


Bematech_FI_RecebimentoNaoFiscal

Imprime o comprovante não fiscal não vinculado.

compatduas

Parâmetros:

IndiceTotalizador: STRING com o Indice do totalizador para recebimento parcial com até 2 dígitos.

ValorRecebimento: STRING com o Valor do recebimento com até 14 dígitos (duas casas decimais).

FormaPagamento: STRING com a Forma de pagamento com até 16 caracteres.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- O cupom fiscal deve estar fechado.
- O totalizador deve estar cadastrado.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_RecebimentoNaoFiscal("05", "30,00", "Dinheiro")

// Exemplo em Delphi
cIndiceTot := '05';
cValor     := '30,00';
cFormaPgto := 'Dinheiro';
iRetorno := Bematech_FI_RecebimentoNaoFiscal( pchar ( cIndiceTot ), pchar( cValor ), pchar( cFormaPgto ) );


Bematech_FI_Autenticacao

Permite a autenticação de documentos.

compatduas

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- Deverá ser executada imediatamente após um recebimento não fiscal ou o término de um cupom fiscal.
- Poderá ser repetido até 5 vezes para cada recebimento, após isso o comando será ignorado.
- Na impressora fiscal BEMATECH, serão aguardados 5 segundos para o posicionamento do documento e autenticará no documento a data, hora, número da loja, número do caixa e o número do último cupom fiscal. Se decorrido os 5 segundos sem o posicionamento do documento, a impressora retornará ao seu estado normal, retornando o status de "Comando Não Executado".

- Na impressora fiscal YANCO, o documento deve ser posicionado antes do envio da função, caso contrário a autenticação será impressa na bobina.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_Autenticacao()

// Exemplo em Delphi
iRetorno := Bematech_FI_Autenticacao();


Bematech_FI_ProgramaCaracterAutenticacao

Programa um caracter gráfico para autenticação.

compatbematech

Parâmetro:

Coordenadas: STRING com os 18 valores para programação do caracter gráfico, separados por vírgula. Veja exemplo abaixo em "Observações".

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-3: Alíquota não programada.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observações:

Exemplo de programação do caracter gráfico:

imagemcargrafico

- Para programar o caracter acima deve-se passar a seguinte string de parâmetros: "001,002,004,008,016,032,064,128,064,032,016,008,004,002,129,129,129,129"
- Uma vez programado, este caracter será mantido na memória da impressora mesmo que a mesma seja desligada.

- Na impressora fiscal YANCO, esta programação não existe.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ProgramaCaracterAutenticacao("001,002,004,008,016,032,064,128,064, 032,016,008,004,002,129,129,129,129")

// Exemplo em Delphi
cCoordenadas := '001,002,004,008,016,032,064,128,064,032,016,008,004,002,129,129,129,129';
iRetorno := Bematech_FI_ProgramaCaracterAutenticacao( pchar ( cCoordenadas  ) );


Bematech_FI_AcionaGaveta

Abre a gaveta de dinheiro.

compatduas

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AcionaGaveta()

// Exemplo em Delphi
iRetorno := Bematech_FI_AcionaGaveta();


Bematech_FI_VerificaEstadoGaveta

Retorna se a gaveta está fechada ou aberta.

compatduas

Parâmetro:

Estado: INTEIRO com a Variável para receber o estado da gaveta, onde:
Estado = 1 sensor em nível 1 (fechada)
Estado = 0 sensor em nível 0 (aberta)

Observação:

A função retornará estes valores para as impressoras fiscais BEMATECH. Caso esteja utilizando impressora fiscal YANCO, mude a chave "ModoGaveta" (encontrado nas configurações do arquivo BemaFI32.ini) para 1 (um), para que os retornos sejam os mesmos citados acima. Não esqueça de mudar a chave "ModeloImp" para YANCO.

IMPORTANTE
Em alguns modelos de gaveta, este retorno poderá ser invertido, ou seja, o retorno que corresponde a "gaveta aberta", poderá ser o retorno para "gaveta fechada". Caso isso ocorra, mude a chave "ModoGaveta" (encontrado nas configurações do arquivo BemaFI32.ini), para 1 (um) e efetue o teste de retorno, desta função, abrindo e fechando a gaveta.

ATENÇÃO: É, extremamente, necessário usar um adaptador de gaveta, caso seja utilizada uma impressora fiscal BEMATECH com gaveta da marca YANCO ou vice-vesa, pois o sinal enviado, pela gaveta, poderá danificar a impressora.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_VerificaEstadoGaveta( iEstado )

// Exemplo em Delphi
iRetorno := Bematech_FI_VerificaEstadoGaveta( iEstado );


Bematech_FI_Acrescimos

Retorna a valor acumulado dos acréscimos efetuados nos cupons.

compatduas

Parâmetro:

ValorAcrescimo: Variável string com 14 posições para receber o valor dos acréscimos.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
ValorAcrescimo = Space(14)
iRetorno = Bematech_FI_Acrescimos(ValorAcrescimo)

// Exemplo em Delphi
for iConta := 1 to 14 do ValorAcrescimo := ValorAcrescimo + ' ';
iRetorno := Bematech_FI_Acrescimos( ValorAcrescimo );


Bematech_FI_Cancelamentos

Retorna o valor acumulado dos itens e dos cupons cancelados

compatduas

Parâmetro:

Cancelamentos: Variável string com 14 posições para receber o valor dos cancelamentos com 2 casas decimais.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
Cancelamentos = Space(14)
iRetorno = Bematech_FI_Cancelamentos(Cancelamentos)

// Exemplo em Delphi
for iConta := 1 to 14 do Cancelamentos := Cancelamentos + ' ';
iRetorno := Bematech_FI_Cancelamentos( Cancelamentos );


Bematech_FI_CGC_IE

Retorna o CGC e a Inscrição Estadual do cliente/proprietário cadastrado na impressora.

compatduas

Parâmetros:

CGC: Variável string com 18 posições para receber o CGC.
IE: Variável string com 15 posições para receber a Inscrição Estadual.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
CGC = Space(18)
IE = Space(15)
iRetorno = Bematech_FI_CGC_IE(CGC, IE)

// Exemplo em Delphi
for iConta := 1 to 18 do CGC := CGC + ' ';
for iConta := 1 to 15 do IE  := IE  + ' ';
iRetorno := Bematech_FI_CGC_IE( CGC, IE );


Bematech_FI_ClicheProprietario

Retorna o clichê do proprietário cadastrado na impressora.

compatduas

Parâmetro:

ClicheProprietario: Variável string com 186 posições para receber clichê cadastrado.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
ClicheProprietario = Space(186)
iRetorno = Bematech_FI_ClicheProprietario(ClicheProprietario)

// Exemplo em Delphi
for iConta := 1 to 186 do ClicheProprietario := ClicheProprietario + ' ';
iRetorno := Bematech_FI_ClicheProprietario( ClicheProprietario );


Bematech_FI_ContadoresTotalizadoresNaoFiscais

Retorna o número de vezes em que os totalizadores não sujeitos ao ICMS foram usados.

compatduas

Parâmetro:

Contadores: Variável string com 44 posições para receber os contadores dos totalizadores.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- A impressora fiscal BEMATECH, permite a programação de até 50 totalizadores não fiscais, porém essa função retorna somente os contadores dos 9 primeiros totalizadores cadastrados.

- O conteúdo da variável retornada será 36 dígitos separados de 4 em 4 por vírgura que representam os 9 primeiros totalizadores. Ex.: "0001,0003,0001,0005,0004,0002,0003,0004,0007"

- O primeiro valor corresponde ao número de vezes que o totalizador 01 foi usado, o segundo corresponde ao totalizador 02 e assim sucessivamente.

- A impressora fiscal YANCO não possui contadores dos totalizadores não fiscais. Será retornado zero, nas posições.

Exemplo:

' Exemplo em Visual Basic
Contadores = Space(44)
iRetorno = Bematech_FI_ContadoresTotalizadoresNaoFiscais(Contadores)

// Exemplo em Delphi
for iConta := 1 to 44 do Contadores := Contadores + ' ';
iRetorno := Bematech_FI_ContadoresTotalizadoresNaoFiscais( Contadores );


Bematech_FI_DadosUltimaReducao

Retorna os dados da impressora no momento da última Redução Z.

compatduas

Parâmetro:

DadosReducao: Variável string com o tamanho de 631 posições para receber os dados da última redução.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- São retornados os valores das seguintes informações separados por vírgulas:

Modo de Redução Z.........................:   2 bytes (se 00 redução por comando, se 01 redução automática)
Grande Total..............................:  18 bytes
Cancelamentos.............................:  14 bytes
Descontos.................................:  14 bytes
Tributos..................................:  64 bytes
Totalizadores Parciais Tributados.........: 266 bytes
Sangria...................................:  14 bytes
Suprimentos...............................:  14 bytes
Totalizadores não sujeitos ao ICMS........: 126 bytes
Contadores dos TP's não sujeitos ao ICMSl.:  36 bytes
Contador de ordem de operação.............:   6 bytes
Contador de operações não sujeitas ao ICMS:   6 bytes
Número de Alíquotas cadastradas...........:   2 bytes
Data do movimento.........................:   6 bytes
Acréscimos................................:  14 bytes
Acréscimo financeiro......................:  14 bytes

- A impressora fiscal YANCO não possui contadores dos operações não fiscais. Será retornado zero, nas posições.

Exemplo:

' Exemplo em Visual Basic
DadosReducao = Space(631)
iRetorno = Bematech_FI_DadosUltimaReducao(DadosReducao)

// Exemplo em Delphi
for iConta := 1 to 631 do DadosReducao := DadosReducao + ' ';
iRetorno := Bematech_FI_DadosUltimaReducao( DadosReducao ) ;


Bematech_FI_DataHoraImpressora

Retorna a data e a hora atual da impressora.

compatduas

Parâmetros:

Data: Variável string com 6 posições para receber a data atual da impressora no formato ddmmaa.
Hora: Variável string com 6 posições para receber a hora atual da impressora no formato hhmmss.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
Data = Space(6)
Hora = Space(6)
iRetorno = Bematech_FI_DataHoraImpressora(Data, Hora)

// Exemplo em Delphi
for iConta := 1 to 6 do Data := Data + ' ';
for iConta := 1 to 6 do Hora := Hora + ' ';
iRetorno := Bematech_FI_DataHoraImpressora( Data, Hora );


Bematech_FI_DataHoraReducao

Retorna a data da última Redução Z.

compatduas

Parâmetros:

DataReducao: Variável string com 6 posições para receber a data da última redução no formato ddmmaa.
HoraReducao: Variável string com 6 posições parar eceber a hora da última redução no formato hhmmss.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
DataReducao = Space(6)
HoraHora = Space(6)
iRetorno = Bematech_FI_DataHoraReducao(DataReducao, HoraReducao)

// Exemplo em Delphi
for iConta := 1 to 6 do DataReducao := DataReducao + ' ';
for iConta := 1 to 6 do HoraReducao := HoraReducao + ' ';
iRetorno := Bematech_FI_DataHoraReducao( DataReducao, HoraReducao );


Bematech_FI_DataMovimento

Retorna a data do último movimento.

compatduas

Parâmetro:

DataMovimento: Variável string com 6 posições para receber a data do movimento no formato ddmmaa.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
DataMovimento = Space(6)
iRetorno = Bematech_FI_DataMovimento(DataMovimento)

// Exemplo em Delphi
for iConta := 1 to 6 do DataMovimento := DataMovimento + ' ';
iRetorno := Bematech_FI_DataMovimento( DataMovimento );


Bematech_FI_Descontos

Retorna a valor acumulado dos descontos.

compatduas

Parâmetro:

Descontos: Variável string com 14 posições para receber o valor dos descontos com 2 casas decimais.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
Descontos = Space(14)
iRetorno = Bematech_FI_Descontos(Descontos)

// Exemplo em Delphi
for iConta := 1 to 14 do Descontos := Descontos + ' ';
iRetorno := Bematech_FI_Descontos( Descontos );


Bematech_FI_FlagsFiscais

Retorna um número referente ao flag fiscal da impressora. Veja discriminação abaixo.

compatduas

Parâmetro:

FlagFiscal: Variável inteira para receber um número representando o flag fiscal da impressora. Veja discriminação abaixo.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- Discriminação dos valores para o flag fiscal:

Descrição                                    Valor
Cupom fiscal aberto                            1
Fechamento de formas de pagamento iniciado     2
Horário de verão selecionado                   4
Já houve redução Z no dia                      8
Permite cancelar cupom fiscal                 32
Memória fiscal sem espaço                    128

- Os valores podem vir somados o que indica mais de um estado.

- Para a impressora fiscal YANCO, os flags "Fechamento de formas de pagamento iniciado" e "Permite cancelar cupom fiscal" não existem.

Exemplo:

FlagFiscal = 37 (Cupom fiscal aberto, Horário de verão selecionado, Permite cancelar o cupom fiscal).

' Exemplo em Visual Basic
iRetorno = Bematech_FI_FlagsFiscais(FlagFiscal)

// Exemplo em Delphi
iRetorno := Bematech_FI_FlagsFiscais( FlagFiscal );


Bematech_FI_GrandeTotal

Retorna o valor do Grande Total da impressora.

compatduas

Parâmetro:

GrandeTotal: Variável string com 18 posições para receber o valor do grande total com 2 casas decimais.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
GrandeTotal = Space(18)
iRetorno = Bematech_FI_GrandeTotal(GrandeTotal)

// Exemplo em Delphi
for iConta := 1 to 18 do GrandeTotal := GrandeTotal + ' ';
iRetorno := Bematech_FI_GrandeTotal( GrandeTotal );


Bematech_FI_MinutosImprimindo

Retorna o tempo em minutos que a impressora está ou esteve imprimindo.

compatbematech

Parâmetro:

MinutosImprimindo: Variável string com 4 posições para receber os minutos em impressão.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observação:

- Na impressora fiscal YANCO, este retorno não existe.

Exemplo:

' Exemplo em Visual Basic
MinutosImprimindo = Space(4)
iRetorno = Bematech_FI_MinutosImprimindo(MinutosImprimindo)

// Exemplo em Delphi
for iConta := 1 to 4 do MinutosImprimindo := MinutosImprimindo + ' ';
iRetorno := Bematech_FI_MinutosImprimindo( MinutosImprimindo );


Bematech_FI_MinutosLigada

Retorna o tempo em minutos que a impressora está ligada.

compatbematech

Parâmetro:

MinutosLigada: Variável string com 4 posições para receber os minutos em que a impressora está ligada.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observação:

- Na impressora fiscal YANCO, este retorno não existe.

Exemplo:

' Exemplo em Visual Basic
MinutosLigada = Space(4)
iRetorno = Bematech_FI_MinutosLigada(MinutosLigada)

// Exemplo em Delphi
for iConta := 1 to 4 do MinutosLigada := MinutosLigada + ' ';
iRetorno := Bematech_FI_MinutosLigada( MinutosLigada );


Bematech_FI_MonitoramentoPapel

Retorna o número de linhas impressas após o status de Pouco Papel.

compatduas

Parâmetro:

LinhasImpressas: Variável inteira para receber a quantidade de linhas impressas.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- O monitoramento do estado do papel não existe para a impressora fiscal YANCO, por isso, o retorno será sempre "0" (zero).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_MonitoramentoPapel(LinhasImpressas)

// Exemplo em Delphi
iRetorno := Bematech_FI_MonitoramentoPapel( LinhasImpressas );


Bematech_FI_NumeroCaixa

Retorna o número do caixa cadastrado na impressora.

compatduas

Parâmetro:

NumeroCaixa: Variável string com 4 posições para receber o número do caixa cadastrado na impressora.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
NumeroCaixa = Space(4)
iRetorno = Bematech_FI_NumeroCaixa(NumeroCaixa)

// Exemplo em Delphi
for iConta := 1 to 4 do NumeroCaixa := NumeroCaixa + ' ';
iRetorno := Bematech_FI_NumeroCaixa( NumeroCaixa );


Bematech_FI_NumeroCupom

Retorna o número do cupom.

compatduas

Parâmetro:

NumeroCupom: Variável string com 6 posições para receber o número do último cupom.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
NumeroCupom = Space(6)
iRetorno = Bematech_FI_NumeroCupom(NumeroCupom)

// Exemplo em Delphi
for iConta := 1 to 6 do NumeroCupom := NumeroCupom + ' ';
iRetorno := Bematech_FI_NumeroCupom( NumeroCupom );


Bematech_FI_NumeroCuponsCancelados

Retorna o número de cupons cancelados.

compatduas

Parâmetro:

CuponsCancelados: Variável STRING com o tamanho de 4 bytes para receber o número de cupons cancelados.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: Ok.
-4: Arquivo BemaFI32.ini não encontrado ou parâmetro inválido para o nome da porta.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (Ack, St1 e St2).
-30: Função não compatível com a impressora YANCO.

Exemplos:

' Exemplo em Visual Basic
Cupons = Space(4)
iRetorno = Bematech_FI_NumeroCuponsCancelados(Cupons)

// Exemplo em Delphi
for iConta := 1 to 4 do Cupons := Cupons + ' ';
iRetorno := Bematech_FI_NumeroCuponsCancelados( Cupons );


Bematech_FI_NumeroIntervencoes

Retorna o número de intervenções técnicas realizadas na impressora.

compatduas

Parâmetro:

Intervencoes: Variável string com 4 posições para receber o número de intervenções.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
Intervencoes = Space(4)
iRetorno = Bematech_FI_NumeroIntervencoes(Intervencoes)

// Exemplo em Delphi
for iConta := 1 to 4 do Intervencoes := Intervencoes + ' ';
iRetorno := Bematech_FI_NumeroIntervencoes( Intervencoes );


Bematech_FI_NumeroLoja

Retorna o número da loja cadastrado na impressora.

compatduas

Parâmetro:

NumeroLoja: Variável string com 4 posições para receber o número da loja cadastrado na impressora.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
NumeroLoja = Space(4)
iRetorno = Bematech_FI_NumeroLoja(NumeroLoja)

// Exemplo em Delphi
for iConta := 1 to 4 do NumeroLoja := NumeroLoja + ' ';
iRetorno := Bematech_FI_NumeroLoja( NumeroLoja );


Bematech_FI_NumeroOperacoesNaoFiscais

Retorna o número de operações não fiscais executadas na impressora.

compatbematech

Parâmetro:

Operacoes: Variável string com 6 posições para receber o número de operações.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observação:

- Na impressora fiscal YANCO, este retorno não existe.

Exemplo:

' Exemplo em Visual Basic
Operacoes = Space(6)
iRetorno = Bematech_FI_NumeroOperacoesNaoFiscais(Operacoes)

// Exemplo em Delphi
for iConta := 1 to 6 do Operacoes := Operacoes + ' ';
iRetorno := Bematech_FI_NumeroOperacoesNaoFiscais( Operacoes );


Bematech_FI_NumeroReducoes

Retorna o número de reduções Z realizadas na impressora.

compatduas

Parâmetro:

Reducoes: Variável string com 4 posições para receber o número de Reduções Z.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
Reducoes = Space(4)
iRetorno = Bematech_FI_NumeroReducoes(Reducoes)

// Exemplo em Delphi
for iConta := 1 to 4 do Reducoes := Reducoes + ' ';
iRetorno := Bematech_FI_NumeroReducoes( Reducoes );


Bematech_FI_NumeroSerie

Retorna o número de série da impressora.

compatduas

Parâmetro:

NumeroSerie: Variável string com o tamanho de 15 posições para receber o número de série.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- Na impressora fiscal YANCO serão retornados 10 bytes, referente ao número de série do equipamento, o restante será preenchido com espaços em branco.
- Nas impressoras fiscais MP-2000 TH FI, MP-6000 TH FI, MP-25 FI e MP-50 FI serão retornados os 15 primeiros caracteres de seu número serial. O número serial nestas impressoras é alfanumérico com o tamanho de 20 caracteres.

Exemplo:

' Exemplo em Visual Basic
NumeroSerie = Space(15)
iRetorno = Bematech_FI_NumeroSerie(NumeroSerie)

// Exemplo em Delphi
for iConta := 1 to 15 do NumeroSerie := NumeroSerie + ' ';
iRetorno := Bematech_FI_NumeroSerie( NumeroSerie );


Bematech_FI_NumeroSubstituicoesProprietario

Retorna o número de substituições de proprietário.

compatbematech

Parâmetro:

Substituicoes: Variável string com 4 posições para receber o número de substituições.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observação:

- Na impressora fiscal YANCO, este retorno não existe.

Exemplo:

' Exemplo em Visual Basic
Substituicoes = Space(4)
iRetorno = Bematech_FI_NumeroSubstituicoesProprietario(Substituicoes)

// Exemplo em Delphi
for iConta := 1 to 4 do Substituicoes := Substituicoes + ' ';
iRetorno := Bematech_FI_NumeroSubstituicoesProprietario( Substituicoes );


Bematech_FI_RetornoAliquotas

Retorna as alíquotas cadastradas na impressora.

compatduas

Parâmetro:

Aliquotas: Variável string com o tamanho de 79 posições para receber as alíquotas.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- As alíquotas retornadas estarão separadas por vírgula. Ex.: 1200, 1700, 0500, 1800

Exemplo:

' Exemplo em Visual Basic
Aliquotas = Space(79)
iRetorno = Bematech_FI_RetornoAliquotas(Aliquotas)

// Exemplo em Delphi
for iConta := 1 to 79 do Aliquotas := Aliquotas + ' ';
iRetorno := Bematech_FI_RetornoAliquotas( Aliquotas );


Bematech_FI_SimboloMoeda

Retorna o símbolo da moeda cadastrado na impressora.

compatduas

Parâmetro:

SimboloMoeda: Variável string com 2 posições para receber o símbolo da moeda.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
SimboloMoeda = Space(2)
iRetorno = Bematech_FI_SimboloMoeda(SimboloMoeda)

// Exemplo em Delphi
for iConta := 1 to 2 do SimboloMoeda := SimboloMoeda + ' ';
iRetorno := Bematech_FI_SimboloMoeda( SimboloMoeda );


Bematech_FI_SubTotal

Retorna o valor do subtotal do cupom.

compatduas

Parâmetro:

SubTotal: Variável string com o tamanho de 14 posições para receber o subtotal do cupom.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
SubTotal = Space(14)
iRetorno = Bematech_FI_SubTotal(SubTotal)

// Exemplo em Delphi
for iConta := 1 to 14 do SubTotal := SubTotal + ' ';
iRetorno := Bematech_FI_SubTotal( SubTotal );


Bematech_FI_UltimoItemVendido

Retorna o número do último item vendido.

compatbematech

Parâmetro:

UltimoItem: Variável string com 4 posições para receber o número do último item vendido.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observação:

- Na impressora fiscal YANCO, este retorno não existe.

Exemplo:

' Exemplo em Visual Basic
UltimoItem = Space(4)
iRetorno = Bematech_FI_UltimoItemVendido(UltimoItem)

// Exemplo em Delphi
for iConta := 1 to 4 do UltimoItem := UltimoItem + ' ';
iRetorno := Bematech_FI_UltimoItemVendido( UltimoItem );


Bematech_FI_ValorFormaPagamento

Retorna o valor acumulado em uma determinada forma de pagamento.

compatduas

Parâmetros:

FormaPagamento: Variável STRING com até 16 posições com a descrição da Forma de Pagamento que deseja retornar o seu valor.
Valor: Variável STRING com 14 posições para receber a informação.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-2: Parâmetro inválido na função.
-24: Forma de pagamento não programada.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
Valor = Space(14)
iRetorno = Bematech_FI_ValorFormaPagamento("Cheque", Valor)

// Exemplo em Delphi
cFormaPgto := 'Cheque';
for iConta := 1 to 14 do Valor := Valor + ' ';
iRetorno := Bematech_FI_ValorFormaPagamento( pchar( cFormaPgto ), Valor );


Bematech_FI_ValorPagoUltimoCupom

Retorna o valor pago no último cupom.

compatbematech

Parâmetro:

Valor: Variável string com 14 posições para receber o valor pago no último cupom.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observações:

- Valor pago no último cupom é diferente do valor total do cupom.
- Na impressora fiscal YANCO, este retorno não existe.

Exemplo:

Imaginemos que o valor do cupom seja R$15,00 e foi pago pelo cliente R$ 20,00. Teve um troco de R$ 5,00. O valor retornado por essa função será R$ 20,00 e não R$ 15,00.

' Exemplo em Visual Basic
Valor = Space(14)
iRetorno = Bematech_FI_ValorPagoUltimoCupom(Valor)

// Exemplo em Delphi
for iConta := 1 to 14 do Valor := Valor + ' ';
iRetorno := Bematech_FI_ValorPagoUltimoCupom( Valor );


Bematech_FI_ValorTotalizadorNaoFiscal

Retorna o valor acumulado em um determinado totalizador não fiscal.

compatduas

Parâmetros:

Totalizador: Variável STRING com até 19 posições com a descrição do Totalizador.
Valor: Variável STRING com 14 posições para receber a informação.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-2: Parâmetro inválido na função.
-25: Totalizador não fiscal não programado.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
Valor = Space(14)
iRetorno = Bematech_FI_ValorTotalizadorNaoFiscal("Rec. Prestacao", Valor)

// Exemplo em Delphi
cDescTot := 'Rec. Prestacao';
for iConta := 1 to 14 do Valor := Valor + ' ';
iRetorno := Bematech_FI_ValorTotalizadorNaoFiscal( pchar( cDescTot ), Valor );


Bematech_FI_VerificaAliquotasIss

Retorna as alíquotas de vinculação ao ISS.

compatduas

Parâmetro:

AliquotasIss: Variável string com 79 posições para receber as alíquotas vinculadas ao Iss.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- As alíquotas retornadas estarão separadas por vírgula. Ex.: 0300, 0500

Exemplo:

' Exemplo em Visual Basic
AliquotasIss = Space(79)
iRetorno = Bematech_FI_VerificaAliquotasIss(AliquotasIss)

// Exemplo em Delphi
for iConta := 1 to 79 do AliquotasIss := AliquotasIss + ' ';
iRetorno := Bematech_FI_VerificaAliquotasIss( AliquotasIss );


Bematech_FI_VerificaDepartamentos

Retorna os departamentos e seus valores acumulados.

compatbematech

Parâmetro:

Departamentos: Variável string com 1019 posições para receber as informações dos departamentos.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observação:

- Na impressora fiscal YANCO, este retorno não existe.

Observações:

- Essa função retorna as informações dos departamentos na seguinte ordem:

Valor acumulado para cada departamento.........................: 20 bytes
Valor com o número de vezes em que o departamento foi utilizado: 20 bytes
Descrição do departamento......................................: 10 bytes

Exemplo:

0000000000000001944800000000000000018548GERAL     ,
0000000000000001644800000000000000015548Vestuario ,
0000000000000015819700000000000000158197Calcados  ,
0000000000000001644800000000000000015548Equipament,
00000000000000101642700000000000001016427Alimentos,
0000000000000000000000000000000000000000          ,
.
.
.
0000000000000000000000000000000000000000          ,
0000000000000000000000000000000000000000

- A impressora permite programar até 20 departamentos, os departamentos que não estiverem programados estarão com os valores zerados e a descrição em branco (veja exemplo acima).

' Exemplo em Visual Basic
Departamentos = Space(1019)
iRetorno = Bematech_FI_VerificaDepartamentos(Departamentos)

// Exemplo em Delphi
for iConta := 1 to 1019 do Departamentos := Departamentos + ' ';
iRetorno := Bematech_FI_VerificaDepartamentos( Departamentos );


Bematech_FI_VerificaEpromConectada

Verifica se a Eprom está conectada.

compatduas

Parâmetro:

FlagEprom: Variável string com 1 posição para receber o flag de Eprom conectada. Onde:
1 - Eprom conectada
0 - Eprom desconectada.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
FlagEprom = " "
iRetorno = Bematech_FI_VerificaEpromConectada(FlagEprom)

// Exemplo em Delphi
FlagEprom := ' ';
iRetorno := Bematech_FI_VerificaEpromConectada( FlagEprom );


Bematech_FI_VerificaEstadoImpressora

Retorna o estado da impressora.

compatduas

Parâmetros:

ACK: Variável inteira para receber o primeiro byte.
ST1: Variável inteira para receber o segundo byte.
ST2: Variável inteira para receber o terceiro byte.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- Essa função devolve o status da impressora (Retorno da Impressora).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_VerificaEstadoImpressora( iAck, iSt1, iSt2 )

// Exemplo em Delphi
iRetorno := Bematech_FI_VerificaEstadoImpressora( iAck, iSt1, iSt2 );


Bematech_FI_VerificaFormasPagamento

Retorna as formas de pagamento e seus valores acumulados.

compatduas

Parâmetro:

FormasPagamento: Variável string com 3016 posições para receber as formas programadas.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- Essa função retorna as informações das formas de pagamento na seguinte ordem:

Descricao da forma de pagamento.....................: 16 bytes
Valor acumulado (2 casas decimais)..................: 20 bytes
Valor recebido no último cupom (2 casas decimais)...: 20 bytes
Valor indicando se a forma foi usada para a emissão
do cupom não fiscal vinculado (1 usado, 0 não usado): 1 byte

- São retornadas 50 formas de pagamento mais a forma "Valor Recebido" e "Troco" obedecendo a ordem descrita anteriormente. As formas de pagamento são separadas por vírgula. Veja exemplo a seguir:

Dinheiro        00000000000000041558000000000000000015580,
Cartao Credito  00000000000000039470000000000000000000000,
Cheque          00000000000000028940000000000000000000000,
Ticket          00000000000000009000000000000000000000000,
                00000000000000000000000000000000000000000,
                00000000000000000000000000000000000000000,
                .
                .
                .
Valor Recebido  00000000000000118968000000000000000015580,
Troco           00000000000000000000000000000000000000000

- A impressora permite programar até 50 formas de pagamento, as formas que não estiverem programadas estarão com os valores zerados e a descrição em branco (veja exemplo acima).

- Na impressora fiscal YANCO só é permitido programar até 30 formas de pagamento, apenas por Interveção Técnica.

- Nas impressoras fiscais MP-2000 TH FI, MP-6000 TH FI, MP-25 FI e MP-50 FI serão retornadas somente 20 formas de pagamento, que é a quantidade permitida, as demais posições serão retornadas com espaços em branco.

Exemplo:

' Exemplo em Visual Basic
FormasPagamento = Space(3016)
iRetorno = Bematech_FI_VerificaFormasPagamento(FormasPagamento)

// Exemplo em Delphi
for iConta := 1 to 3016 do FormasPagamento := FormasPagamento + ' ';
iRetorno := Bematech_FI_VerificaFormasPagamento( FormasPagamento );


Bematech_FI_VerificaIndiceAliquotasIss

Retorna os índices das alíquotas de ISS.

compatduas

Parâmetro:

IndiceAliquotas: Variável string com o tamanho de 48 posições para receber os índices das alíquotas de ISS.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- Os índices retornados estarão separados por vírgula. Ex.: 03, 05.

Exemplo:

' Exemplo em Visual Basic
IndiceAliquotas = Space(48)
iRetorno = Bematech_FI_VerificaIndiceAliquotasIss(IndiceAliquotas)

// Exemplo em Delphi
for iConta := 1 to 48 do IndiceAliquotas := IndiceAliquotas + ' ';
iRetorno := Bematech_FI_VerificaIndiceAliquotasIss( IndiceAliquotas );


Bematech_FI_VerificaModoOperacao

Verifica se a impressora está em modo normal ou em intervenção técnica.

compatduas

Parâmetro:

ModoOperacao: Variável string com 1 posição para receber o modo de operação da impressora. Onde:
1 - Modo normal
0 - Intervenção técnica.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
ModoOperacao = " "
iRetorno = Bematech_FI_VerificaModoOperacao(ModoOperacao)

// Exemplo em Delphi
ModoOperacao := ' ';
iRetorno := Bematech_FI_VerificaModoOperacao( ModoOperacao );


Bematech_FI_VerificaRecebimentoNaoFiscal

Retorna os recebimentos não fiscais não vinculados programados na impressora.

compatduas

Parâmetro:

Recebimentos: Variável string com 2200 posições para receber as informações.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- Essa função retorna as informações para os 50 totalizadores não fiscais não vinculados na seguinte ordem:

Valor indicando quantas vezes cada recebimento foi utilizado:  4 bytes
Valor acumulado para cada recebimento (2 casas decimais)....: 20 bytes
Descrição do recebimento....................................: 19 bytes

Exemplo:

000200000000000000005460Conta de água      ,
001500000000000000145850Conta de Luz       ,
000000000000000000000000Carnê              ,
000000000000000000000000                   ,
000000000000000000000000                   ,
000000000000000000000000Iptu               ,
000500000000000000078437Conta de Telefone  ,
.
.
.
000000000000000000000000Prestacao de contas

- A impressora permite programar até 50 totalizadores não fiscais não vinculados, os totalizadores que não estiverem programados estarão com os valores zerados e a descrição em branco (veja exemplo acima).

- Na impressora fiscal YANCO são retornados apenas 8 totalizadores não fiscais não vinculados.

- Nas impressoras fiscais MP-2000 TH FI, MP-6000 TH FI, MP-25 FI e MP-50 FI serão retornados somente 30 recebimentos não fiscais, que é a quantidade permitida, as demais posições serão retornadas com espaços em branco.

' Exemplo em Visual Basic
Recebimento = Space(2200)
iRetorno = Bematech_FI_VerificaRecebimentoNaoFiscal(Recebimento)

// Exemplo em Delphi
for iConta := 1 to 2200 do Recebimento := Recebimento + ' ';
iRetorno := Bematech_FI_VerificaRecebimentoNaoFiscal( Recebimento );


Bematech_FI_VerificaTipoImpressora

Retorna o tipo de impressora.

compatduas

Parâmetro:

TipoImpressora: Variável inteira para receber o tipo da impressora (veja abaixo em "Observações" os valores retornados).

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- O valor do tipo de impressora pode ser:

1 - Impressora fiscal, gaveta, autenticaçao.
2 - Impressora fiscal, gaveta, cutter.
3 - Impressora fiscal, presenter, autenticaçao.
4 - Impressora fiscal, presenter, cutter.
5 - Impressora bilhete de passagem, gaveta, autenticaçao.
6 - Impressora bilhete de passagem, gaveta, cutter.
7 - Impressora bilhete de passagem, presenter, autenticaçao.
8 - Impressora bilhete de passagem, presenter, cutter.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_VerificaTipoImpressora(TipoImpressora)

// Exemplo em Delphi
iRetorno := Bematech_FI_VerificaTipoImpressora( TipoImpressora );


Bematech_FI_VerificaTotalizadoresNaoFiscais

Retorna a descrição dos totalizadores não fiscais programados na impressora.

compatduas

Parâmetro:

Totalizadores: Variável string com 179 posições para receber a descrição dos totalizadores não fiscais programados.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- Os totalizadores virão separados por vírgula.
- A impressora permite a programação de até 50 totalizadores não fiscais, porém essa função retorna somente os 9 primeiros cadastrados.

- Na impressora fiscal YANCO são retornados apenas 8 totalizadores não fiscais.

Exemplo:

' Exemplo em Visual Basic
Totalizadores = Space(179)
iRetorno = Bematech_FI_VerificaTotalizadoresNaoFiscais(Totalizadores)

// Exemplo em Delphi
for iConta := 1 to 179 do Totalizadores := Totalizadores + ' ';
iRetorno := Bematech_FI_VerificaTotalizadoresNaoFiscais( Totalizadores );


Bematech_FI_VerificaTotalizadoresParciais

Retorna os totalizadores parciais cadastrados na impressora com as seguintes informações:

compatduas

Parâmetro:

Totalizadores: Variável string com o tamanho de 445 posições para receber os totalizadores parciais cadastrados.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- São retornadas as seguintes informações separadas por vírgulas:

Totalizadores parciais tributados..........: 224 bytes
Isenção....................................: 14 bytes
Não incidência.............................: 14 bytes
Substitução................................: 14 bytes
Totalizadores parciais não sujeitos ao ICMS: 126 bytes
Sangria....................................: 14 bytes
Suprimento.................................: 14 bytes
Grande Total...............................: 18 bytes

Exemplo:

' Exemplo em Visual Basic
Totalizadores = Space(445)
iRetorno = Bematech_FI_VerificaTotalizadoresParciais(Totalizadores)

// Exemplo em Delphi
for iConta := 1 to 445 do Totalizadores := Totalizadores + ' ';
iRetorno := Bematech_FI_VerificaTotalizadoresParciais( Totalizadores );


Bematech_FI_VerificaTruncamento

Retorna 1 se a impressora estiver no modo truncamento e 0 se estiver no modo arredondamento.

compatduas

Parâmetro:

FlagTruncamento: Variável string com 1 posição para receber o flag de truncamento.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- Na impressora fiscal YANCO, sempre retornará Arredondamento.

Exemplo:

' Exemplo em Visual Basic
FlagTruncamento = " "
iRetorno = Bematech_FI_VerificaTruncamento(FlagTruncamento)

// Exemplo em Delphi
FlagTruncamento := ' ';
iRetorno := Bematech_FI_VerificaTruncamento( FlagTruncamento );


Bematech_FI_VersaoFirmware

Retorna a versão do firmware da impressora.

compatduas

Parâmetro:

VersaoFirmware: Variável string com o tamanho de 4 posições para receber a versão do firmware.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- Na impressora fiscal YANCO são retornados 2 (dois) bytes.
- Nas impressoras fiscais MP-2000 TH FI, MP-6000 TH FI, MP-25 FI e MP-50 FI serão retornados os 4 primeiros caracteres de sua versão de firmware. A versão de firmware nestas impressoras tem o tamanho de 6 caracteres.

Exemplo:

' Exemplo em Visual Basic
VersaoFirmware = Space(4)
iRetorno = Bematech_FI_VersaoFirmware(VersaoFirmware)

// Exemplo em Delphi
for iConta := 1 to 4 do VersaoFirmware := VersaoFirmware + ' ';
iRetorno := Bematech_FI_VersaoFirmware( VersaoFirmware );


Bematech_FI_ProgramaMoedaSingular

Programa o nome da moeda no singular para a impressão de cheques. Ex. (Real)

compatduas

Parâmetro:

MoedaSingular: STRING com o Nome da Moeda no singular com até 19 caracteres.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- Função usada somente na impressora BEMATECH MP-40 FI II e na impressora YANCO 8500.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ProgramaMoedaSingula("Real")

// Exemplo em Delphi
cMoedaSingular := 'Real';
iRetorno := Bematech_FI_ProgramaMoedaSingula( pchar ( cMoedaSingular ) );


Bematech_FI_ProgramaMoedaPlural

Programa o nome da moeda no plural para a impressão de cheques. Ex. (Reais)

compatduas

Parâmetro:

MoedaPlural: STRING com o Nome da moeda no plural com até 22 caracteres.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- Função usada somente na impressora BEMATECH MP-40 FI II ou na YANCO 8500.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ProgramaMoedaPlural("Reais")

// Exemplo em Delphi
cMoedaPlural := 'Reais';
iRetorno := Bematech_FI_ProgramaMoedaPlural( pchar ( cMoedaPlural ) );


Bematech_FI_IncluiCidadeFavorecido

Inclui o nome da cidade e do favorecido no arquivo de configuração BemaFI32.ini.

compatduas

Parâmetros:

Cidade: STRING com o Nome da cidade com até 27 caracteres.
Favorecido: STRING com o Nome do favorecido com até 45 caracteres.

Possíveis retornos da Função (INTEIRO):

1: OK.
-1: Erro de execução da função.
-2: Parâmetro inválido na função.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- Após gravar o nome da cidade e do favorecido no arquivo de configuração não é mais necessário passar essas informações como parâmetros para a função Bematech_FI_ImprimeCheque(), a não ser que seja necessário imprimir uma cidade ou um favorecido diferente aos que estão programados.

- Função usada somente na impressora BEMATECH MP-40 FI II e impressora YANCO 8500.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_IncluiCidadeFavorecido("Londrina", "José")

// Exemplo em Delphi
cCidade     := 'Londrina';
cFavorecido := 'Fulano de Tal';
iRetorno := Bematech_FI_IncluiCidadeFavorecido( pchar ( cCidade ),
                                                pchar( cFavorecido ) );


Bematech_FI_VerificaStatusCheque

Verifica o status do cheque.

compatbematech

Parâmetro:

StatusCheque: Variável inteira para receber o status do cheque (veja abaixo em "Observações" os valores de status).

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observações:

Os valores de status são:

1 – Impressora ok.
2 – Cheque em impressão.
3 – Cheque posicionado.
4 – Aguardando o posicionamento do cheque.

- Função usada somente na impressora MP-40 FI II.

- Na impressora fiscal YANCO, esta verificação não existe.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_VerificaStatusCheque(iStatusCheque)

// Exemplo em Delphi
iRetorno := Bematech_FI_VerificaStatusCheque( iStatusCheque );


Bematech_FI_ImprimeCheque

Imprime cheque na impressora MP-40 FI II Bematech e na impressora YANCO 8500.

compatduas

Parâmetros:

NumeroBanco: STRING com o Número do banco com 3 dígitos.

Valor: STRING com o Valor do cheque com até 14 dígitos.

Favorecido: STRING com o Favorecido com até 45 caracteres.

Cidade: STRING com a Cidade com até 27 caracteres.

Data: STRING com a Data no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.

Mensagem: STRING com o Comentários até 120 caracteres. A mensagem será impressa 1 (uma) linha após a cidade.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-7: Banco não encontrado no arquivo BemaFI32.ini.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- Função usada somente na impressora BEMATECH MP-40 FI II e na impressora YANCO 8500.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ImprimeCheque("353", "50,00", "Bematech S/A", "Curitiba", "10/01/02", "")

// Exemplo em Delphi
cCodBanco := '353';
cValor    := '50,00';
cNominal  := 'Bematech S/A';
cCidade   := 'Curitiba';
cData     := '10/01/02';
cMsg      := '';
iRetorno := Bematech_FI_ImprimeCheque( pchar ( cCodBanco ),
                                       pchar( cValor ),
                                       pchar( cNominal ),
                                       pchar( cCidade ),
                                       pchar( cData ),
                                       pchar( cMsg ) );


Bematech_FI_ImprimeCopiaCheque

Imprime cópia do último cheque impresso.

compatduas

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-7: Banco não encontrado no arquivo BemaFI32.ini.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- Função usada somente na impressora BEMATECH MP-40 FI II e na impressora YANCO 8500.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ImprimeCopiaCheque()

// Exemplo em Delphi
iRetorno := Bematech_FI_ImprimeCopiaCheque();


Bematech_FI_CancelaImpressaoCheque

Cancela a impressão do cheque que está sendo aguardado pela impressora. O cheque que está em impressão não pode ser cancelado.

compatbematech

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observações:

- Função usada somente na impressora MP-40 FI II.
- Na impressora fiscal YANCO, este cancelamento não existe.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CancelaImpressaoCheque()

// Exemplo em Delphi
iRetorno := Bematech_FI_CancelaImpressaoCheque();


Bematech_FIR_RegistraVenda

Faz um registro de venda na mesa informada e cadastra o item no cardápio com o código informado se ele ainda não existir.

Parâmetros:

Mesa: STRING com o número da Mesa até 4 dígitos.

Codigo: STRING com o código do item até 14 dígitos.

Descricao: STRING com a descrição do item até 17 caracteres.

Aliquota: STRING com o valor ou o índice da alíquota tributária. Se for o valor deve ser informado com o tamanho de 4 caracteres ou 5 com a vírgula. Se for o índice da alíquota deve ser 2 caracteres. Ex. (18,00 para o valor ou 05 para o índice).

Quantidade: STRING com até 6 dígitos (são três casas decimais).

ValorUnitario: STRING com até 8 dígitos (são duas casas decimais).

FlagAcrescimoDesconto: "A" para acréscimo ou "D" para desconto.

ValorAcrescimoDesconto: STRING com até 8 dígitos (são duas casas decimais). Se não tiver acréscimo nem desconto use "0" no valor.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro Inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0 (Ack, St1 e St2)

Observação:

- Esta função já cadastra o item no cardápio ao ser enviado para a impressora, não existe mais o camando para enviar cardápio para a impressora. A impressora verifica se o item já está cadastrado se não estiver o item será cadastrado no cardápio.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FIR_RegistraVenda("0001", "123", "Coca-Cola", "17,00", "3", "1,00", "A", "0")

// Exemplo em Delphi
cMesa           := '0001';
cCodigo         := '123';
cDescricao      := 'Coca-Cola';
cAliquota       := '17,00';
cQtde           := '3';
cValor          := '1,00';
cAcresDesc      := 'A';
cValorAcresDesc := '0';

iRetorno := Bematech_FIR_RegistraVenda( pchar ( cMesa ),
                                        pchar( cCodigo ),
                                        pchar( cDescricao ),
                                        pchar( cAliquota ),
                                        pchar( cQtde ),
                                        pchar( cValor ),
                                        pchar( cAcresDesc ),
                                        pchar( cValorAcresDesc ) );


Bematech_FIR_CancelaVenda

Essa função cancela um registro de venda da mesa informada.

Parâmetros:

Mesa: STRING com o número da Mesa até 4 dígitos.

Codigo: STRING com o código do item até 14 dígitos.

Descricao: STRING com a descrição do item até 17 caracteres.

Aliquota: STRING com o valor ou o índice da alíquota tributária. Se for o valor deve ser informado com o tamanho de 4 caracteres ou 5 com a vírgula. Se for o índice da alíquota deve ser 2 caracteres. Ex. (18,00 para o valor ou 05 para o índice).

Quantidade: STRING com até 6 dígitos (são três casas decimais).

ValorUnitario: STRING com até 8 dígitos (são duas casas decimais).

FlagAcrescimoDesconto: "A" para acréscimo ou "D" para desconto.

ValorAcrescimoDesconto: STRING com até 8 dígitos (são duas casas decimais). Se não tiver acréscimo nem desconto use "0" no valor.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro Inválido.
-27 - Status da impressora diferente de 6,0,0 (Ack, St1 e St2)

Observação:

- O cancelamento será executado somente se houver um item registrado nessa mesa e se a quantidade cancelada não exeder a quantidade registrada.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FIR_CancelaVenda("0001", "123", "Coca-Cola", "17,00" ,"3", "1,00", "A", "0")

// Exemplo em Delphi
cMesa           := '0001';
cCodigo         := '123';
cDescricao      := 'Coca-Cola';
cAliquota       := '17,00';
cQtde           := '3';
cValor          := '1,00';
cAcresDesc      := 'A';
cValorAcresDesc := '0';

iRetorno := Bematech_FIR_CancelaVenda( pchar ( cMesa ),
                                       pchar( cCodigo ),
                                       pchar( cDescricao ),
                                       pchar( cAliquota ),
                                       pchar( cQtde ),
                                       pchar( cValor ),
                                       pchar( cAcresDesc ),
                                       pchar( cValorAcresDesc ) );


Bematech_FIR_AbreConferenciaMesa

Abre o cupom de conferência de mesa e imprime os itens registrados nessa mesa. Essa função mantém o cupom de conferência aberto permitindo registrar outros itens na mesa. Só são permitidos registros com o mesmo número da mesa a qual foi aberta o cupom de conferência.

Parâmetro:

Mesa: STRING com o número da Mesa com até 4 dígitos.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro Inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0 (Ack, St1 e St2)

Observação:

- Use a função Bematech_FIR_FechaConferenciaMesa() para fechar o cupom de conferência de mesa.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FIR_AbreConferenciaMesa("0005")

// Exemplo em Delphi
cMesa := '0005';
iRetorno := Bematech_FIR_AbreConferenciaMesa( pchar ( cMesa ) );


Bematech_FIR_FechaConferenciaMesa

Fecha o cupom de conferência de mesa. Essa função permite incluir um acréscimo ou desconto sobre o valor total vendido na mesa.

Parâmetros:

FlagAcrescimoDesconto: "A" para acréscimo ou "D" para desconto.
TipoAcrescimoDesconto: "$" para acréscimo ou desconto por valor e "%" para percentual.
ValorAcrescimoDesconto: STRING com no máximo 14 dígitos para acréscimo ou desconto por valor e 4 dígitos para acréscimo ou desconto por percentual (são duas casas decimais).

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro Inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0 (Ack, St1 e St2)

Observação:

- A função somente será executada se o cupom de conferência estiver aberto.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FIR_FechaConferenciaMesa("A", "%", "1000")

// Exemplo em Delphi
cAcresDesc     := 'A';
cTipoAcresDesc := '%';
cValor         := '1000';
iRetorno := Bematech_FIR_FechaConferenciaMesa( pchar ( cAcresDesc ),
                                               pchar( cTipoAcresDesc ),
                                               pchar( cValor ) );


Bematech_FIR_ConferenciaMesa

Emite um cupom de conferência de mesa. Essa função reúne as funções Bematech_FIR_AbreConferenciaMesa e Bematech_FIR_FechaConferenciaMesa. Ela abre e fecha o cupom de conferência não permitindo registrar produtos nesse cupom de conferência.

Parâmetros:

Mesa: STRING com o número da Mesa com até 4 dígitos.

FlagAcrescimoDesconto: "A" para acréscimo e "D" para desconto.

TipoAcrescimoDesconto: "$" para acréscimo ou desconto por valor e "%" para percentual.

ValorAcrescimoDesconto: STRING com no máximo 14 dígitos para acréscimo ou desconto por valor e 4 dígitos para acréscimo ou desconto por percentual (são duas casas decimais).

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro Inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0 (Ack, St1 e St2)

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FIR_ConferenciaMesa("0001", "A", "%", "1000")

// Exemplo em Delphi
cMesa          := '0001';
cAcresDesc     := 'A';
cTipoAcresDesc := '%';
cValor         := '1000';
iRetorno := Bematech_FIR_ConferenciaMesa( pchar ( cMesa ),
                                          pchar( cAcresDesc ),
                                          pchar( cTipoAcresDesc ),
                                          pchar( cValor ) );


Bematech_FIR_TransferenciaMesa

Faz a transferência dos registros de venda da mesa de origem para a mesa de destino, se a mesa de destino já tiver itens registrados os registros serão acrescentados.

Parâmetros:

MesaOrigem: STRING com o código da Mesa de origem com até 4 dígitos.
MesaDestino: STRING com o código da Mesa de destino com até 4 dígitos.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro Inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0 (Ack, St1 e St2)

Observação:

- Se a mesa de origem não existir o camando não será executado.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FIR_TransferenciaMesa("0001", "0005")

// Exemplo em Delphi
cMesaOrigem  := '0001';
cMesaDestino := '0005';
iRetorno := Bematech_FIR_TransferenciaMesa( pchar ( cMesaOrigem),
                                            pchar( cMesaDestino ) );


Bematech_FIR_TransferenciaItem

Permite a transferência parcial ou total dos itens registrados em uma mesa para outra.

Parâmetros:

MesaOrigem: STRING com o número da Mesa de origem com até 4 dígitos.

Codigo: STRING com o código do item com até 14 dígitos.

Descricao: STRING com a Descrição do item com até 17 caracteres.

Aliquota: STRING com o valor ou o índice da alíquota tributária. Se for o valor deve ser informado com o tamanho de 4 caracteres ou 5 com a vírgula. Se for o índice da alíquota deve ser 2 caracteres. Ex. (18,00 para o valor ou 05 para o índice ).

Quantidade: STRING com até 6 dígitos (são três casas decimais).

ValorUnitario: STRING com até 8 dígitos (são duas casas decimais).

FlagAcrescimoDesconto: "A" para acréscimo e "D" para desconto.

ValorAcrescimoDesconto: STRING com até 8 dígitos (são duas casas decimais). Se não tiver acréscimo nem desconto use "0" no valor.

MesaDestino: STRING com o número da Mesa de destino com até 4 dígitos.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro Inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0 (Ack, St1 e St2)

Observação:

- Esta função já cadastra o item no cardápio ao ser enviado para a impressora, não existe mais o camando para enviar cardápio para a impressora. A impressora verifica se o item já está cadastrado se não estiver o item será cadastrado no cardápio.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FIR_TransferenciaItem("0001", "123", "Coca-Cola", "17,00", "1", "1,00", "A", "0", "0003")

// Exemplo em Delphi
cMesaOrigem     := '0001';
cCodigo         := '123';
cDescricao      := 'Coca-Cola';
cAliquota       := '17,00';
cQtde           := '1';
cValor          := '1,00';
cAcresDesc      := 'A';
cValorAcresDesc := '0';
cMesaDestino    := '0003';
iRetorno := Bematech_FIR_TransferenciaItem( pchar ( cMesaOrigem ),
                                            pchar( cCodigo ),
                                            pchar( cDescricao ),
                                            pchar( cAliquota ),
                                            pchar( cQtde ),
                                            pchar( cValor ),
                                            pchar( cAcresDesc ),
                                            pchar( cValorAcresDesc ),
                                            pchar( cMesaDestino ) );


Bematech_FIR_AbreCupomRestaurante

Abre o cupom fiscal na impressora restaurante e imprime os itens registrados na mesa. Se a mesa for "0000", abre o cupom e aguarda a venda dos itens.

Parâmetros:

Mesa: STRING com o número da Mesa com até 4 dígitos.
CPF: STRING com até 29 caracteres.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro Inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0 (Ack, St1 e St2)

Observação:

- A mesa "0000" pode ser usada para efetuar venda no balcão, de maneira que ao abrir uma mesa com esse número a impressora não busca registros vendidos nessa mesa e sim abre o cabeçalho do cupom fiscal e espera o registro de uma venda no balcão.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FIR_AbreCupomRestaurante("0001", "")

// Exemplo em Delphi
cMesa := '0001';
iRetorno := Bematech_FIR_AbreCupomRestaurante( pchar ( cMesa ),
                                               pchar( '' ) );


Bematech_FIR_FechaCupomRestaurante

Fecha o cupom fiscal na impressora restaurante com acréscimo ou desconto, usando apenas uma forma de pagamento.

Parâmetros:

FormaPagamento: STRING com o nome da forma de pagamento com no máximo 16 caracteres.

AcrescimoDesconto: Indica se haverá acréscimo ou desconto no cupom. "A" para acréscimo ou "D" para desconto.

TipoAcrescimoDesconto: Indica se o acréscimo ou desconto é por valor ou por percentual. "$" para desconto por valor ou "%" para percentual.

ValorAcrescimoDesconto: STRING com no máximo 14 dígitos para acréscimo ou desconto por valor e 4 dígitos para acréscimo ou desconto por percentual.

ValorPago: STRING com o Valor pago com no máximo 14 dígitos.

Mensagem: STRING com a Mensagem promocional com até 490 caracteres.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0 (Ack, St1 e St2)

Observações:

- O cupom deve estar aberto.
- Pelo menos 1 (um) item deve ter sido vendido e não pode ter sido cancelado.
- A utilização dessa função elimina a obrigatoriedade de uso das funções Bematech_FI_IniciaFechamentoCupom, Bematech_FI_EfetuaFormaPagamento e Bematech_FI_TerminaFechamentoCupom que estão implementadas internamente na função. Para fechar o cupom usando mais de uma forma de pagamento você deve usar as mesmas funções usadas na impressora fiscal normal: Bematech_FI_IniciaFechamentoCupom para iniciar o fechamento do cupom, a Bematech_FI_EfetuaFormaPagamento várias vezes até usar todas as formas e a Bematech_FI_TerminaFechamentoCupom para fechar o cupom fiscal.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FIR_FechaCupomRestaurante("Dinheiro", "A", "$", "0000", "35,00", "Obrigado, volte sempre !!!")

// Exemplo em Delphi
cFormaPgto      := 'Dinheiro';
cAcresDesc      := 'A';
cTipoAcresDesc  := '%';
cValorAcresDesc := '0000';
cValorPago      := '35,00';
cMsgPromocional := 'Obrigado, volte sempre !!!';

iRetorno := Bematech_FIR_FechaCupomRestaurante( pchar ( cFormaPgto ),
                                                pchar( cAcresDesc ),
                                                pchar( cTipoAcresDesc ),
                                                pchar( cValorAcresDesc ),
                                                pchar( cValorPago ),
                                                pchar( cMsgPromocional ) );


Bematech_FIR_FechaCupomResumidoRestaurante

Permite fechar o cupom de forma resumida, ou seja, sem acréscimo ou desconto no cupom e com apenas uma forma de pagamento. Essa função lê o subtotal do cupom para fechá-lo.

Parâmetros:

FormaPagamento: STRING com a Forma de pagamento com no máximo 16 caracteres.
Mensagem: STRING com a Mensagem promocional com até 490 caracteres.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0 (Ack, St1 e St2)

Observações:

- O cupom deve estar aberto.
- Pelo menos 1 (um) item deve ter sido vendido e não pode ter sido cancelado.
A utilização dessa função elimina a obrigatoriedade de uso das funções Bematech_FI_IniciaFechamentoCupom, Bematech_FI_EfetuaFormaPagamento e Bematech_FI_TerminaFechamentoCupom que estão implementadas internamente na função.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FIR_FechaCupomResumidoRestaurante("Cheque", "Obrigado, volte sempre !!!")

// Exemplo em Delphi
cFormaPgto      := 'Cheque';
cMsgPromocional := 'Obrigado, volte sempre !!!';
iRetorno := Bematech_FIR_FechaCupomResumidoRestaurante( pchar ( cFormaPgto ),
                                                        pchar( cMsgPromocional ) );


Bematech_FIR_ContaDividida

Permite que a conta seja dividida por todos os clientes. Essa função termina o fechamento do cupom fiscal e imprime um cupom para cada cliente.

Parâmetros:

NumeroCupons: STRING com até 2 dígitos com o número de cupons em que a conta será divida. O número mínimo de cupons é 2 e o máximo é 20.

ValorPagoCliente: STRING com os valores pagos por cada cliente. Os valores devem ter no máximo 14 dígitos e serem separados por ponto e vírgula ";". Ex.: 10,00; 5,00

CPF: STRING com o CPF dos clientes. Os CPF's devem ter no máximo 29 caracteres e serem separados por ponto e vírgula ";".

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro Inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0 (Ack, St1 e St2)

Observações:

- Para executar essa função você deve iniciar o fechamento do cupom fiscal usando a função Bematech_FI_IniciaFechamentoCupom() e efetuar as formas de pagamento usando a função Bematech_FI_EfetuaFormaPagamento.
- O fechamento do cupom só será executado caso a soma dos valores passados no parâmetro "ValorPagoCliente" seja exatamente igual ao total do Cupom Fiscal.
- As formas de pagamento aparecerão somente no primeiro cupom fiscal. Ao término do primeiro cupom será feita a emissão dos demais automaticamente.
- Todos os documentos fracionados terão o mesmo COO, o que os diferencia é a informação do número da via do cupom ao lado da inscrição "CUPOM FISCAL". Exemplo: "CUPOM FISCAL 2ª VIA".
- O parâmetro CPF dessa função é opcional e é utilizado a partir do segundo cliente. Para utiliza-lo você, obrigatoriamente, deve informar o CPF para o primeiro cliente, caso contrário a dll irá ignorar o(s) CPF(s) informado(s)s e não irá imprimi-lo(s). Se você quiser usar o CPF por exemplo, para o cliente dois e não quiser usar no cliente 1 você deve passar espaço em branco no parâmetro CPF da função Bematech_FIR_AbreCupomRestaurante.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FIR_ContaDividida("3", "10,00;10,00;10,00", "")

// Exemplo em Delphi
cQuantosCupons := '3';
cValorPago     := '10,00;10,00;10,00';
iRetorno := Bematech_FIR_ContaDividida( pchar ( cQuantosCupons ),
                                        pchar( cValorPago ),
                                        pchar( '' ) );


Bematech_FIR_FechaCupomContaDividida

Essa função permite fechar o cupom fiscal com formas de pagamento e permite dividir a conta por todos os clientes.

Parâmetros:

NumeroCupons: STRING com até 2 dígitos com o número de cupons em que a conta será divida. O número mínimo de cupons é 2 e o máximo é 20.

AcrescimoDesconto: Indica se haverá acréscimo ou desconto no cupom. "A" para acréscimo ou "D" para desconto.

TipoAcrescimoDesconto: Indica se o acréscimo ou desconto é por valor ou por percentual. "$" para desconto por valor ou "%" para percentual.

ValorAcrescimoDesconto: STRING com no máximo 14 dígitos para acréscimo ou desconto por valor e 4 dígitos para acréscimo ou desconto percentual.

FormaPagamento: STRING com as formas de pagamento. As formas devem ser separadas por ponto e vírgula (";") se for utilizada mais de uma, e deve ter no máximo 16 caracteres cada. Ex: Dinheiro;Cartão. É permitido a utilização de até 20 formas.

ValorFormaPagamento: STRING com os valores das formas de pagamento. Os valores devem ter no máximo 14 dígitos e serem separados por ponto e vírgula ";".

ValorPagoCliente: STRING com os valores pagos por cada cliente. Obedecem à mesma situação acima.

CPF: STRING com o CPF dos clientes. Os CPF's devem ter no máximo 29 caracteres e serem separados por ponto e vírgula ";".

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro Inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0 (Ack, St1 e St2)

Observações:

- O fechamento do cupom somente será executado caso a soma dos valores passados no parâmetro "ValorPagoCliente" seja exatamente igual ao total do Cupom Fiscal.
- O número de formas de pagamento e a quantidade de valores devem ser idênticos, caso contrário a dll retornará "Parâmetro Inválido".
- Se a conta deu R$ 10,00 reais e for dividida em dois clientes cada um pagando com uma forma de pagamento diferente, onde o primeiro pagará R$ 4,00 e o segundo R$ 6,00, deverá ser informado no parâmetro "FormaPagamento" as duas formas, os valores deverão ser informados no parâmetro "ValorFormaPagamento".
- Poderá ser informado uma única forma de pagamento com o valor total do Cupom Fiscal e dividí-la entre os clientes que irão pagar. Por exemplo: se a conta deu R$ 50,00 reais e todos irão pagar em Dinheiro, informe somente a forma de pagamento "Dinheiro" com o valor e em seguida faça a divisão da conta entre os clientes.
- As formas de pagamento aparecerão somente no primeiro cupom fiscal. Ao término do primeiro cupom será feita a emissão dos seguintes automaticamente.
- O cancelamento do cupom em emissão bloqueará a emissão dos demais.
- Todos os documentos fracionados terão o mesmo COO sendo que, o que os diferencia é a informação do número da via do cupom ao lado da inscrição "CUPOM FISCAL". Exemplo: "CUPOM FISCAL 2ª VIA"
- O parâmetro CPF dessa função é opcional e é utilizado a partir do segundo cliente. Para utiliza-lo você, obrigatoriamente, deve informar o CPF para o primeiro cliente, caso contrário a dll irá ignorar o(s) CPF(s) informado(s)s e não irá imprimi-lo(s). Se você quiser usar o CPF por exemplo para o cliente dois e não quiser usar no cliente 1 você deve passar espaço em branco no parâmetro CPF da função Bematech_FIR_AbreCupomRestaurante.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FIR_FechaCupomContaDividida("3", "A", "%", "1000", "Dinheiro;Dinheiro;Cheque", "10,00;10,00;10,00", "10,00;10,00;10,00", "")

// Exemplo em Delphi
cQuantosCupons    := '3';
cAcresDesc        := 'A';
cTipoAcresDesc    := '%';
cValorAcresDesc   := '1000';
cFormaPgto        := 'Dinheiro;Dinheiro;Cheque';
cValorFormaPgto   := '10,00;10,00;10,00';
cValorPagoCliente := '10,00;10,00;10,00';
iRetorno := Bematech_FIR_ContaDividida( pchar ( cQuantosCupons ),
                                        pchar( cAcresDesc ),
                                        pchar( cTipoAcresDesc ),
                                        pchar( cValorAcresDesc ),
                                        pchar( cFormaPgto ),
                                        pchar( cValorFormaPgto ),
                                        pchar( cValorPagoCliente ),
                                        pchar( '' ) );


Bematech_FIR_RelatorioMesasAbertas

Imprime um relatório das mesas que estão abertas.

Parâmetro:

TipoRelatorio: INTEIRO, onde: 0 para relatorio parcial ou 1 para relatório completo.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro Inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0 (Ack, St1 e St2)

Observações:

- No relatório parcial, para cada registro de venda será impresso apenas uma linha com as seguintes informações:

MESA   CÓDIGO   QTDE   REG/CAN   ACR/DES

- No relatório completo, além das informações anteriores, será impresso para cada registro mais uma linha com as seguintes informações:

DESCRIÇÃO   VLR UNIT   VLR ACR/DES

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FIR_RelatorioMesasAbertas(1)

// Exemplo em Delphi
iRetorno := Bematech_FIR_RelatorioMesasAbertas( 1 );


Bematech_FIR_RelatorioMesasAbertasSerial

Retorna, pela porta serial da impressora, o relatório das mesas que estão abertas.

Parâmetro:

Não há.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0 (Ack, St1 e St2)

Observação:

- Essa função retorna o relatório completo no arquivo "RETORNO.TXT" no diretório espacificado no arquivo ini (veja o tópico "Arquivo de Configuração BemaFI32.ini para maiores informações".

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FIR_RelatorioMesasAbertasSerial()

// Exemplo em Delphi
iRetorno := Bematech_FIR_RelatorioMesasAbertasSerial();


Bematech_FIR_ImprimeCardapio

Imprime os itens do cardápio com as seguintes informações: Código, Descrição, Alíquota e Quantidade.

Parâmetro:

Não há.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0 (Ack, St1 e St2)

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FIR_ImprimeCardapio()

// Exemplo em Delphi
iRetorno := Bematech_FIR_ImprimeCardapio();


Bematech_FIR_CardapioPelaSerial

Retorna os itens do cardápio pela serial com as seguintes informações: Código, Descrição, Alíquota e Quantidade.

Parâmetro:

Não há.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0 (Ack, St1 e St2)

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FIR_CardapioPelaSerial()

// Exemplo em Delphi
iRetorno := Bematech_FIR_CardapioPelaSerial();


Bematech_FIR_RegistroVendaSerial

Retorna os registros de venda da mesa pela porta serial.

Parâmetro:

Mesa: STRING com o número da Mesa com até 4 dígitos.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0 (Ack, St1 e St2)

Observações:

- Essa função retorna as informações dos registros de venda no seguinte formato:

Mesa.............................................................:  4 bytes
Valor unitário...................................................:  8 bytes
Flag de acréscimo ou desconto ("A" - acréscimo "D" - desconto)...:  1 byte
Valor do acréscimo/desconto......................................:  8 bytes
Quantidade.......................................................:  6 bytes
Código...........................................................: 14 bytes
Descrição........................................................: 17 bytes
Alíquota.........................................................:  2 bytes
Flag de registro/cancelamento ("R" – registro "C" - cancelamento):  1 byte

Será retornada a posição onde foi gravada a alíquota, iniciando em "00". Por exemplo:

- para a alíquota T01 será retornada a posição "00";
- para a alíquota T02 será retornada a posição "01";
- para a alíquota T03 será retornada a posição "02";

e, assim, sucessivamente.

- para a alíquota de Isenção (II) será retornada a posição "16";
- para a alíquota de Substituição Tributária (FF) será retornada a posição "17" e;
- para a alíquota de Não Incidência (NN) será retornada a posição "18".

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FIR_RegistroVendaSerial("0001")

// Exemplo em Delphi
cMesa := '0001';
iRetorno := Bematech_FIR_RegistroVendaSerial( pchar ( cMesa ) );


Bematech_FIR_VerificaMemoriaLivre

Retorna a quantidade de bytes livres na memória da impressora para registros de venda ou itens de cardápio.

Parâmetro:

Bytes: Variável string com o tamanho de 6 posições para o valor correspondente ao bytes de memória livres.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0 (Ack, St1 e St2)

Exemplo:

' Exemplo em Visual Basic
Bytes = Space(6)
iRetorno = Bematech_FI_VerificaMemoriaLivre(Bytes)

// Exemplo em Delphi
for iConta := 1 to 6 do Bytes := Bytes + ' ';
iRetorno := Bematech_FI_VerificaMemoriaLivre( Bytes );


Bematech_FI_IniciaModoTEF

Esta função trava o teclado e o mouse, nas operações de TEF.

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

1: OK.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_IniciaModoTEF()

// Exemplo em Delphi
iRetorno := Bematech_FI_IniciaModoTEF();


Bematech_FI_UsaComprovanteNaoFiscalVinculadoTEF

Imprime o comprovante não fiscal vinculado travando e destravando automaticamente o teclado e o mouse. Esta função pode ser utlizada para a impressão do texto da transação TEF. Não é necessário usar nenhuma outra função ou API do Windows para travar o teclado e o mouse.

compatduas

Parâmetro:

Texto: STRING com o Texto a ser impresso no comprovante não fiscal vinculado com até 618 caracteres.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- Na impressora fiscal BEMATECH, só pode ser usado durante 2 (dois) minutos após a abertura do comprovante não fiscal vinculado. Se esse tempo for ultrapassado o comprovante é fechado automaticamente.

- Antes de executar a função Bematech_FI_UsaComprovanteNaoFiscalVinculadoTEF, você deverá abrir o comprovante não-fiscal vinculado através da função Bematech_FI_AbreComprovanteNaoFiscalVinculado.

- Após a impressão do texto no comprovante não-fiscal vinculado, use a função Bematech_FI_FechaComprovanteNaoFiscalVinculado para fechá-lo.

- Na impressora fiscal YANCO, não tem limite de tempo, para o fechamento do comprovante.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_UsaComprovanteNaoFiscalVinculadoTEF("Digite o texto a ser impresso aqui !!!")

// Exemplo em Delphi
cLinha := 'Entre com o texto a ser impresso aqui !!!';
iRetorno := Bematech_FI_UsaComprovanteNaoFiscalVinculadoTEF( pchar ( cLinha ) );


Bematech_FI_RelatorioGerencialTEF

Imprime o relatório gerencial travando e destravando automaticamente o teclado e o mouse. Esta função pode ser utlizada para a impressão do texto da transação TEF. Não é necessário usar nenhuma outra função ou API do Windows para travar o teclado e o mouse.

compatduas

Parâmetro:

Texto: STRING com o Texto a ser impresso no relatório com até 618 caracteres.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- O cupom fiscal deve estar fechado.

- Se qualquer função diferente da Bematech_FI_RelatorioGerencialTEF for chamada com o relatorio aberto, efetuará seu fechamento automaticamente.

- Para fechar o relatório gerencial use a função Bematech_FI_FechaRelatorioGerencial.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_RelatorioGerencialTEF("Digite o texto a ser impresso aqui !!!")

// Exemplo em Delphi
cLinha := 'Entre com o texto a ser impresso aqui !!!';
iRetorno := Bematech_FI_RelatorioGerencialTEF( pchar ( cLinha ) );


Bematech_FI_FinalizaModoTEF

Esta função destrava o teclado e o mouse, nas operações de TEF.

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

1: OK.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_FinalizaModoTEF()

// Exemplo em Delphi
iRetorno := Bematech_FI_FinalizaModoTEF();


Bematech_FI_AberturaDoDia

Faz a abertura do caixa emitindo um suprimento e uma leitura X. Essa função grava o COO inicial e o Grande Total inicial que serão usados na função Bematech_FI_RelatorioTipo60Mestre. Portanto, se você for emitir o relatório "tipo 60 mestre" é obrigatório o uso dessa função.

compatduas

Parâmetros:

Valor: STRING com o Valor do suprimento com até 14 dígitos (2 casas decimais). Informe o valor "0" para não fazer suprimento.

FormaPagamento: STRING com a Forma de pagamento com até 16 caracteres. Se não for informado, o suprimento será feito em Dinheiro.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AberturaDoDia("50,00", "Dinheiro")

// Exemplo em Delphi
cValor     := '50,00';
cFormaPgto := 'Dinheiro';
iRetorno := Bematech_FI_AberturaDoDia( pchar ( cValor ),
                                       pchar( cFormaPgto ) );


Bematech_FI_AbreBilhetePassagem

Abre o cupom na impressora bilhete de passagem.

compatbematech

Parâmetros:

ImprimeValorFinal: "1" - Imprime o valor pago no final do cupom. "0" - Não Imprime o valor pago no final do cupom.

ImprimeEnfatizado: "1" - Imprime as informações "EMBARQUE, POLTRONA e PLATAFORMA" enfatizadas. "0" - Não Imprime as informações enfatizadas (negrito).

Embarque: STRING com até 40 caracteres com o local de embarque.

Destino: STRING com até 40 caracteres com o local de destino.

Linha: STRING com até 40 caracteres com o nome da linha (Ex. Curitiba x São Paulo - Executivo).

Prefixo: STRING com até 40 caracteres.

Agente: STRING com até 40 caracteres com o nome do agente.

Agencia: STRING com até 40 caracteres com o nome da agência.

Data: STRING com a data de embarque no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.

Hora: STIRNG com a hora do embarque no formato hhmmss ou hh:mm:ss.

Poltrona: STRING com até 2 caracteres com o número da poltrona.

Plataforma: STRING com até 3 caracteres com o número da plataforma.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observações:

Para o registro de itens, utilize a função Bematech_FI_VendeItem(), porém valem algumas observações:

- Os campos de código e descrição devem ser informados, porém não serão impressos;
- É obrigatório pelo convênio SINIEF 06/89 no mínimo o registro da tarifa (num totalizador tributado) e do seguro (no totalizador não incidência).

O canhoto do motorista somente será impresso se a emissão do cupom adicional for ativada durante a lacração da impressora.

- Na impressora fiscal YANCO, este comando não existe.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AbreBilhetePassagem("1", "1", "Curitiba", "São Paulo", "Leito", "123", "Carlos", "Itapemirim", "11/01/02", "23:30:00", "15", "D10")

// Exemplo em Delphi
cImprimeValorFinal := '1';
cImprimeEnfatizado := '1';
Embarque           := 'Curitiba';
Destino            := 'São Paulo';
Linha              := 'Leito';
Prefixo            := '123';
Agente             := 'Carlos';
Agencia            := 'Itapemirim';
Data               := '11/01/02';
Hora               := '23:30:00';
Poltrona           := '15';
Plataforma         := 'D10';
iRetorno := Bematech_FI_AbreBilhetePassagem( pchar ( '1' ),
                                             pchar( '1' ),
                                             pchar( 'Curitiba' ),
                                             pchar( 'São Paulo' ),
                                             pchar( 'Leito' ),
                                             pchar( '123' ),
                                             pchar( 'Carlos' ),
                                             pchar( 'Itapemirim' ),
                                             pchar( '11/01/02' ),
                                             pchar( '23:30:00' ),
                                             pchar( '15' ),
                                             pchar( 'D10' ) );


Bematech_FI_ContadoBilhetePassagem

Bematech_FI_ContadorBilhetePassagem

Retorna o número de bilhetes de passagem emitidos.

compatbematech

Parâmetro:

NumeroBilhetes: Variável string com 6 posições para receber o número de passagens emitidas.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observação:

- A impressora fiscal YANCO não possui este tipo de contador.

Exemplo:

' Exemplo em Visual Basic
NumeroBilhetes = Space(6)
iRetorno = Bematech_FI_ContadorBilhetePassagem(NumeroBilhetes)

// Exemplo em Delphi
for iConta := 1 to 6 do NumeroBilhetes := NumeroBilhetes + ' ';
iRetorno := Bematech_FI_ContadorBilhetePassagem( NumeroBilhetes );


Bematech_FI_AbrePortaSerial

Abre a porta serial para comunicação entre a impressora e o micro.

compatduas

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.

Observação:

- A função lê o nome da porta a ser aberta no arquivo BemaFI32.ini. Se o parâmetro "porta" estiver configurado com a palavra "Default" a função localiza onde a impressora está conectada e configura o arquivo INI.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AbrePortaSerial()

// Exemplo em Delphi
iRetorno := Bematech_FI_AbrePortaSerial();


Bematech_FI_DadosSintegra

Esta função retorna informações da memória fiscal utilizadas na geração do relatório Sintegra.

compatduas

Parâmetros:

DataInicial: STRING com a Data inicial no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.
DataFinal: STRING com a Data final no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.

O retorno das informações geradas por esta função, serão gravadas no arquivo RETORNO.TXT, na seguinte ordem:

Data | : 8 bytes com o formato AAAAMMDD (esta data refere-se a data em que a Redução Z foi emitida);
Número de Serie | : 20 bytes;
Número Sequencial do ECF | : 3 bytes;
Contador de Redução Z | : 6 bytes;
Cont. de Reinício de Operação | : 6 bytes;
GT Final | : 16 bytes;
GT Inicial | : 16 bytes;
Venda Bruta | : 16 bytes;
Venda Líquida | : 16 bytes;
Cancelamentos | : 12 bytes;
Descontos | : 12 bytes;
F (Substituição Tributária) | : 12 bytes;
I (Isenção) | : 12 bytes;
N (Não Incidência) | : 12 bytes;
ISS | : 12 bytes;
Situação Tributária de ICMS | : 4 bytes e;
Valor acumulado na Situação Tributária | : 12 bytes.

Observações:

- Os campos "Situação Tributária de ICMS" e "Valor acumulado na Situação Tributária" poderão ser repetidos de acordo com o número de alíquotas utilizadas nas vendas.

- Os campos já estão formatados no tamanho que o relatório do Sintegra exige.

- Esta função deve ser utilizada nas impressoras fiscais matriciais (MP-20 FI II e MP-40 FI II). Para as impressoras fiscais térmicas com MFD (Memória de Fita Detalhe), utilize a função Bematech_FI_RelatorioSintegraMFD.

- Cada linha do arquivo RETORNO.TXT corresponde a um dia de movimento na impressora.

Exemplo do conteúdo do arquivo RETORNO.TXT:

20040129470800057185001470043000000001443234300000000144205870000000000011756000000000000539300000000356400000000000000000000099500000000075000000000005000000000279917000000000018101200000000001788

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_DadosSintegra("010104", "310104")

// Exemplo em Delphi
DataInicial := '010104';
DataFinal   := '310104';
iRetorno    := Bematech_FI_DadosSintegra( pchar ( DataInicial ),
                                          pchar( DataFinal ) );


Bematech_FI_FechamentoDoDia

Faz o fechamento do dia emitindo uma Redução Z. Essa função grava o COO final e o Grande Total final que serão usados na função Bematech_FI_RelatorioTipo60Mestre.

compatduas

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_FechamentoDoDia()

// Exemplo em Delphi
iRetorno := Bematech_FI_FechamentoDoDia();


Bematech_FI_FechaPortaSerial

Fecha a porta serial.

compatduas

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

1: OK.
-9: Erro ao fechar a porta.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_FechaPortaSerial()

// Exemplo em Delphi
iRetorno := Bematech_FI_FechaPortaSerial();


Bematech_FI_FechaRelatorioXouZ

Esta função realiza o fechamento do Relatório X ou do Relatório Z, quando o mesmo estiver aberto e não finalizado.

compatyanco

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_FechaRelatorioXouZ()

// Exemplo em Delphi
iRetorno := Bematech_FI_FechaRelatorioXouZ();


Bematech_FI_ImpressaoCarne

Imprime um carnê de pagamento.

compatduas

Parâmetros:

Titulo: STRING com o titulo para o carnê, impresso centralizado e expandido em cada parcela. Limitado em 20 caracteres.

Parcelas: STRING com o(s) valor(es) de cada parcela, separadas por ';' (ponto virgula), com duas casas decimais obrigatóriamente. Formatos válidos: "23,23;1.200,00" ou "2323;120000". Ver observações abaixo.

Datas: STRING com a(s) data(s) de vencimento das parcelas separadas por ';'. Formato válidos: "10/10/2003;10112003; ". Ver
observações abaixo.

Quantidade: INTEGER com a quantidade de Parcelas. Deve ser diferente de zero.

Texto: STRING com o texto livre com até 200 caracteres.

Cliente: STRING com o nome do cliente com até 30 caracteres.

RG_CPF: STRING com o número do RG/CPF do cliente. Pode ser nulo ou vazio.

Cupom: STRING com o COO do Cupom Fiscal com 6 caracteres.

Vias: INTEGER com a quantidade de Vias. (1 ou 2 apenas).

Assina: INTEGER para habilitar ou não a assinatura do cliente, onde:
1: Habilita a impressão de uma linha tracejada para a assinatura do cliente.
0: Não habilita a impressão da linha tracejada para a assinatura do cliente.

Possíveis retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-1 - Erro de execução.
-2 - Erro de parâmetros.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Obsevações:

- Para o parâmetro Parcelas, quando passado um número menor de parcelas na string do que passado no parâmetro quantidade, o valor das parcelas não passadas será iguado ao último valor válido na string. Por exemplo, caso seja passado "20,00;12000;340" em parcelas e 6 em quantidade, o valor de cada parcela será impresso da seguinte forma, respectivamente: R$ 20,00 ... R$ 120,00 ... R$ 3,40 ... R$ 3,40 ... R$ 3,40 ... R$ 3,40. Caso o valor passado em quantidade sema menor do que o número de parcelas encontradas em parcelas, a função retorna erro de parâmetros.

- Para o parâmetro Datas, quando passado um número menor de datas do que passado no parâmetro quantidade, as datas ausentes serão calculadas e impressas com acréscimo de um mês, a partir da última data válida. Por exemplo, caso seja passado "20/09/1999;31/12/1999" no parâmetro datas e 5 no parâmetro quantidade, serão impressas no carnê as seguinte datas, respectivamente: 20/09/1999 ... 31/12/1999 ... 31/01/2000 ... 29/02/2000 (ano bissexto) ... 31/03/2000.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ImpressaoCarne("Carne de Pgto", "10,00;10,00;10,00", "30/06/03;30/07/03;30/08/03", 3, "Texto a ser impresso no carnê", "Fulano de Tal", "1234567890-12345", "000257", 1, 0)

// Exemplo em Delphi
cTitulo       := 'Carne de Pgto';
cValorParcela := '10,00;10,00;10,00';
cData         := '30/06/03;30/07/03;30/08/03';
iQtdeParcela  := 3;
cTexto        := 'Texto a ser impresso no carnê';
cCliente      := 'Fulano de Tal';
cRGC          := '1234567890-12345';
cCOOCupom     := '000257';
cVia          := 1;
cAssinatura   := 0;
iRetorno := Bematech_FI_ImpressaoCarne( pchar ( cTitulo ),
                                        pchar( cValorParcela ),
                                        pchar( cData ),
                                        iQtdeParcela,
                                        pchar( cTexto ),
                                        pchar( cCliente ),
                                        pchar( cRGC ),
                                        pchar( cCOOCupom ),
                                        cVia,
                                        cAssinatura );


Bematech_FI_ImprimeConfiguracoesImpressora

Imprime configurações da impressora fiscal em um relatório gerencial. Será emitida uma leitura X antes. Veja abaixo em "Observações" as informações que serão impressas.

compatduas

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

Serão impressas as seguintes configurações:

Data da impressora                               27/06/2001
Hora da impressora                                 11:38:37
Versão do firmware                                     0310
Número de série                               4708991023070
Número da loja                                         0001
Número do caixa                                        0001
Símbolo da moeda                                         R$
Modo de operação                             Arredondamento
Horário de verão                                        Não
Já houve redução Z                                      Não
Memória fiscal                                   Com espaço
Versão da dll                                           1.9
log da dll                                     Desabilitado
Lin. Imp. após pouco papel                                0
Tipo Impressora                fiscal + gaveta+autenticação

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ImprimeConfiguracoesImpressora()

// Exemplo em Delphi
iRetorno := Bematech_FI_ImprimeConfiguracoesImpressora();


Bematech_FI_ImprimeDepartamentos

Imprime os departamentos e seus valores acumulados em um relatório gerencial. Será emitida uma leitura X antes. Essas informações eram impressas na leitura X até a versão 3.0 e foram retiradas por solicitação do fisco.

compatbematech

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observação:

- Na impressora fiscal YANCO, este comando não existe.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ImprimeDepartamentos()

// Exemplo em Delphi
iRetorno := Bematech_FI_ImprimeDepartamentos();


Bematech_FI_InfoBalanca

Requisita informação da balança pela serial.

compatduas

Parâmetro:

Porta: STRING com a porta serial onde na qual a balança está conectada (Ex: "COM1", "COM2", etc).

Modelo: INTEGER com o modelo da balança, onde:
1: Modelo BP6
2: Modelo CS15

Peso: STRING para o retorno do peso medido pela balança no formato "KKggg" (Ex: "01200" igual à 1Kg e 200g). Para as balanças da família BP é "SKKggg" (Ex: "013200" igual à 13Kg e 200g e "-00020" igual à –20g).

PrecoKilo: STRING para o retorno do preço por kilo, configurado na balança, no formato "RRRCC" (Ex: "01234" igual à R$12,34/Kg). Informação não retornada pelas balanças da família BP.

Total: STRING para o retorno do preço total do produto no formato "RRRCCC". Informação NÂO retornada pelas balanças da família BP.

Possíveis retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-1 - Erro de execução.
-2 - erro de parametros.
-33 - Condição de alívio de prato (para modelos CS) ou peso negativo (para modelos BP).
-34 - Peso instável.
-35 - Peso excedido.

Exemplo:

' Exemplo em Visual Basic
cPeso = Space(5)
cPrecoKilo = Space(5)
cTotal = Space(6)
iRetorno = Bematech_FI_InfoBalanca("COM3", 1, cPeso, cPrecoKilo, cTotal)

// Exemplo em Delphi
for iConta := 1 to 5 do begin
    cPeso      := cPeso + ' ';
    cPrecoKilo := cPrecoKilo + ' ';
end;
for iConta := 1 to 6 do cTotal := cTotal + ' ';
cPorta := 'COM3';
iRetorno := Bematech_FI_InfoBalanca( pchar ( cPorta ),
                                     1,
                                     cPeso,
                                     cPrecoKilo,
                                     cTotal );


Bematech_FI_MapaResumo

Gera o relatório "Mapa Resumo" referente ao movimento do dia. As informações serão geradas no arquivo RETORNO.TXT no diretório configurado no parâmetro "path" do arquivo ini. O diretório default configurado é o diretório raiz (C:\).

compatduas

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- As informações contidas no mapa resumo podem variar de Estado para Estado. Essa função gera o relatório com as informações padrões que são usadas na maioria dos Estados. O relatório gerado terá o seguinte layout:

Contador de Redução Z..:            0312
COO....................:          000026
Venda Bruta............:           43,73
Venda Líquida..........:           25,50
Cancelamentos..........:           11,14
Acréscimos.............:            2,33
Descontos..............:            7,09
ISS....................:            0,00
Isenção................:            0,00
Não Incidência.........:            1,95
Substituição Tributária:           23,55
1200...................:            0,00
1700...................:            0,00

- Após a linha "Substituição Tributária" serão gravadas as informações de vendas referente as alíquotas de ICMS. Portanto, o número de linhas irá variar de acordo com o número de alíquotas de ICMS cadastradas na impressora.

- As informações contidas no mapa resumo serão referentes aos dados da última redução Z, portanto, para gerar o mapa resumo referente ao movimento do dia você deve executar essa função após a redução Z, caso contrário o mapa resumo será gerado com as informações referente ao movimento do dia anterior.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_MapaResumo()

// Exemplo em Delphi
iRetorno := Bematech_FI_MapaResumo();


Bematech_FI_RegistrosTipo60

Esta função retorna os registro Tipo 60 Mestre e Analítico completos da impressora.

Parâmetro:

não há.

O retorno das informações geradas por esta função, serão gravadas no arquivo RETORNO.TXT, na seguinte ordem:

- para o Registro Tipo 60 Mestre:

Campo | Conteúdo | Tamanho
Tipo | 60 | 2
Subtipo | M | 1
Data de Emissão | Data de Emissão dos Cupons Fiscais | 8
Número de Série do ECF | Número de Série do ECF | 20
Número do ECF | Número do ECF | 3
Modelo do Documento Fiscal | Código do Modelo Documento Fiscal | 2
COO Inicial | Primeiro Cupom Fiscal Emitido | 6
COO Final | Último Cupom Fiscal Emitido | 6
Contador de Redução Z | Reduções Z | 6
Contador de Reinício de Operação | Reinício de Operações | 3
Venda Bruta | Valor da Venda Bruta | 16
Grande Total | Valor do GT | 16
Brancos |  | 37

- para o Registro Tipo 60 Analítico:

Campo | Conteúdo | Tamanho
Tipo | 60 | 2
Subtipo | A | 1
Data de Emissão | Data de Emissão dos Cupons Fiscais | 8
Número de Série do ECF | Número de Série do ECF | 20
Situação Tributária/Alíquota | Identificador da Situação Tributária/Alíquota do ICMS | 4
Valor Acumulado no Totalizador Parcial | Valor acumulado no final do dia no totalizador parcial da situação tributária | 12
Brancos |  | 79

Observações:

- Esta função deve ser utilizada diariamente, após a emissão da Redução Z.

- Os campos já estão formatados no tamanho que o relatório do Sintegra exige.

- Esta função deve ser utilizada nas impressoras fiscais matriciais (MP-20 FI II e MP-40 FI II). Para as impressoras fiscais térmicas com MFD (Memória de Fita Detalhe), utilize a função Bematech_FI_RelatorioSintegraMFD.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_RegistrosTipo60()

// Exemplo em Delphi
iRetorno := Bematech_FI_RegistrosTipo60();


Bematech_FI_RelatorioTipo60Analitico

Gera o relatório "Tipo 60 analítico" exigido pelo convênio de ICMS 85/2001. As informações serão geradas no arquivo RETORNO.TXT no diretório configurado no parâmetro "path" do arquivo ini. O diretório default é o diretório raiz (C:\).

compatduas

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- O relatório gerado terá o seguinte layout:

Tipo do relatório.........:                       60
Subtipo...................:                        A
Data de emissão...........:                 12/05/03
Número de série...........:          5708990400028
Cancelamentos.............:                    11,14
Descontos.................:                     7,09
F.........................:                    18,55
I.........................:                     0,00
N.........................:                     1,95
1200......................:                     0,00
1700......................:                     0,00
ISS.......................:                     0,00

- Após a linha "N..." serão gravadas as informações de vendas referentes às alíquotas tributárias. Portanto, o número de linhas irá variar de acordo com o número de alíquotas cadastradas na impressora.

- As informações contidas no relatório Tipo 60 Analítico são referentes aos dados da última Redução Z. Portanto, para gerar o relatório referente ao movimento do dia você deve executar essa função após a Redução Z, caso contrário as informações geradas serão referentes ao movimento do dia anterior.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_RelatorioTipo60Analitico()

// Exemplo em Delphi
iRetorno := Bematech_FI_RelatorioTipo60Analitico();


Bematech_FI_RelatorioTipo60Mestre

Gera o relatório "Tipo 60 Mestre" exigido pelo convênio de ICMS 85/2001. As informações serão geradas no arquivo RETORNO.TXT no diretório configurado no parâmetro "path" do arquivo ini. O diretório default é o diretório raiz (C:\).

compatduas

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- O relatório gerado terá o seguinte layout:

Tipo do relatório.........:                       60
Subtipo...................:                        M
Data de emissão...........:                 12/05/03
Número de série...........:          5708990400028
Número do equipamento.....:                     0001
Modelo do documento fiscal:                       2D
COO inicial...............:                   000001
COO final.................:                   000012
Contador de reduções......:                     0307
Reinicio de Operacao......:                     0129
Venda Bruta...............:                    38,73
Totalizador geral.........:                 6.169,21

- As informações contidas no relatório Tipo 60 Mestre são alimentadas pelas funções: Bematech_FI_AberturaDoDia e Bematech_FI_FechamentoDoDia (veja essas funções para maiores informações). A função Bematech_FI_RelatorioTipo60Mestre deve ser executada após a função Bematech_FI_FechamentoDoDia() ou após a Redução Z (caso a redução tenha sido executada automaticamente pela impressora).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_RelatorioTipo60Mestre()

// Exemplo em Delphi
iRetorno := Bematech_FI_RelatorioTipo60Mestre();


Bematech_FI_ResetaImpressora

Reseta a impressora em caso de erro.

compatbematech

Parâmetro:

Não há

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observação:

- Será executada somente se a impressora estiver em erro.
- Na impressora fiscal YANCO, este comando não existe.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ResetaImpressora()

// Exemplo em Delphi
iRetorno := Bematech_FI_ResetaImpressora();


Bematech_FI_RetornoImpressora

Lê o retorno da impressora referente ao último comando enviado.

compatduas

Parâmetros:

ACK: Variável INTEIRA para receber o primeiro byte.
ST1: Variável INTEIRA para receber o segundo byte.
ST2: Variável INTEIRA para receber o terceiro byte.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.

Observação:

- Essa função deve ser usada após a execução de qualquer outra função da DLL para ler o Retorno da Impressora referente a função executada. Essa função devolve o status da impressora.

- Se o retorno do Ack, St1 e St2 for 0,0,0 corresponde que a impressora não possui nenhum status de execução para retornar. Isso significa que nehuma função foi executada anteriormente

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_RetornoImpressora(Ack,St1,St2)

// Exemplo em Delphi
iRetorno := Bematech_FI_RetornoImpressora( Ack, St1, St2 );


Bematech_FI_VerificaImpressoraLigada

Verifica se a impressora está ligada ou conectada no computador.

compatduas

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: Impressora Ligada.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-6: Impressora desligada ou cabo de comunicação desconectado.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_VerificaImpressoraLigada()

// Exemplo em Delphi
iRetorno := Bematech_FI_VerificaImpressoraLigada();


Bematech_FI_VersaoDll

Esta função retorna a versão atual da BemaFI32.dll.

compatduas

Parâmetro:

Versao: variável STRING com o tamanho de 9 bytes, para receber a versão da dll.

Possíveis retornos da Função (INTEIRO):

1 - Ok.
-1 - Erro de execução.

Exemplo:

' Exemplo em Visual Basic
cVersao = Space(9)
iRetorno = Bematech_FI_VersaoDll(cVersao)

// Exemplo em Delphi
for iConta := 1 to 9 do cVersao := cVersao + ' ';
iRetorno := Bematech_FI_VersaoDll( cVersao );


Importante

As funções não descritas neste tópico, são funções encontradas nos tópicos acima, como por exemplo:

- para Venda de Item, use a função Bematech_FI_VendeItem;
- para Leitura X, use a função Bematech_FI_LeituraX ou;
- para o retorno do Número do Cupom, use a função Bematech_FI_NumeroCupom.

e assim, sucessivamente.


Bematech_FI_AtivaDesativaAlinhamentoEsquerdaMFD

Ativa ou desativa o alinhamento à esquerda da impressão da descrição do item.

Parâmetro:

iFlag: INTEGER com 1 (um) dígito, onde:
0 (zero): desativa
1 (um): ativa

Retornos da Função (INTEIRO):

0 - Erro de comunicação
1 - Ok
-2 - Parâmetro inválido
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta
-5 - Erro ao abrir a porta de comunicação
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Observações:

- Esta função só será executada, caso a impressora não tenha nenhum movimento no dia ou após a Redução Z.
- Não será necessário sua execução a cada início de dia.
- Função disponível para a impressora fiscal térmica MP-2000 TH FI versão 01.00.02 ou 01.01.01.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AtivaDesativaAlinhamentoEsquerdaMFD(1)

// Exemplo em Delphi
iFlag := 1;
iRetorno := Bematech_FI_AtivaDesativaAlinhamentoEsquerdaMFD( iFlag );


Bematech_FI_AtivaDesativaTratamentoONOFFLineMFD

Ativa ou desativa o tratamento da tecla ON LINE da impressora.

Parâmetro:

iFlag: INTEGER com 1 (um) dígito, onde:
0 (zero): desativa
1 (um): ativa

Retornos da Função (INTEIRO):

0 - Erro de comunicação
1 - Ok
-2 - Parâmetro inválido
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta
-5 - Erro ao abrir a porta de comunicação
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Observações:

- Esta função ativará ou desativará o tratamento da tecla ON LINE da impressora. Se ativada, o ON LINE da impressora é bloqueado, evitando que ela entre em OFF LINE, caso a tecla seja pressionada.
- Esta função só será executada, caso a impressora não tenha nenhum movimento no dia ou após a Redução Z.
- Não será necessário sua execução a cada início de dia.
- Função disponível para a impressora fiscal térmica MP-2000 TH FI versão 01.00.02 ou 01.01.01.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AtivaDesativaTratamentoONOFFLineMFD(1)

// Exemplo em Delphi
iFlag := 1;
iRetorno := Bematech_FI_AtivaDesativaTratamentoONOFFLineMFD( iFlag );


Bematech_FI_AbreCupomMFD

Abre o cupom fiscal na impressora MFD.

Parâmetros:

CGC_CPF: STRING até 29 caracteres com o CGC ou CPF do cliente.

Nome: STRING até 30 caracteres com o nome do cliente.

Endereco: STRING até 80 caracteres com o endereço do cliente.

Retornos da Função (INTEIRO):

0 - Erro de comunicação
1 - Ok
-2 - Parâmetro inválido
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta
-5 - Erro ao abrir a porta de comunicação
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Observação:

- O cupom fiscal deve estar fechado.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AbreCupomMFD("10.123.154-98", "Fulano de Tal", "R. Sem Fim, 1000")

// Exemplo em Delphi
cCPF      := '10.123.154-98';
cNome     := 'Fulano de Tal';
cEndereco := 'R. Sem Fim, 1000';
iRetorno := Bematech_FI_AbreCupomMFD( pchar ( cCPF ),
                                      pchar( cNome ),
                                      pchar( cEndereco ) );


Bematech_FI_AcrescimoDescontoItemMFD

Efetua acréscimo ou desconto em qualquer item enquanto o cupom fiscal não estiver totalizado.

Parâmetros:

Item: STRING numérica até 3 dígitos com o número do item.

AcrescimoDesconto: Indica se é acréscimo ou desconto. 'A' para acréscimo ou 'D' para desconto.

TipoAcrescimoDesconto: Indica se o acréscimo ou desconto é por valor ou por percentual. '$' para desconto por valor e '%' para percentual.

ValorAcrescimoDesconto: STRING com no máximo 14 dígitos para acréscimo ou desconto por valor e 4 dígitos para acréscimo ou desconto percentual.

Retornos da Função (INTEIRO):

0 - Erro de comunicação
1 - Ok
- 2 - Parâmetro inválido.
- 4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta
- 5 - Erro ao abrir a porta de comunicação
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AcrescimoDescontoItemMFD("005", "D", "$", "1000")

// Exemplo em Delphi
cNumeroItem     := '005';
cAcresDesc      := 'D';
cTipoAcresDesc  := '%';
cValorAcresDesc := '1000';
iRetorno := Bematech_FI_AcrescimoDescontoItemMFD( pchar ( cNumeroItem ),
                                                  pchar( cAcresDesc ),
                                                  pchar( cTipoAcresDesc ),
                                                  pchar( cValorAcresDesc ) );


Bematech_FI_CancelaAcrescimoDescontoItemMFD

Cancela a acréscimo ou a desconto dado no item.

Parâmetros:

Flag: STRING com "A" para cancelar o Acréscimo ou "D" para cancelar o Desconto.
Item: STRING de até 3 dígitos com o número do item a ser cancelado restrito aos 300 últimos registros efetuados.

Retornos da Função (INTEIRO):

0 - Erro de comunicação
1 - Ok
-2 - Parâmetro inválido
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta
-5 - Erro ao abrir a porta de comunicação
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CancelaAcrescimoDescontoItemMFD("A", "005")

// Exemplo em Delphi
cAcresDesc  := 'A';
cNumeroItem := '005';
iRetorno := Bematech_FI_CancelaAcrescimoDescontoItemMFD( pchar ( cAcresDesc ),
                                                         pchar( cNumeroItem ) );


Bematech_FI_IniciaFechamentoCupomMFD

Inicia o fechamento do cupom fiscal. Permite acréscimo e desconto no fechamento do cupom.

Parâmetros:

AcrescimoDesconto: STRING que indica se haverá acréscimo no cupom, desconto ou ambos. "A" para acréscimo, "D" para desconto e "X" para acréscimo e desconto.

TipoAcrescimoDesconto: STRING que indica se o acréscimo ou desconto é por valor ou por percentual. "$" para desconto por valor e "%" para percentual.

ValorAcrescimo: STRING com no máximo 14 dígitos para acréscimo por valor e 4 dígitos para acréscimo percentual.

ValorDesconto: STRING com no máximo 14 dígitos para desconto por valor e 4 dígitos para desconto percentual.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Observação:

- Para efetuar a forma de pagamento use a função Bematech_FI_EfetuaFormaPagamentoMFD.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_IniciaFechamentoCupomMFD("X","%","1200","1000")

// Exemplo em Delphi
cAcresDesc     := 'X';
cTipoAcresDesc := '%';
cValorAcres    := '1200';
cValorDesc     := '1000';
iRetorno := Bematech_FI_IniciaFechamentoCupomMFD( pchar ( cAcresDesc),
                                                  pchar( cTipoAcresDesc ),
                                                  pchar( cValorAcres ),
                                                  pchar( cValorDesc ) );


Bematech_FI_ProgramaFormaPagamentoMFD

Programa as formas de pagamento.

Parâmetros:

FormaPagto: STRING até 16 caracteres com a forma de pagamento.

OperacaoTef: STRING com 0 (zero) ou 1 (um) indicando se a forma de pagamento permite operação TEF ou não, onde:
1 - permite operação TEF
0 - não permite operação TEF.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ProgramaFormaPagamentoMFD("Cartão", "1")

// Exemplo em Delphi
cFormaPgto := 'Cartao';
cTef       := '1';
iRetorno := Bematech_FI_ProgramaFormaPagamentoMFD( pchar ( cFormaPgto ),
                                                   pchar( cTef ) );


Bematech_FI_AcrescimoDescontoSubtotalMFD

Efetua acréscimo ou desconto em subtotal do cupom.

Parâmetros:

Flag: STRING com "A" para Acréscimo ou "D" para Desconto.
Tipo: STRING com "$" para Acréscimo ou Desconto por valor, ou "%" para Acréscimo ou Desconto percentual.
Valor: STRING com o valor no máximo de 14 dígitos para Acréscimo ou Desconto, ou valor com 4 dígitos para Acréscimo ou Desconto por percentual.

Retornos da Função (INTEIRO):

0 - Erro de comunicação
1 - Ok
-2 - Parâmetro inválido
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta
-5 - Erro ao abrir a porta de comunicação
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Observações:

- O cupom deve estar subtotalizado.
- O cupom não pode estar totalizado.
- É permitido o registro de apenas uma operação válida para acréscimo e uma para desconto no subtotal.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AcrescimoDescontoSubtotalMFD("A", "%", "10,00")

// Exemplo em Delphi
cAcresDesc      := 'A';
cTipoAcresDesc  := '%';
cValorAcresDesc := '10,00';
iRetorno := Bematech_FI_AcrescimoDescontoSubtotalMFD( pchar ( cAcresDesc ),
                                                      pchar( cTipoAcresDesc ),
                                                      pchar( cValorAcresDesc ) );


Bematech_FI_CancelaAcrescimoDescontoSubtotalMFD

Cancela acréscimo e desconto efetuados em subtotal do cupom.

Parâmetro:

Flag: STRING com "A" para cancelar o Acréscimo ou "D" para cancelar o Desconto, dado no subtotal

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

- O cupom deve estar subtotalizado.
- O cupom deve ter operações anteriores de acréscimo ou desconto em subtotal.
- O cupom não pode estar totalizado.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CancelaAcrescimoDescontoSubtotalMFD("D")

// Exemplo em Delphi
cAcresDesc := 'D';
iRetorno := Bematech_FI_CancelaAcrescimoDescontoSubtotalMFD( pchar ( cAcresDesc ) );


Bematech_FI_SubTotalizaCupomMFD

Subtotaliza o cupom fiscal, ou seja, inicia o fechamento imprimindo o valor total do cupom.

Parâmetro:

Não há

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

Essa função habilita as seguintes operações:

- Acréscimo ou desconto em subtotal.
- Cancelamento de acréscimo ou desconto em subtotal.
- Totalização do cupom fiscal

Restrições:

- O cupom fiscal deve estar aberto e com item vendido.
- Caso o valor total do cupom seja zero, o mesmo será cancelado.
- Para usar essa função você não pode ter iniciado o fechamento do cupom. (Bematech_FI_IniciaFechamentoCupomMFD)

Exemplos:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_SubTotalizaCupomMFD()

// Exemplo em Delphi
iRetorno := Bematech_FI_SubTotalizaCupomMFD();


Bematech_FI_TotalizaCupomMFD

Totaliza o cupom fiscal habilitando o uso das formas de pagamento

Parâmetro:

Não há

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_TotalizaCupomMFD()

// Exemplo em Delphi
iRetorno := Bematech_FI_TotalizaCupomMFD();


Bematech_FI_EfetuaFormaPagamentoMFD

Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s) nessa forma.

Parâmetros:

FormaPagamento: STRING com a forma de pagamento com no máximo 16 caracteres.

ValorFormaPagamento: STRING com o valor da forma de pagamento com até 14 dígitos.

Parcelas: STRING numérica entre 1 e 24 com o número de parcelas em que o pagamento será realizado.

DescricaoFormaPagto: STRING com a descrição da forma de pagamento com no máximo 80 caracteres.

Retornos da Função (INTEIRO):

0 - Erro de comunicação
1 - Ok
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta
-5 - Erro ao abrir a porta de comunicação
-24 - Forma de Pagamento não programada.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Observações:

- O número de parcelas é utilizado para emissão do comprovante não fiscal vinculado. Poderá ser emitido um comprovante para cada parcela.
- A descrição será impressa uma linha após a forma de pagamento.
- O fechamento do cupom com formas de pagamento deve ter sido iniciado.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_EfetuaFormaPagamentoMFD("Cartão VISA", "50,00", "2", "Compra parcelada")

// Exemplo em Delphi
cFormaPgto      := 'Cartão VISA';
cValorPago      := '50,00';
cNumeroParcelas := '2';
cMsg            := 'Compra parcelada';
iRetorno := Bematech_FI_EfetuaFormaPagamentoMFD( pchar ( cFormaPgto ),
                                                 pchar( cValorPago ),
                                                 pchar( cNumeroParcelas ),
                                                 pchar( cMsg ) );


Bematech_FI_TerminaFechamentoCupomCodigoBarrasMFD

Termina o fechamento do cupom com mensagem promocional e impressão de código de barras.

Parâmetros:

cMensagem: STRING com a mensagem promocional com até 384 caracteres (8 linhas X 48 colunas).

cTipoCodigo: STRING com o tipo de codigo que será impresso, exemplos: "EAN13", "PDF417", "ITF", "EAN8", "CODABAR", "CODE128", "CODE39", "ISBN", "MSI", "PLESSEY", "UPCA" e "UPCE".

cCodigo: STRING com o código a ser impresso, respeitando a definição do tipo de código, citado acima (veja o tópico "Impressão de Código de Barras" para verificar as definições).

iAltura: INTEIRO com o valor de altura, entre 1 e 255. O default é 162.

iLargura: INTEIRO com o valor da largura, entre 0 e 2, onde:
0 - barras finas
1 - médias (default)
2 - grossas

iPosicaoCaracteres: INTEIRO com o valor da posição dos caracteres do código, entre 0 e 3, onde:
0 - nao imprime os caracteres
1 - caracteres acima do codigo
2 - caracteres abaixo do codigo
3 - acima e abaixo

iFonte: INTEIRO com o valor da fonte de impressão, entre 0 e 1, onde:
0 - Normal
1 - Condensado

iMargem: INTEIRO com o valor da margem, entre 0 e 575. O valor default é 0.

iCorrecaoErros: INTEIRO com o valor para a correção de erros de impressão do código, entre 0 e 8.

iColunas: INTEIRO com o valor do tamanho da coluna gráfica, entre 0 e 30.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido na função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- A forma de pagamento deve ter sido efetuada.
- Esta função só está disponível para as impressoras fiscais térmicas.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_TerminaFechamentoCupomCodigoBarrasMFD("Obrigado, volte sempre !!!", "EAN13", "123456789012", 100, 1, 3, 0, 5, 4, 5)

// Exemplo em Delphi
cMsgPromocional := 'Obrigado, volte sempre !!!';
cTipoCodigo     := 'EAN13';
cCodigo         := '123456789012';

iRetorno := Bematech_FI_TerminaFechamentoCupomCodigoBarrasMFD( pchar ( cMsgPromocional, pchar( cTipoCodigo ), pchar( cCodigo ), 100, 1, 3, 0, 5, 4, 5 ) );


Bematech_FI_CupomAdicionalMFD

Emite um cupom adicional com as informações do COO e valor do cupom fiscal.

Parâmetro:

Não há

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CupomAdicionalMFD()

// Exemplo em Delphi
iRetorno := Bematech_FI_CupomAdicionalMFD();


Bematech_FI_CancelaCupomMFD

Cancela o último cupom emitido.

Parâmetros:

CGC_CPF: STRING até 29 caracteres com o CGC ou CPF do cliente.

Nome: STRING até 30 caracteres com o nome do cliente.

Endereco: STRING até 80 caracteres com o endereço do cliente.

Retornos da Função (INTEIRO):

0 - Erro de comunicação
1 - Ok
-2 - Parâmetro Inválido
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta
-5 - Erro ao abrir a porta de comunicação
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CancelaCupomMFD("11.111.111-11", "Fulano de Tal", "R. Sem Fim, 1000")

// Exemplo em Delphi
cCPF             := '11.111.111-11';
cNomeCliente     := 'Fulano de Tal';
cEnderecoCliente := 'R. Sem Fim, 1000';
iRetorno := Bematech_FI_CancelaCupomMFD( pchar ( cCPF ),
                                         pchar( cNomeCliente ),
                                         pchar( cEnderecoCliente ) );


Bematech_FI_NomeiaRelatorioGerencialMFD

Programa Relatório Gerencial. A impressora possui um relatório default pré-programado: "Relatório Gerencial", no índice "01".

Parâmetros:

Indice: STRING numérica com valor entre 2 e 30 para o índice do relatório.
Descricao: STRING com até 17 caracteres com o nome do relatório.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
- 2 - Parâmetro inválido.
- 4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
- 5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Observações:

- Só será possível nomear um relatório gerencial, caso a impressora ainda não tenha iniciado o seu movimento.
- Não é possível alterar ou apagar um relatório gerencial já gravado.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_NomeiaRelatorioGerencialMFD("2","Resumo de Vendas")

// Exemplo em Delphi
cIndice := '2';
cDescricao := 'Resumo de Vendas';
iRetorno := Bematech_FI_NomeiaRelatorioGerencialMFD( pchar ( cIndice ),
                                                     pchar( cDescricao ) );


Bematech_FI_AbreRelatorioGerencialMFD

Abre Relatório Gerencial, na impressora fiscal MFD.

Parâmetro:

Indice: STRING numérica com o valor entre 1 e 30, com o índice do relatório.

Retornos da Função (INTEIRO):

0 - Erro de comunicação
1 - Ok
-2 - Parâmetro inválido
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta
-5 - Erro ao abrir a porta de comunicação
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Observações:

- O relatório deve estar programado.
- O relatório permanecerá aberto por 2 minutos, se não for enviado o comando de fechamento durante esse período, o relatório será fechado automaticamente.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AbreRelatorioGerencialMFD("05")

// Exemplo em Delphi
cIndice := '5';
iRetorno := Bematech_FI_AbreRelatorioGerencialMFD( pchar ( cIndice ) );


Bematech_FI_UsaRelatorioGerencialMFD

Imprime as informações do Relatório Gerencial.

Parâmetro:

Texto: STRING Texto a ser impresso no relatório com até 618 caracteres.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Observações:

- O relatório permanecerá aberto por 2 minutos, se não for enviado o comando de fechamento durante esse período, o relatório será fechado automaticamente.
- Para abrir o relatório gerencial use a função Bematech_FI_AbreRelatorioGerencialMFD.
- Para fechar o relatório use a função Bematech_FI_FechaRelatorioGerencial.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_UsaRelatorioGerencialMFD("Entre com o texto aqui !!!")

// Exemplo em Delphi
cMsg := 'Entre com o texto aqui !!!';
iRetorno := Bematech_FI_UsaRelatorioGerencialMFD( pchar ( cMsg ) );


Bematech_FI_UsaRelatorioGerencialMFDTEF

Imprime o relatório gerencial travando e destravando automaticamente o teclado e o mouse. Esta função pode ser utlizada para a impressão do texto da transação TEF. Não é necessário usar nenhuma outra função ou API do Windows para travar o teclado e o mouse.

Parâmetro:

Texto: STRING Texto a ser impresso no relatório com até 618 caracteres.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Observações:

- O relatório permanecerá aberto por 2 minutos, se não for enviado o comando de fechamento durante esse período, o relatório será fechado automaticamente.
- Para abrir o relatório gerencial use a função Bematech_FI_AbreRelatorioGerencialMFD.
- Para fechar o relatório use a função Bematech_FI_FechaRelatorioGerencial.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_UsaRelatorioGerencialMFDTEF("Entre com o texto aqui !!!")

// Exemplo em Delphi
cLinha := 'Entre com o texto a ser impresso aqui !!!';
iRetorno := Bematech_FI_UsaRelatorioGerencialMFDTEF( pchar ( cLinha ) );


Bematech_FI_LeituraMemoriaFiscalDataMFD

Emite a leitura da memória fiscal da impressora por intervalo de datas.

Parâmetros:

DataInicial: STRING para receber a Data inicial no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.

DataFinal: STRING para receber a Data final no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.

FlagLeitura: STRING com o valor "s" para leitura simplificada e "c" para leitura completa.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Observação:

- O cupom fiscal deve estar fechado.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_LeituraMemoriaFiscalDataMFD("01/04/02", "15/04/02", "c")

// Exemplo em Delphi
cDataInicial := '01/04/02';
cDataFinal   := '15/04/02';
cTipo        := 'c';
iRetorno := Bematech_FI_LeituraMemoriaFiscalDataMFD( pchar ( cDataInicial ),
                                                     pchar( cDataFinal ),
                                                     pchar( cTipo ) );


Bematech_FI_LeituraMemoriaFiscalReducaoMFD

Emite a leitura da memória fiscal da impressora por intervalo de reduções.

Parâmetros:

ReducaoInicial: STRING com o Número da reducao inicial com até 4 dígitos.

ReducaoFinal: STRING com o Número da reducao final com até 4 dígitos.

FlagLeitura: STRING com o valor "s" para leitura simplificada e "c" para leitura completa.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Observação:

- O cupom fiscal deve estar fechado.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_LeituraMemoriaFiscalReducaoMFD("0010", "0015", "c")

// Exemplo em Delphi
cReducaoInicial := '0010';
cReducaoFinal   := '0015';
cTipo           := 'c';
iRetorno := Bematech_FI_LeituraMemoriaFiscalReducaoMFD( pchar ( cReducaoInicial ),
                                                        pchar( cReducaoFinal ),
                                                        pchar( cTipo ) );


Bematech_FI_LeituraMemoriaFiscalSerialDataMFD

Recebe os dados da memória fiscal por intervalo de datas pela serial e grava em arquivo texto.

Parâmetros:

DataInicial: STRING para receber a Data inicial no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.
DataFinal: STRING para receber a Data final no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.
FlagLeitura: STRING com o valor "s" para leitura simplificada e "c" para leitura completa.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observação:

- O cupom fiscal deve estar fechado.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_LeituraMemoriaFiscalSerialDataMFD("01/04/02, "15/04/02", "c")

// Exemplo em Delphi
cDataInicial := '01/04/02';
cDataFinal   := '15/04/02';
cTipo        := 'c';
iRetorno := Bematech_FI_LeituraMemoriaFiscalSerialDataMFD( pchar ( cDataInicial ),
                                                           pchar( cDataFinal ),
                                                           pchar( cTipo ) );


Bematech_FI_LeituraMemoriaFiscalSerialReducaoMFD

Recebe os dados da leitura da memória fiscal por intervalo de reduções pela serial e grava em arquivo texto.

Parâmetros:

ReducaoInicial: STRING com o Número da reducao inicial com até 4 dígitos.
ReducaoFinal: STRING com o Número da reducao final com até 4 dígitos.
FlagLeitura: STRING com o valor "s" para leitura simplificada e "c" para leitura completa.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observação:

- O cupom fiscal deve estar fechado.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_LeituraMemoriaFiscalSerialReducaoMFD("0010", "0015", "c")

// Exemplo em Delphi
cReducaoInicial := '0010';
cReducaoFinal   := '0015';
cTipo           := 'c';
iRetorno := Bematech_FI_LeituraMemoriaFiscalSerialReducaoMFD( pchar ( cReducaoInicial ),
                                                              pchar( cReducaoFinal ),
                                                              pchar( cTipo ) );


Bematech_FI_AbreComprovanteNaoFiscalVinculadoMFD

Abre o Comprovante Não Fiscal Vinculado.

Parâmetros:

FormaPagamento: STRING com a Forma de Pagamento com até 16 caracteres.

Valor: STRING com o Valor Pago na forma de pagamento do cupom a que se refere o comprovante, com até 14 dígitos (2 casas decimais).

NumeroCupom: STRING com o Número do cupom a que se refere o comprovante com até 6 dígitos.

CGC: STRING com até 29 caracteres com o CGC ou CPF do cliente.

Nome: STRING com até 30 caracteres com o nome do cliente.

Endereco: STRING com até 80 caracteres com o endereço do cliente.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

- A forma de pagamento utilizada não pode ser Dinheiro.
- A forma de pagamento deve ter sido utilizada no cupom ao qual se refere o comprovante.
- Poderá ser emitido um comprovante não fiscal para cada parcela informada no cupom fiscal. Os parâmetros "Valor" e "Numero do Cupom" tornam-se obrigatórios se o comprovante emitido não for referente ao último cupom fiscal emitido.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AbreComprovanteNaoFiscalVinculadoMFD("Cartao", "50,00", "000165", "1.111.111-1", "Fulano de Tal", "R. Sem Fim, 1000")

// Exemplo em Delphi
cFormaPgto       := 'Cartao';
cValorPgto       := '50,00';
cCOO             := '000165';
cCPF             := '1.111.111-1'
cNomeCliente     := 'Fulano de Tal';
cEnderecoCliente := 'R. Sem Fim, 1000';
iRetorno := Bematech_FI_AbreComprovanteNaoFiscalVinculadoMFD( pchar ( cFormaPgto ),
                                                              pchar( cValorPgto ),
                                                              pchar( cCOO ),
                                                              pchar( cCPF ),
                                                              pchar( cNomeCliente ),
                                                              pchar( cEnderecoCliente ) );


Bematech_FI_AbreRecebimentoNaoFiscalMFD

Abre o comprovante não fiscal não vinculado para que sejam lançados os recebimentos não fiscais.

Parâmetros:

CGC: STRING até 29 caracteres com o CGC ou CPF do cliente.

Nome: STRING até 30 caracteres com o nome do cliente.

Endereco: STRING até 80 caracteres com o endereço do cliente.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AbreRecebimentoNaoFiscalMFD("1.111.111-1", "Fulano de Tal", "Rua Sem Fim, 1000")

// Exemplo em Delphi
cCPF             := '1.111.111-1';
cNomeCliente     := 'Fulano de Tal';
cEnderecoCliente := 'Rua Sem Fim, 1000';
iRetorno := Bematech_FI_AbreRecebimentoNaoFiscalMFD( pchar ( cCPF ),
                                                     pchar( cNomeCliente ),
                                                     pchar( cEnderecoCliente ) );


Bematech_FI_EfetuaRecebimentoNaoFiscalMFD

Efetua o recebimento não fiscal.

Parâmetros:

IndiceTotalizador: STRING com o Índice do Totalizador com até 2 dígitos para o recebimento.
ValorRecebimento: STRING com o Valor do recebimento com até 14 dígitos (duas casas decimais).

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

- O comprovante deve ter sido aberto anteriormente.
- O totalizador não fiscal deve estar programado.

Exemplos:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_EfetuaRecebimentoNaoFiscalMFD("03", "35,00")

// Exemplo em Delphi
cIndice := '03';
cValor  := '35,00';
iRetorno := Bematech_FI_EfetuaRecebimentoNaoFiscalMFD( pchar ( cIndice ),
                                                       pchar( cValor ) );


Bematech_FI_AcrescimoDescontoSubtotalRecebimentoMFD

Efetua acréscimo ou desconto em subtotal do recebimento não fiscal.

Parâmetros:

Flag: STRING com "A" para Acréscimo ou "'D" para Desconto.
Tipo: STRING com "$" para acréscimo ou desconto por valor, ou "%" para acréscimo ou desconto por percentual.
Valor: STRING com no máximo 14 dígitos para o valor ou 4 dígitos para o percentual.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

- O recebimento não fiscal deve estar subtotalizado.
- O recebimento não fiscal não pode estar totalizado.
- É permitido o registro de apenas uma operação válida para acréscimo e uma para desconto no subtotal.

Exemplos:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AcrescimoDescontoSubtotalRecebimentoMFD("D", "$", "15,00")

// Exemplo em Delphi
cAcresDesc      := 'D';
cTipoAcresDesc  := '$';
cValorAcresDesc := '15,00';
iRetorno := Bematech_FI_AcrescimoDescontoSubtotalRecebimentoMFD( pchar ( cAcresDesc ),
                                                                 pchar( cTipoAcresDesc ),
                                                                 pchar( cValorAcresDesc ) );


Bematech_FI_AcrescimoItemNaoFiscalMFD

Efetua um acréscimo ou desconto em um item não fiscal na impressora fiscal MFD.

Importante
Esta função só está disponível para a versão 01.00.00, da Impressora Fiscal MFD.

Parâmetros:

NumeroItem: STRING contendo o número do item não fiscal, com até 3 caracteres.

AcrescimoDesconto: STRING com "A" para Acréscimo ou "D" para desconto.

TipoAcrescimoDesconto: STRING com "$" para Acréscimo ou Desconto por valor, ou "%" para percentual.

ValorAcrescimoDesconto: STRING com o valor do desconto ou Acréscimo.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observação:

- O cupom não fiscal não pode estar subtotalizado.

Exemplos:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AcrescimoItemNaoFiscalMFD("005", "A", "$", "10,00")

// Exemplo em Delphi
cNumeroItem     := '005';
cAcresDesc      := 'A';
cTipoAcresDesc  := '$';
cValorAcresDesc := '10,00';
iRetorno := Bematech_FI_AcrescimoItemNaoFiscalMFD( pchar ( cNumeroItem ),
                                                   pchar( cAcresDesc ),
                                                   pchar( cTipoAcresDesc ),
                                                   pchar( cValorAcresDesc ) );


Bematech_FI_CancelaItemNaoFiscalMFD

Cancela um item não fiscal na impressora fiscal MFD.

Importante
Esta função só está disponível para a versão 01.00.00, da Impressora Fiscal MFD.

Parâmetro:

NumeroItem: STRING contendo o número do item não fiscal a ser cancelado, com até 3 caracteres.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplos:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CancelaItemNaoFiscalMFD("005")

// Exemplo em Delphi
cIndice := '005';
iRetorno := Bematech_FI_CancelaItemNaoFiscalMFD( pchar ( cIndice ) );


Bematech_FI_CancelaAcrescimoNaoFiscalMFD

Cancela o acréscimo ou desconto em um item não fiscal na impressora fiscal MFD.

Importante
Esta função só está disponível para a versão 01.00.00, da Impressora Fiscal MFD.

Parâmetros:

NumeroItem: STRING contendo o número do item não fiscal, com até 3 caracteres.
AcrescimoDesconto: STRING com "A" para o cancelamento do Acréscimo ou "D" para o cancelamento do desconto.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observação:

- O cupom não fiscal não pode estar subtotalizado.

Exemplos:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CancelaAcrescimoNaoFiscalMFD("005", "A")

// Exemplo em Delphi
cNumeroItem := '005';
cAcresDesc  := 'A';
iRetorno := Bematech_FI_CancelaAcrescimoNaoFiscalMFD( pchar ( cNumeroItem ),
                                                      pchar( cAcresDesc ) );


Bematech_FI_SubTotalizaRecebimentoMFD

Subtotaliza o recebimento não fiscal (comprovante não fiscal não vinculado), ou seja, inicia o fechamento imprimindo o valor total do recebimento.

Parâmetro:

Não há

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

Essa função habilita as seguintes operações:

- Acréscimo ou desconto em subtotal de recebimento não fical
- Cancelamento de acréscimo ou desconto em subtotal de recebimento não fiscal
- Totalização do recebimento não fiscal

Restrições:

- O recebimento deve estar aberto e com item vendido.
- Caso o valor total do recebimento seja zero, o mesmo será cancelado.
- Para usar essa função você não pode ter iniciado o fechamento do recebimento. (Bematech_FI_IniciaFechamentoRecebimentoNaoFiscalMFD)

Exemplos:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_SubTotalizaRecebimentoMFD()

// Exemplo em Delphi
iRetorno := Bematech_FI_SubTotalizaRecebimentoMFD();


Bematech_FI_CancelaAcrescimoDescontoSubtotalRecebimentoMFD

Cancela acréscimo e desconto efetuados em subtotal do recebimento não fiscal.

Parâmetro:

Flag: STRING com "A" para cancelar o Acréscimo ou "D" para cancelar o Desconto, dado no subtotal do recebimento.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

- O recebimento não fiscal deve estar subtotalizado.
- O recebimento não fiscal deve ter operações anteriores de acréscimo ou desconto em subtotal.
- O recebimento não fiscal não pode estar totalizado.

Exemplos:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CancelaAcrescimoDescontoSubtotalRecebimentoMFD("D")

// Exemplo em Delphi
cAcresDesc := 'D';
iRetorno := Bematech_FI_CancelaAcrescimoDescontoSubtotalRecebimentoMFD( pchar ( cAcresDesc ) );


Bematech_FI_TotalizaRecebimentoMFD

Totaliza o recebimento não fiscal habilitando o uso das formas de pagamento

Parâmetro:

Não há

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observação:

- Para efetuar a forma de pagamento use a função Bematech_FI_EfetuaFormaPagamentoMFD.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_TotalizaRecebimentoMFD()

// Exemplo em Delphi
iRetorno := Bematech_FI_TotalizaRecebimentoMFD();


Bematech_FI_IniciaFechamentoRecebimentoNaoFiscalMFD

Inicia o fechamento do recebimento não fiscal. Permite acréscimo e desconto no fechamento do recebimento.

Parâmetros:

AcrescimoDesconto: STRING que indica se haverá acréscimo no cupom, desconto ou ambos. "A" para acréscimo, "D" para desconto e "X" para acréscimo e desconto.

TipoAcrescimoDesconto: STRING que indica se o acréscimo ou desconto é por valor ou por percentual. "$" para desconto por valor e "%" para percentual.

ValorAcrescimo: STRING com no máximo 14 dígitos para acréscimo por valor e 4 dígitos para acréscimo percentual.

ValorDesconto: STRING com no máximo 14 dígitos para desconto por valor e 4 dígitos para desconto percentual.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observação:

- Para efetuar a forma de pagamento use a função Bematech_FI_EfetuaFormaPagamentoMFD.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_IniciaFechamentoRecebimentoNaoFiscalMFD("X", "%", "1200", "1000")

// Exemplo em Delphi
cAcresDesc     := 'X';
cTipoAcresDesc := '$';
cValorAcres    := '1200';
cValorDesc     := '1000';
iRetorno := Bematech_FI_IniciaFechamentoRecebimentoNaoFiscalMFD( pchar ( cAcresDesc ),
                                                                 pchar( cTipoAcresDesc ),
                                                                 pchar( cValorAcres ),
                                                                 pchar( cValorDesc ) );


Bematech_FI_FechaRecebimentoNaoFiscalMFD

Termina o fechamento do recebimento não fiscal.

Parâmetro:

Mensagem: STRING com a Mensagem promocional com até 490 caracteres.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_FechaRecebimentoNaoFiscalMFD("Obrigado, volte sempre !!!")

// Exemplo em Delphi
cMsgPromocional := 'Obrigado, volte sempre !!!'';
iRetorno := Bematech_FI_FechaRecebimentoNaoFiscalMFD( pchar ( cMsgPromocional ) );


Bematech_FI_CancelaRecebimentoNaoFiscalMFD

Cancela o recebimento não fiscal.

Parâmetros:

CGC: STRING até 29 caracteres com o CGC ou CPF do cliente.

Nome: STRING até 30 caracteres com o nome do cliente.

Endereco: STRING até 80 caracteres com o endereço do cliente.

Retornos da FunçÃo (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplos:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CancelaRecebimentoNaoFiscalMFD("11.111.111-11", "Fulano de Tal", "R. Sem Fim, 1000")

// Exemplo em Delphi
cCPF             := '11.111.111-11';
cNomeCliente     := 'Fulano de Tal';
cEnderecoCliente := 'R. Sem Fim, 1000';
iRetorno := Bematech_FI_CancelaRecebimentoNaoFiscalMFD( pchar ( cCPF ),
                                                        pchar( cNomeCliente ),
                                                        pchar( cEnderecoCliente ) );


Bematech_FI_EstornoNaoFiscalVinculadoMFD

Estorna os lançamentos de um comprovante de crédito ou débito vinculado. Deve ser executado imediatamente após a impressão do comprovante vinculado.

Parâmetros:

CGC: STRING até 29 caracteres com o CGC ou CPF do cliente

Nome: STRING até 30 caracteres com o nome do cliente.

Endereco: STRING até 80 caracteres com o endereço do cliente.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

- Pode se usar a função Bematech_FI_UsaComprovanteNaoFiscalVinculado, para imprimir um texto qualquer, dentro deste cupom de estorno.
- Deve-se usar a função Bematech_FI_FechaComprovanteNaoFiscalVinculado, para fechar este cupom de estorno.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_EstornoNaoFiscalVinculadoMFD("11.111.111-11", "Fulano de Tal", "R. Sem Fim, 1000")

// Exemplo em Delphi
cCPF             := '11.111.111-11';
cNomeCliente     := 'Fulano de Tal';
cEnderecoCliente := 'R. Sem Fim, 1000';
iRetorno := Bematech_FI_EstornoNaoFiscalVinculadoMFD( pchar ( cCPF ),
                                                      pchar( cNomeCliente ),
                                                      pchar( cEnderecoCliente ) );


Bematech_FI_ReimpressaoNaoFiscalVinculadoMFD

Reimprime o comprovante não fiscal vinculado. Será executado, somente, se o comando for enviado imediatamente após a impressão do comprovante.

Parâmetro:

Não há

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ReimpressaoNaoFiscalVinculadoMFD()

// Exemplo em Delphi
iRetorno := Bematech_FI_ReimpressaoNaoFiscalVinculadoMFD();


Bematech_FI_SegundaViaNaoFiscalVinculadoMFD

Imprime a segunda via do comprovante não fiscal vinculado. Deve ser executada imediatamente após a emissão da primeira via.

Parâmetro:

Não há

Retornos da Funçãi (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_SegundaViaNaoFiscalVinculadoMFD()

// Exemplo em Delphi
iRetorno := Bematech_FI_SegundaViaNaoFiscalVinculadoMFD();


Bematech_FI_AutenticacaoMFD

Permite a autenticação de documentos.

Parâmetros:

Linhas: STRING numérica com valor entre 1 e 99 com o número de linhas que serão saltadas para imprimir o texto.
Texto: STRING com até 48 caracteres com o texto a ser impresso.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
- 2 - Parâmetro inválido.
- 4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
- 5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

- Deverá ser executada imediatamente após um recebimento não fiscal ou o término de um cupom fiscal.
- Poderá ser repetido até 5 vezes para cada recebimento, após isso o comando será ignorado
- A impressora irá aguardar 5 segundos para o posicionamento do documento e autenticará no documento a data, hora, número da loja, número do caixa e o número do último cupom fiscal. Se decorrido os 5 segundos sem o posicionamento do documento, a impressora retornará ao seu estado normal, retornando o status de "comando não executado".

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AutenticacaoMFD("5", "Autenticação Mecânica !!!")

// Exemplo em Delphi
cLinhas  := '5';
cMsg     := 'Autenticação Mecânica !!!';
iRetorno := Bematech_FI_AutenticacaoMFD( pchar ( cLinhas ),
                                         pchar( cMsg ) );


Bematech_FI_CNPJMFD

Retorna o CNPJ do cliente cadastrado na impressora.

Parâmetro:

CNPJ: Variável STRING com o tamanho de 20 posições para receber o CNPJ.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sCNPJ = space(20)
iRetorno = Bematech_FI_CNPJMFD(sCNPJ)

// Exemplo em Delphi
for iConta := 1 to 20 do sCNPJ := sCNPJ + ' ';
iRetorno := Bematech_FI_CNPJMFD( sCNPJ );


Bematech_FI_ComprovantesNaoFiscaisNaoEmitidosMFD

Retorna o número de comprovantes não fiscais não emitidos.

Parâmetro:

Comprovantes: Variável STRING com o tamanho de 4 posições para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sComp = space(4)
iRetorno = Bematech_FI_ComprovantesNaoFiscaisNaoEmitidosMFD(sComp)

// Exemplo em Delphi
for iConta := 1 to 4 do sComp := sComp + ' ';
iRetorno := Bematech_FI_ComprovantesNaoFiscaisNaoEmitidosMFD( sComp );


Bematech_FI_ContadorComprovantesCreditoMFD

Retorna o número de comprovantes de crédito emitidos.

Parâmetro:

Comprovantes: Variável STRING com o tamanho de 4 posições para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sComp = space(4)
iRetorno = Bematech_FI_ContadorComprovantesCreditoMFD(sComp)

// Exemplo em Delphi
for iConta := 1 to 4 do sComp := sComp + ' ';
iRetorno := Bematech_FI_ContadorComprovantesCreditoMFD( sComp );


Bematech_FI_ContadorCupomFiscalMFD

Retorna o número de cupons fiscais emitidos.

Parâmetro:

CuponsEmitidos: Variável STRING com o tamanho de 6 posições para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sCupom = space(6)
iRetorno = Bematech_FI_ContadorCupomFiscalMFD(sCupom)

// Exemplo em Delphi
for iConta := 1 to 6 do sCupom := sCupom + ' ';
iRetorno := Bematech_FI_ContadorCupomFiscalMFD( sCupom );


Bematech_FI_ContadoresTotalizadoresNaoFiscaisMFD

Retorna o número de vezes em que os totalizadores não sujeitos ao ICMS foram usados.

Parâmetro:

Contadores: Variável STRING com 149 posições para receber as informações.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-1 - Erro de execução.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

- O conteúdo da variável retornada será 120 dígitos separados de 4 em 4 por vírgura que representam os 30 totalizadores.
Ex.: "0001,0003,0001,0005,0004,0002,0003,0004,0007 ..."
- O primeiro valor corresponde ao número de vezes que o totalizador 01 foi usado, o segundo corresponde ao totalizador 02 e assim sucessivamente.

Exemplo:

' Exemplo em Visual Basic
sCont = space(149)
iRetorno = Bematech_FI_ContadoresTotalizadoresNaoFiscaisMFD(sCont)

// Exemplo em Delphi
for iConta := 1 to 149 do sCont := sCont + ' ';
iRetorno := Bematech_FI_ContadoresTotalizadoresNaoFiscaisMFD( sCont );


Bematech_FI_ContadorFitaDetalheMFD

Retorna o número de vezes em que foi impressa a fita detalhe.

Parâmetro:

ContadorFita: Variável STRING com o tamanho de 6 posições para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sCont = space(6)
iRetorno = Bematech_FI_ContadorFitaDetalheMFD(sCont)

// Exemplo em Delphi
for iConta := 1 to 6 do sCont := sCont + ' ';
iRetorno := Bematech_FI_ContadorFitaDetalheMFD( sCont );


Bematech_FI_ContadorOperacoesNaoFiscaisCanceladasMFD

Retorna o número de operações não fiscais canceladas.

Parâmetro:

OperacoesCanceladas: Variável STRING com o tamanho de 4 posições para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sOp = space(4)
iRetorno = Bematech_FI_ContadorOperacoesNaoFiscaisCanceladasMFD(sOp)

// Exemplo em Delphi
for iConta := 1 to 4 do sOp := sOp + ' ';
iRetorno := Bematech_FI_ContadorOperacoesNaoFiscaisCanceladasMFD( sOp );


Bematech_FI_ContadorRelatoriosGerenciaisMFD

Retorna o número de relatórios gerenciais emitidos.

Parâmetro:

Relatorios: Variável STRING com o tamanho de 6 posições para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sRel = space(6)
iRetorno = Bematech_FI_ContadorRelatoriosGerenciaisMFD(sRel)

// Exemplo em Delphi
for iConta := 1 to 6 do sRel := sRel + ' ';
iRetorno := Bematech_FI_ContadorRelatoriosGerenciaisMFD( sRel );


Bematech_FI_DadosUltimaReducaoMFD

Retorna os dados da impressora no momento da última redução Z.

Parâmetro:

DadosReducao: Variável STRING com o tamanho de 1278 posições para receber os dados da última redução.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

- São retornados os valores das seguintes informações separados por vírgulas:

Modo de redução Z:                                          2 bytes (se 00 redução por comando se 01 redução automática)
Contador de redução z:                                      4 bytes
Contador de ordem de operação:                              6 bytes
Contador Geral de operações não fiscais:                    6 bytes
Contador de cupom fiscal:                                   6 bytes
Contador Geral de relatório gerencial:                      6 bytes
Contador de fita detalhe emitida:                           6 bytes
Contador de operação não fiscal cancelada:                  4 bytes
Contador de cupom fiscal cancelado:                         4 bytes
Contadores específicos de operações não fiscais:            120 bytes
Contadores específicos de relatórios gerenciais:            120 bytes
Contador de comprovantes de débito ou crédito:              4 bytes
Contador de comprovantes de débito ou crédito não emitidos: 4 bytes
Totalizador geral:                                          18 bytes
Totalizadores Parciais Tributados:                          224 bytes
Totalizador de isenção de ICMS:                             14 bytes
Totalizador de não incidência de ICMS:                      14 bytes
Totalizador de substituição tributária de ICMS:             14 bytes
Totalizador de isenção de ISSQN:                            14 bytes
Totalizador de não incidência de ISSQN:                     14 bytes
Totalizador de substituição tributária de ISSQN:            14 bytes
Totalizador de descontos em ICMS:                           14 bytes
Totalizador de descontos em ISSQN:                          14 bytes
Totalizador de acréscimos em ICMS:                          14 bytes
Totalizador de acréscimos em ISSQN:                         14 bytes
Totalizador de cancelamentos em ICMS                        14 bytes
Totalizador de cancelamentos em ISSQN:                      14 bytes
Totalizadores parciais não sujeitos ao ICMS:                392 bytes
Totalizador de sangria:                                     14 bytes
Totalizador de suprimento:                                  14 bytes
Totalizador de cancelamentos de não fiscais:                14 bytes
Totalizador de descontos de não fiscais:                    14 bytes
Totalizador de acréscimos de não fiscais:                   14 bytes
Alíquotas tributárias:                                      64 bytes
Data do movimento:                                          6 bytes

Exemplo:

' Exemplo em Visual Basic
sDados = space(1278)
iRetorno = Bematech_FI_DadosUltimaReducaoMFD(sDados)

// Exemplo em Delphi
for iConta := 1 to 1278 do sDados := sDados + ' ';
iRetorno := Bematech_FI_DadosUltimaReducaoMFD( sDados );


Bematech_FI_DataHoraUltimoDocumentoMFD

Retorna a data e hora do último documento armazenado na MFD no formato dd/mm/aa hh/mm/ss (sem barras e espaço).

Parâmetro:

DataHora: Variável STRING com o tamanho de 12 posições para receber os dados.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sDataHora = space(12)
iRetorno = Bematech_FI_DataHoraUltimoDocumentoMFD(sDataHora)

// Exemplo em Delphi
for iConta := 1 to 12 do sDataHora := sDataHora + ' ';
iRetorno := Bematech_FI_DataHoraUltimoDocumentoMFD( sDataHora ):


Bematech_FI_InscricaoEstadualMFD

Retorna a incrição estadual do cliente cadatrada na impressora.

Parâmetro:

InscricaoEstadual: Variável STRING com o tamanho de 20 posições para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sInscricaoEstadual = space(20)
iRetorno = Bematech_FI_InscricaoEstadualMFD(sInscricaoEstadual)

// Exemplo em Delphi
for iConta := 1 to 20 do sInscricaoEstadual := sInscricaoEstadual + ' ';
iRetorno := Bematech_FI_InscricaoEstadualMFD( sInscricaoEstadual );


Bematech_FI_InscricaoMunicipalMFD

Retorna a incrição municipal do cliente cadatrada na impressora.

Parâmetro:

InscricaoMunicipal: Variável STRING com o tamanho de 20 posições para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sInscricaoMunicipal = space(20)
iRetorno = Bematech_FI_InscricaoMunicipalMFD(sInscricaoMunicipal)

// Exemplo em Delphi
for iConta := 1 to 20 do sInscricaoMunicipal := sInscricaoMunicipal + ' ';
iRetorno := Bematech_FI_InscricaoMunicipalMFD( sInscricaoMunicipal );


Bematech_FI_MarcaModeloTipoImpressoraMFD

Retorna a marca, o modelo e o tipo da impressora.

Parâmetro:

Marca: Variável STRING com 15 posições para receber a marca da impressora.

Modelo: Variável STRING com 20 posições para receber o modelo.

Tipo: Variável STRING com 7 posições para receber o tipo da impressora.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sMarca = space(15)
sModelo = space(20)
sTipo = space(7)
iRetorno = Bematech_FI_MarcaModeloTipoImpressoraMFD(sMarca,sModelo,sTipo)

// Exemplo em Delphi
for iConta := 1 to 15 do sMarca  := sMarca  + ' ';
for iConta := 1 to 20 do sModelo := sModelo + ' ';
for iConta := 1 to 7  do sTipo   := sTipo   + ' ';
iRetorno := Bematech_FI_MarcaModeloTipoImpressoraMFD( sMarca, sModelo, sTipo );


Bematech_FI_MinutosEmitindoDocumentosFiscaisMFD

Retorna o tempo em que a impressora emitiu documentos fiscais.

Parâmetro:

Minutos: Variável STRING com o tamanho de 4 posições para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sTempo = space(4)
iRetorno = Bematech_FI_MinutosEmitindoDocumentosFiscaisMFD(sTempo)

// Exemplo em Delphi
for iConta := 1 to 4 do sTempo := sTempo + ' ';
iRetorno := Bematech_FI_MinutosEmitindoDocumentosFiscaisMFD( sTempo );


Bematech_FI_NumeroSerieMemoriaMFD

Retorna o número de série da memória de fita detalhe (MFD).

Parâmetro:

NumeroSerieMFD: Variável STRING com o tamanho de 20 posições para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sMFD = space(20)
iRetorno = Bematech_FI_NumeroSerieMemoriaMFD(sMFD)

// Exemplo em Delphi
for iConta := 1 to 20 do sMFD := sMFD + ' ';
iRetorno := Bematech_FI_NumeroSerieMemoriaMFD( sMFD );


Bematech_FI_NumeroSerieMFD

Retorna o número de série da impressora MFD.

Parâmetro:

NumeroSerie: Variável STRING com o tamanho de 20 posições para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sNumeroSerie = space(20)
iRetorno = Bematech_FI_NumeroSerieMFD(sNumeroSerie)

// Exemplo em Delphi
for iConta := 1 to 20 do sNumeroSerie := sNumeroSerie + ' ';
iRetorno := Bematech_FI_NumeroSerieMFD(sNumeroSerie);


Bematech_FI_PercentualLivreMFD

Retorna o percentual livre da Memória Fita Detalhe (MFD) no formato XX,XX% (com a virgula e o %).

Parâmetro:

MemoriaLivre: Variável STRING com o tamanho de 6 posições para receber os dados.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sMemoriaLivre = space(6)
iRetorno = Bematech_FI_PercentualLivreMFD(sMemoriaLivre)

// Exemplo em Delphi
for iConta := 1 to 6 do sMemoriaLivre := sMemoriaLivre + ' ';
iRetorno := Bematech_FI_PercentualLivreMFD( sMemoriaLivre ):


Bematech_FI_ReducoesRestantesMFD

Retorna o número de reduções restantes na impressora.

Parâmetro:

Reduções: Variável STRING com o tamanho de 4 posições para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sRed = space(4)
iRetorno = Bematech_FI_ReducoesRestantesMFD(sRed)

// Exemplo em Delphi
for iConta := 1 to 4 do sRed := sRed + ' ';
iRetorno := Bematech_FI_ReducoesRestantesMFD( sRed );


Bematech_FI_TamanhoTotalMFD

Retorna o tamanho total da MFD em bytes.

Parâmetro:

MemoriaLivre: Variável STRING com o tamanho de 10 posições para receber os dados.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sMemoriaLivre = space(10)
iRetorno = Bematech_FI_TamanhoTotalMFD(sMemoriaLivre)

// Exemplo em Delphi
for iConta := 1 to 10 do sMemoriaLivre := sMemoriaLivre + ' ';
iRetorno := Bematech_FI_TamanhoTotalMFD( sMemoriaLivre ):


Bematech_FI_TempoOperacionalMFD

Retorna o tempo em que a impressora está operacional.

Parâmetro:

TempoOperacional: Variável STRING com o tamanho de 4 posições para receber a informação.

Valores de Retorno:

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sTempo = space(4)
iRetorno = Bematech_FI_TempoOperacionalMFD(sTempo)

// Exemplo em Delphi
for iConta := 1 to 4 do sTempo := sTempo + ' ';
iRetorno := Bematech_FI_TempoOperacionalMFD( sTempo );


Bematech_FI_TotalLivreMFD

Retorna o quantidade de bytes livres na MFD.

Parâmetro:

MemoriaLivre: Variável STRING com o tamanho de 10 posições para receber os dados.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sMemoriaLivre = space(10)
iRetorno = Bematech_FI_TotalLivreMFD(sMemoriaLivre)

// Exemplo em Delphi
for iConta := 1 to 10 do sMemoriaLivre := sMemoriaLivre + ' ';
iRetorno := Bematech_FI_TotalLivreMFD( sMemoriaLivre );


Bematech_FI_ValorFormaPagamentoMFD

Retorna o valor acumulado em uma determinada forma de pagamento.

Parâmetros:

FormaPagamento: Variável STRING com até 16 posições com a descrição da Forma de Pagamento que deseja retornar o seu valor.
Valor: Variável STRING com 14 posições para receber a informação.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-2: Parâmetro inválido na função.
-24: Forma de pagamento não programada.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
Valor = Space(14)
iRetorno = Bematech_FI_ValorFormaPagamentoMFD("Cheque", Valor)

// Exemplo em Delphi
cFormaPgto := 'Cheque';
for iConta := 1 to 14 do Valor := Valor + ' ';
iRetorno := Bematech_FI_ValorFormaPagamentoMFD( pchar ( cFormaPgto ), Valor );


Bematech_FI_ValorTotalizadorNaoFiscalMFD

Retorna o valor acumulado em um determinado totalizador não fiscal.

Parâmetros:

Totalizador: Variável STRING com até 19 posições com a descrição do Totalizador.
Valor: Variável STRING com 14 posições para receber a informação.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-2: Parâmetro inválido na função.
-25: Totalizador não fiscal não programado.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Exemplo:

' Exemplo em Visual Basic
Valor = Space(14)
iRetorno = Bematech_FI_ValorTotalizadorNaoFiscalMFD("Rec. Prestacao", Valor)

// Exemplo em Delphi
cTotalizador := 'Cheque';
for iConta := 1 to 14 do Valor := Valor + ' ';
iRetorno := Bematech_FI_ValorTotalizadorNaoFiscalMFD( pchar ( cTotalizador ), Valor );


Bematech_FI_VerificaEstadoImpressoraMFD

Retorna o estado da impressora.

Parâmetros:

ACK: Variável inteira para receber o primeiro byte.
ST1: Variável inteira para receber o segundo byte.
ST2: Variável inteira para receber o terceiro byte.
ST3: Variável inteira para receber o quarto byte (caso seja habilitado o retorno estendido).

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0,0 (ACK, ST1, ST2 e ST3).

Observação:

- Essa função devolve o status da impressora.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_VerificaEstadoImpressoraMFD( iAck, iSt1, iSt2, St3 )

// Exemplo em Delphi
iRetorno := Bematech_FI_VerificaEstadoImpressoraMFD( iAck, iSt1, iSt2, St3 );


Bematech_FI_VerificaFormasPagamentoMFD

Retorna as formas de pagamento e seus valores acumulados.

Parâmetro:

FormasPagamento: Variável STRING com 919 posições para receber as formas programadas.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-1 - Erro de execução.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

- Essa função retorna as informações das formas de pagamento na seguinte ordem:

Descricao da forma de pagamento............................................: 16 bytes
Valor acumulado da forma (duas casas decimais).............................: 14 bytes
Valor recebido no último cupom (duas casas decimais).......................:14 bytes
Valor indicando se a forma permite operação TEF (1 permite, 0 não permite ):1 byte

- São retornadas 20 formas de pagamento mais a forma "Valor Recebido" e "Troco" obedecendo a ordem descrita anteriormente. As formas de pagamento vêem separadas por vírgula. Veja exemplo a seguir:

Dinheiro        00000000000000041558000000000000000015580,
Cartao Credito  00000000000000039470000000000000000000000,
Cheque          00000000000000028940000000000000000000000,
Ticket          00000000000000009000000000000000000000000,
.
.
.
Valor Recebido  00000000000000118968000000000000000015580,
Troco           00000000000000000000000000000000000000000

- A impressora MFD permite programar até 20 formas de pagamento e essas formas não são mais apagadas na redução Z (conforme ocorria na impressora MP20 FI II). As formas que não estiverem programadas estarão com os valores zerados e a descrição em branco (veja exemplo acima).

Exemplo:

' Exemplo em Visual Basic
sFgto = space(919)
iRetorno = Bematech_FI_VerificaFormasPagamentoMFD(sFgto)

// Exemplo em Delphi
for iConta := 1 to 919 do sFgto := sFgto + ' ';
iRetorno := Bematech_FI_VerificaFormasPagamentoMFD( sFgto );


Bematech_FI_VerificaRecebimentoNaoFiscalMFD

Retorna os recebimentos não fiscais não vinculados programados na impressora.

Parâmetro:

Recebimentos: Variável STRING com 1077 posições para receber as informações.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

- Essa função retorna as informações para os 30 totalizadores não fiscais não vinculados na seguinte ordem:

Descrição do recebimento...................................: 19 bytes
Valor acumulado para cada recebimento (duas casas decimais): 14 bytes

Exemplo:

Conta de água      00000000005460,
Conta de Luz       00000000145850,
Conta de Telefone  00000000078437,
.
.
.
Sangria            00000000000000,
Suprimento         00000000010000,

- A impressora permite programar até 28 totalizadores não fiscais não vinculados, os totalizadores "Sangria" e "Suprimento" são pré-programados.

Exemplo:

' Exemplo em Visual Basic
sRec = space(1077)
iRetorno = Bematech_FI_VerificaRecebimentoNaoFiscalMFD(sRec)

// Exemplo em Delphi
for iConta := 1 to 1077 do sRec := sRec + ' ';
iRetorno := Bematech_FI_VerificaRecebimentoNaoFiscalMFD( sRec );


Bematech_FI_VerificaRelatorioGerencialMFD

Retorna os relatórios gerenciais programados e seus valores acumulados.

Parâmetro:

Relatorios: Variável STRING com 659 posições para receber as informações.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

- Essa função retorna as informações para os 30 relatórios gerenciais na seguinte ordem:

Número de vezes que o relatório foi utilizado: 4 bytes
Descrição do relatório.......................: 17 bytes

Exemplo:

0005Relatorio Geral  ,
0002Relatorio 3      ,
0001Relatorio 4      ,
.
.
.
0004Relatorio 30     ,

Exemplo:

' Exemplo em Visual Basic
sRel = space(659)
iRetorno = Bematech_FI_VerificaRelatorioGerencialMFD(sRec)

// Exemplo em Delphi
for iConta := 1 to 659 do sRel := sRel + ' ';
iRetorno := Bematech_FI_VerificaRelatorioGerencialMFD( sRec );


Bematech_FI_VerificaTotalizadoresNaoFiscaisMFD

Retorna a descrição dos totalizadores não fiscais programados na impressora.

Parâmetro:

Totalizadores: Variável STRING com 599 posições para receber a descrição dos totalizadores não fiscais programados.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-1 - Erro de execução.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

- A impressora MFD permite programar até 28 totalizadores não fiscais e possui dois (2) pré-programados: Sangria e Suprimento.
- Os totalizadores virão separados por vírgula.

Exemplo:

' Exemplo em Visual Basic
sTot = space(599)
iRetorno = Bematech_FI_VerificaTotalizadoresNaoFiscaisMFD(sTot)

// Exemplo em Delphi
for iConta := 1 to 599 do sTot := sTot + ' ';
iRetorno := Bematech_FI_VerificaTotalizadoresNaoFiscaisMFD( sTot );


Bematech_FI_VerificaTotalizadoresParciaisMFD

Retorna os totalizadores parciais da impressora.

Parâmetro:

Totalizadores: Variável STRING com o tamanho de 889 posições para receber os totalizadores parciais.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-1 - Erro de execução.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

- São retornadas as seguintes informações separadas por vírgulas:

Totalizadores parciais tributados:                224 bytes
Isenção de ICMS:                                  14 bytes
Não incidência de ICMS:                           14 bytes
Substitução de ICMS:                              14 bytes
Isenção de ISSQN:                                 14 bytes
Não incidência de ISSQN:                          14 bytes
Substitução de ISSQN:                             14 bytes
Descontos sobre ICMS:                             14 bytes
Acréscimos sobre ICMS:                            14 bytes
Cancelamentos sobre ICMS:                         14 bytes
Descontos sobre ISSQN:                            14 bytes
Acréscimos sobre ISSQN:                           14 bytes
Cancelamentos sobre ISSQN:                        14 bytes
Totalizadores não fiscais + sangria e suprimento: 210 bytes
Descontos sobre não fiscais:                      14 bytes
Acréscimos sobre não fiscais:                     14 bytes
Cancelamentos sobre não fiscais:                  14 bytes
Grande Total:                                     18 bytes

Exemplo:

' Exemplo em Visual Basic
sTot = space(889)
iRetorno = Bematech_FI_VerificaTotalizadoresParciaisMFD(sTot)

// Exemplo em Delphi
for iConta := 1 to 889 do sTot := sTot + ' ';
iRetorno := Bematech_FI_VerificaTotalizadoresParciaisMFD( sTot );


Bematech_FI_VersaoFirmwareMFD

Retorna a versão do firmware da impressora MFD.

Parâmetro:

VersaoFirmware: Variável STRING com o tamanho de 6 posições para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sVersaoFirmware = space(6)
iRetorno = Bematech_FI_VersaoFirmwareMFD(sVersaoFirmware)

// Exemplo em Delphi
for iConta := 1 to 6 do sVersaoFirmware := sVersaoFirmware + ' ';
iRetorno := Bematech_FI_VersaoFirmwareMFD( sVersaoFirmware );


Bematech_FI_StatusEstendidoMFD

Retorna o status de relatório gerencial ou comprovante não-fiscal aberto.

Parâmetro:

iStatus: Variável INTEGER para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observação:

- Função disponível para a impressora fiscal térmica MP-2000 TH FI versão 01.00.02 ou 01.01.01.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_StatusEstendidoMFD(iStatus)

// Exemplo em Delphi
iRetorno := Bematech_FI_StatusEstendidoMFD( iStatus );

Análise do iStatus:

   ...
   if iStatus >= 128 then
      iStatus = iStatus - 128
   endif

   if iStatus >= 64 then
      iStatus = iStatus -  64
      cMensagem = cMensagem + "Estorno de Comprovante de Débito ou Crédito
                               permitido" + chr(13) + chr(10)
   endif

   if iStatus >= 32 then
      iStatus = iStatus - 32
      cMensagem = cMensagem + "Permite cancelamento do CNF" + chr(13) + chr(10)
   endif

   if iStatus >= 16 then
      iStatus = iStatus - 16
   endif

   if iStatus >= 8 then
      iStatus = iStatus - 8
      cMensagem = cMensagem + "Totalizando Cupom" + chr(13) + chr(10)
   endif

   if iStatus >= 4 then
      iStatus = iStatus - 4
      cMensagem = cMensagem + "Relatório Gerencial Aberto" + chr(13) + chr(10)
   endif

   if iStatus >= 2 then
      iStatus = iStatus - 2
      cMensagem = cMensagem + "Comprovante de Débito ou Crédito
                               Aberto" + chr(13) + chr(10)
   endif

   if iStatus >= 1 then
      iStatus = iStatus - 1
      cMensagem = cMensagem + "Comprovante Não-Fiscal Aberto" + chr(13) + chr(10)
   endif
   ...


Bematech_FI_TempoRestanteComprovanteMFD

Retorna o tempo restante do relatório gerencial ou do comprovante não-fiscal aberto. Este tempo é retornado em segundos e o limite destes comprovantes é de 2 minutos.

Parâmetro:

cTempo: Variável STRING para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observação:

- Função disponível para a impressora fiscal térmica MP-2000 TH FI versão 01.00.02 ou 01.01.01.

Exemplo:

' Exemplo em Visual Basic
cTempo = space(4)
iRetorno = Bematech_FI_TempoRestanteComprovanteMFD(cTempo)

// Exemplo em Delphi
for iConta := 1 to 4 do cTempo := cTempo + ' ';
iRetorno   := Bematech_FI_TempoRestanteComprovanteMFD( cTempo );


Bematech_FI_UFProprietarioMFD

Retorna a UF do proprietário cadastrada na impressora.

Parâmetro:

cUF: Variável STRING para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observação:

- Função disponível para a impressora fiscal térmica MP-2000 TH FI versão 01.00.02 ou 01.01.01.

Exemplo:

' Exemplo em Visual Basic
cUF = space(2)
iRetorno = Bematech_FI_UFProprietarioMFD(cUF)

// Exemplo em Delphi
for iConta := 1 to 2 do cUF := cUF + ' ';
iRetorno   := Bematech_FI_UFProprietarioMFD( cUF );


Bematech_FI_GrandeTotalUltimaReducaoMFD

Retorna o grande total (GT) da última redução Z.

Parâmetro:

cGT: Variável STRING para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observação:

- Função disponível para a impressora fiscal térmica MP-2000 TH FI versão 01.00.02 ou 01.01.01.

Exemplo:

' Exemplo em Visual Basic
cGT = space(18)
iRetorno = Bematech_FI_GrandeTotalUltimaReducaoMFD(cGT)

// Exemplo em Delphi
for iConta := 1 to 18 do cGT := cGT + ' ';
iRetorno   := Bematech_FI_GrandeTotalUltimaReducaoMFD( cGT );


Bematech_FI_DataMovimentoUltimaReducaoMFD

Retorna a data do movimento da última redução Z.

Parâmetro:

cDataMovimento: Variável STRING para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observação:

- Função disponível para a impressora fiscal térmica MP-2000 TH FI versão 01.00.02 ou 01.01.01.

Exemplo:

' Exemplo em Visual Basic
cDataMovimento = space(6)
iRetorno = Bematech_FI_DataMovimentoUltimaReducaoMFD(cDataMovimento)

// Exemplo em Delphi
for iConta := 1 to 6 do cDataMovimento := cDataMovimento + ' ';
iRetorno   := Bematech_FI_DataMovimentoUltimaReducaoMFD( cDataMovimento );


Bematech_FI_SubTotalComprovanteNaoFiscalMFD

Retorna o subtotal do comprovante não fiscal não vinculado (recebimento).

Parâmetro:

cSubtotal: Variável STRING para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observação:

- Função disponível para a impressora fiscal térmica MP-2000 TH FI versão 01.00.02 ou 01.01.01.

Exemplo:

' Exemplo em Visual Basic
cSubtotal = space(14)
iRetorno = Bematech_FI_SubTotalComprovanteNaoFiscalMFD(cSubtotal)

// Exemplo em Delphi
for iConta := 1 to 14 do cSubtotal := cSubtotal + ' ';
iRetorno   := Bematech_FI_SubTotalComprovanteNaoFiscalMFD( cSubtotal );


Bematech_FI_InicioFimGTsMFD

Retorna o valor do grande total (GT) inicial e final.

Parâmetros:

cGTInicial: Variável STRING para receber a informação do GT inicial.
cGTFinal: Variável STRING para receber a informação do GT final.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observação:

- Esta função deve ser usada após a redução Z para que o GT inicial e final tenha referência ao dia do movimento atual.
- Função disponível para a impressora fiscal térmica MP-2000 TH FI versão 01.00.02 ou 01.01.01.

Exemplo:

' Exemplo em Visual Basic
cGTInicial = space(18)
cGTFinal = space(18)
iRetorno = Bematech_FI_InicioFimGTsMFD(cGTInicial, cGTFinal)

// Exemplo em Delphi
for iConta := 1 to 18 do
   begin
      cGTInicial := cGTInicial + ' ';
      cGTFinal   := cGTFinal   + ' ';
   end;
iRetorno := Bematech_FI_InicioFimGTsMFD( cGTInicial, cGTFinal );


Bematech_FI_InicioFimCOOsMFD

Retorna o COO (Contador de Ordem de Operação) inicial e final.

Parâmetros:

cCOOInicial: Variável STRING para receber a informação do COO inicial.
cCOOFinal: Variável STRING para receber a informação do COO final.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observação:

- Esta função deve ser usada após a redução Z para que o COO inicial e final tenha referência ao dia do movimento atual.
- Função disponível para a impressora fiscal térmica MP-2000 TH FI versão 01.00.02 ou 01.01.01.

Exemplo:

' Exemplo em Visual Basic
cCOOInicial = space(6)
cCOOFinal = space(6)
iRetorno = Bematech_FI_InicioFimCOOsMFD(cCOOInicial, cCOOFinal)

// Exemplo em Delphi
for iConta := 1 to 6 do
   begin
      cCOOInicial := cCOOInicial + ' ';
      cCOOFinal   := cCOOFinal   + ' ';
   end;
iRetorno := Bematech_FI_InicioFimCOOsMFD( cCOOInicial, cCOOFinal );


Bematech_FI_VerificaFlagCorteMFD

Retorna o flag de acionamento da guilhotina.

Parâmetro:

iFlag: Variável INTEIRA para receber a informação.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observação:

- Função disponível para a impressora fiscal térmica MP-2000 TH FI versão 01.00.02 ou 01.01.01.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_VerificaFlagCorteMFD(iFlag)

// Exemplo em Delphi
iRetorno := Bematech_FI_VerificaFlagCorteMFD( iFlag );


Bematech_FI_ImprimeChequeMFD

Imprime cheque na impressora MFD. Somente na impressora MP 6000.

Parâmetros:

NumeroBanco: STRING com o Número do banco com 3 dígitos.

Valor: STRING com o Valor do cheque com até 14 dígitos.

Favorecido: STRING com o Favorecido com até 45 caracteres.

Cidade: STRING com a Cidade com até 27 caracteres.

Data: STRING com a Data no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.

Mensagem: STRING com Comentários até 120 caracteres. A mensagem será impressa uma (1) linha após a cidade caso não tenha sido indicada para impressão no verso.

ImpressaoVerso: STRING com o valor zero (0) para impressão da mensagem na frente do cheque e o valor um (1) para impressão no verso.

Linhas: STRING com um valor entre 0 e 35 com o número de linhas a serem saltadas antes da impressão da mensagem (só é utilizada na impressão da mensagem no verso).

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-7 - Banco não localizado no arquivo de configuração BemaFi32.ini
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ImprimeChequeMFD("001", "50,00", "Fulano de Tal", "Curitiba", "18/04/02", "", "0", "0")

// Exemplo em Delphi
cCodigoBanco := '001';
cValor       := '50,00';
cFavorecido  := 'Fulano de Tal';
cCidade      := 'Curitiba';
cData        := '18/04/02';
cMsg         := '';
cVerso       := '0';
cLinhas      := '0';
iRetorno := Bematech_FI_ImprimeChequeMFD( pchar ( cCodigoBanco ),
                                          pchar( cValor ),
                                          pchar( cFavorecido ),
                                          pchar( cCidade ),
                                          pchar( cData ),
                                          pchar( cMsg ),
                                          pchar( cVerso ),
                                          pchar( cLinhas ) );


Bematech_FI_LeituraChequeMFD

Realiza a leitura do código CMC7 do cheque.

Parâmetro:

CodigoCMC7: Variável STRING com 36 posições para receber o código CMC7.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-8 - Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
sCMC7 = space(36)
iRetorno = Bematech_FI_LeituraChequeMFD(sCMC7)

// Exemplo em Delphi
for iConta := 1 to 36 do sCMC7 := sCMC7 + ' ';
iRetorno := Bematech_FI_LeituraChequeMFD( sCMC7 );


Bematech_FI_ImprimeInformacaoChequeMFD

Imprime informações adicionais em um cheque já impresso.

Importante
Esta função só está disponível para a versão 01.00.00, da Impressora Fiscal MFD.

Parâmetros:

Posicao: INTEGER com 0 para impressão frontal ou 1 para a impressão no verso.
Linhas: INTEGER com o número de avanços de linha antes da impressão.
Mensagem: STRING com o texto limitado a 240 caracteres ou 3 linhas.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ImprimeInformacaoChequeMFD(1, 2, "Teste de impressão no verso do cheque")

// Exemplo em Delphi
cMsg := 'Teste de impressão no verso do cheque';
iRetorno := Bematech_FI_ImprimeInformacaoChequeMFD( 1, 2, pchar ( cMsg ) );


Bematech_FI_ConfiguraCodigoBarrasMFD

Esta função configura os códigos de barras definindo Altura, Largura e Posição dos caracteres.

Parâmetros:

Altura - Inteiro entre 1 à 255. (default 162)

Largura - Inteiro entre 0 à 2.
Largura = 0 (barras finas)
Largura = 1 (barras médias) - default
Largura = 2 (barras grossas)

Posição dos Caracteres - Inteiro entre 0 à 3.
Posição = 0 (não imprime os caracteres do código)
Posição = 1 (imprime os caracteres acima do código)
Posição = 2 (imprime os caracteres abaixo do código) - default
Posição = 3 (imprime os caracteres acima e abaixo do código)

Fonte - Inteiro entre 0 à 1.
Fonte = 0 (normal)
Fonte = 1 (condensado)

Margem - Inteiro entre 0 à 575 (dots pitch)
Margem = 0 (sem margem) default

Observação:

- Esta função é utilizada somente nas impressoras fiscais térmicas.
- A configuração do código de barras deve ser realizada dentro do Relatório Gerencial ou dentro do Comprovante Não Fiscal Vinculado.

Possíveis retornos da Função (INTEIRO):

0 (zero): Erro de Comunicação.
1 (um): OK.
-2 (menos dois): Parâmetro Inválido.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ConfiguraCodigoBarrasMFD(100, 1, 3, 0, 5)

// Exemplo em Delphi
iRetorno := Bematech_FI_ConfiguraCodigoBarrasMFD( 100, 1, 3, 0, 5 );


Bematech_FI_CodigoBarrasCODABARMFD

Esta função faz a impressão do código de barras CODABAR.

Parâmetro:

Código: STRING do código que será gerado.

O tamanho da string é dada pela tabela abaixo.

Largura das Barras | Quantidade de Caracteres
0 | 20
1 | 12
2 | 8

A Largura das Barras é 1 (default).

Observações:

- Esta função é utilizada somente nas impressoras fiscais térmicas.
- Será acrescentado, automaticamente, o dígito verificador.
- A impressão do código de barras só será executado dentro do Relatório Gerencial ou dentro do Comprovante Não Fiscal Vinculado.
- Aceita dígitos entre 0 à 9.
- Aceita as letras A, B, C e D (maiúsculas ou minúsculas).
- Aceita os caracteres: "$", "+", "-", ".", "/" e ":".

Possíveis retornos da Função (INTEIRO):

0 (zero): Erro de Comunicação.
1 (um): OK.
-2 (menos dois): Parâmetro Inválido.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CodigoBarrasCODABARMFD("123-ABC/001")

// Exemplo em Delphi
cCodigo := '123-ABC/001';
iRetorno := Bematech_FI_CodigoBarrasCODABARMFD( pchar ( cCodigo ) );


Bematech_FI_CodigoBarrasCODE128MFD

Esta função faz a impressão do código de barras CODE128.

Parâmetro:

Código: STRING com o código que será gerado.

O tamanho da string é dada pela tabela abaixo:

Largura das Barras | Quantidade de Caracteres
0 | 42
1 | 28
2 | 16

A Largura das Barras é 1 (default).

Observações:

- Esta função é utilizada somente nas impressoras fiscais térmicas.
- Aceita os caracteres da tabela ASCII, na faixa de valores de 001 à 127.
- A impressão do código de barras só será executado dentro do Relatório Gerencial ou dentro do Comprovante Não Fiscal Vinculado.

Possíveis retornos da Função (INTEIRO):

0 (zero): Erro de Comunicação.
1 (um): OK.
-2 (menos dois): Parâmetro Inválido.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CodigoBarrasCODE128MFD("Bematech")

// Exemplo em Delphi
cCodigo := 'Bematech';
iRetorno := Bematech_FI_CodigoBarrasCODE128MFD( pchar ( cCodigo ) );


Bematech_FI_CodigoBarrasCODE39MFD

Esta função faz a impressão do código de barras CODE39.

Parâmetro:

Código: STRING com o código que será gerado.

O tamanho da string é dada pela tabela abaixo:

Largura das Barras | Quantidade de Caracteres
0 | 15
1 | 9
2 | 6

A Largura das Barras é 1 (default).

Observações:

- Esta função é utilizada somente nas impressoras fiscais térmicas.
- Será acrescentado, automaticamente, o dígito verificador.
- A impressão do código de barras só será executado dentro do Relatório Gerencial ou dentro do Comprovante Não Fiscal Vinculado.
- Aceita dígitos entre 0 à 9.
- Aceita letras de A à Z (maiúsculas ou minúsculas).
- Aceita os caracteres: "espaço em branco", "$", "%", "+", "-", "." e "/".
- As letras não podem se maiúsculas e minúsculas simultaneamente.

Possíveis retornos da Função (INTEIRO):

0 (zero): Erro de Comunicação.
1 (um): OK.
-2 (menos dois): Parâmetro Inválido.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CodigoBarrasCODE39MFD("abc-123")

// Exemplo em Delphi
cCodigo := 'abc-123';
iRetorno := Bematech_FI_CodigoBarrasCODE39MFD( pchar ( cCodigo ) );


Bematech_FI_CodigoBarrasCODE93MFD

Esta função faz a impressão do código de barras CODE93.

Parâmetro:

Código: STRING com o código que será gerado.

O tamanho da string é dada pela tabela abaixo:

Largura das Barras | Quantidade de Caracteres
0 | 15
1 | 9
2 | 6

A Largura das Barras é 1 (default).

Observações:

- Esta função é utilizada somente nas impressoras fiscais térmicas.
- Será acrescentado, automaticamente, o dígito verificador.
- A impressão do código de barras só será executado dentro do Relatório Gerencial ou dentro do Comprovante Não Fiscal Vinculado.
- Aceita os caracteres da tabela ASCII, na faixa de valores de 001 à 127.

Possíveis retornos da Função (INTEIRO):

0 (zero): Erro de Comunicação.
1 (um): OK.
-2 (menos dois): Parâmetro Inválido.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CodigoBarrasCODE93MFD("123-ABC")

// Exemplo em Delphi
cCodigo := '123-ABC';
iRetorno := Bematech_FI_CodigoBarrasCODE93MFD( pchar ( cCodigo ) );


Bematech_FI_CodigoBarrasEAN13MFD

Esta função faz a impressão do código de barras EAN13.

Parâmetro:

Codigo: STRING com o tamanho de 12 dígitos de 0 à 9.

Observação:

- Esta função é utilizada somente nas impressoras fiscais térmicas.
- Será acrescentado, automaticamente, o dígito verificador.
- A impressão do código de barras só será executado dentro do Relatório Gerencial ou dentro do Comprovante Não Fiscal Vinculado.

Possíveis retornos da Função (INTEIRO):

0 (zero): Erro de Comunicação.
1 (um): OK.
-2 (menos dois): Parâmetro Inválido.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CodigoBarrasEAN13MFD("123456789012")

// Exemplo em Delphi
cCodigo := '123456789012';
iRetorno := Bematech_FI_CodigoBarrasEAN13MFD( pchar ( cCodigo ) );


Bematech_FI_CodigoBarrasEAN8MFD

Esta função faz a impressão do código de barras EAN8.

Parâmetro:

Codigo: STRING com o tamanho de 7 dígitos de 0 à 9.

Observação:

- Esta função é utilizada somente nas impressoras fiscais térmicas.
- Será acrescentado, automaticamente, o dígito verificador.
- A impressão do código de barras só será executado dentro do Relatório Gerencial ou dentro do Comprovante Não Fiscal Vinculado.

Possíveis retornos da Função (INTEIRO):

0 (zero): Erro de Comunicação.
1 (um): OK.
-2 (menos dois): Parâmetro Inválido.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CodigoBarrasEAN8MFD("1234567")

// Exemplo em Delphi
cCodigo := '1234567';
iRetorno := Bematech_FI_CodigoBarrasEAN8MFD( pchar ( cCodigo ) );


Bematech_FI_CodigoBarrasISBNMFD

Esta função faz a impressão do código de barras ISBN.

Parâmetro:

Código: STRING com 9 dígitos, composto por dígitos de 0 à 9, "-" (hifen) e "X". O "-" (hifen) e o "X" não são somados. Após o 9º dígito, podem aparecer ainda hifens seguidos por "X" ou algum número com o tamanho de 5 caracteres, não somando o espaço após o "-X" ou após o número. Exemplo: "1-56592-292-X 9000" ou "1-56592-291-1 900000".

Observações:

- Esta função é utilizada somente nas impressoras fiscais térmicas.
- A impressão do código de barras só será executado dentro do Relatório Gerencial ou dentro do Comprovante Não Fiscal Vinculado.

Possíveis retornos da Função (INTEIRO):

0 (zero): Erro de Comunicação.
1 (um): OK.
-2 (menos dois): Parâmetro Inválido.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CodigoBarrasISBNMFD("1-56592-292-X 9000")

// Exemplo em Delphi
cCodigo := '1-56592-292-X 9000';
iRetorno := Bematech_FI_CodigoBarrasISBNMFD( pchar ( cCodigo ) );


Bematech_FI_CodigoBarrasITFMFD

Esta função faz a impressão do código de barras ITF (Intercalado 2/5).

Parâmetro:

Código: STRING com o código que será gerado.

O tamanho da string é dada pela tabela abaixo:

Largura das Barras | Quantidade de Caracteres
0 | 30
1 | 20
2 | 14

A Largura da Barras é 1 (default).

Observaçãos:

- Esta função é utilizada somente nas impressoras fiscais térmicas.
- Aceita dígitos entre 0 à 9.
- A impressão do código de barras só será executado dentro do Relatório Gerencial ou dentro do Comprovante Não Fiscal Vinculado.

Possíveis retornos da Função (INTEIRO):

0 (zero): Erro de Comunicação.
1 (um): OK.
-2 (menos dois): Parâmetro Inválido.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CodigoBarrasITFMFD("0123456789012345")

// Exemplo em Delphi
cCodigo := '0123456789012345';
iRetorno := Bematech_FI_CodigoBarrasITFMFD( pchar ( cCodigo ) );


Bematech_FI_CodigoBarrasMSIMFD

Esta função faz a impressão do código de barras MSI.

Parâmetro:

Código: STRING com o código que será gerado.

O tamanho da string é dada pela tabela abaixo:

Largura das Barras | Quantidade de Caracteres
0 | 16
1 | 10
2 | 7

A Largura da Barras é 1 (default).

Observações:

- Esta função é utilizada somente nas impressoras fiscais térmicas.
- Será acrescentado, automaticamente, o dígito verificador.
- Aceita dígitos entre 0 à 9.
- A impressão do código de barras só será executado dentro do Relatório Gerencial ou dentro do Comprovante Não Fiscal Vinculado.

Possíveis retornos da Função (INTEIRO):

0 (zero): Erro de Comunicação.
1 (um): OK.
-2 (menos dois): Parâmetro Inválido.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CodigoBarrasMSIMFD("123")

// Exemplo em Delphi
cCodigo := '123';
iRetorno := Bematech_FI_CodigoBarrasMSIMFD( pchar ( cCodigo ) );


Bematech_FI_CodigoBarrasPDF417MFD

Esta função faz a impressão do código de barras PDF417.

Parâmetros:

Nível de Correção de Erros - Inteiro entre 0 à 8.
Quanto mais alto o nível, melhor a leitura do código, maior a impressão e menor o número de informações que poderão ser impressas.

Altura - Inteiro entre 1 à 8.
Altura do caracter do código (pitch). 1 pitch = altura de 0,125 mm.

Largura - Inteiro entre 1 à 4.
Largura do caracter do código (pitch). 1 pitch = altura de 0,125 mm.

Número de Colunas Impressa na Linha - Inteiro entre 0 à 30.
"0" (zero) utiliza o máximo de colunas que o mecanismo permite para a largura informada (pitch). Caso não caiba na linha a impressora ajusta, automaticamente, para o máximo de colunas permitido na linha.

Código - String do código que deseja gerar.

Observação:

- Esta função é utilizada somente nas impressoras fiscais térmicas.

Possíveis retornos da Função (INTEIRO):

0 (zero): Erro de Comunicação.
1 (um): OK.
-2 (menos dois): Parâmetro Inválido.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CodigoBarrasPDF417MFD(4, 3, 2, 0, "Bematech. Sempre presente nas melhores soluções !!!")

// Exemplo em Delphi
cCodigo := 'Bematech. Sempre presente nas melhores soluções !!!';
iRetorno := Bematech_FI_CodigoBarrasPDF417MFD( 4, 3, 2, 0, pchar ( cCodigo ) );


Bematech_FI_CodigoBarrasPLESSEYMFD

Esta função faz a impressão do código de barras PLESSEY.

Parâmetro:

Código: STRING com o código que será gerado.

O tamanho da string é dada pela tabela abaixo:

Largura das Barras | Quantidade de Caracteres
0 | 13
1 | 7
2 | 4

A Largura das Barras é 1 (default).

Observações:

- Esta função é utilizada somente nas impressoras fiscais térmicas.
- Será acrescentado, automaticamente, o dígito verificador.
- Aceita dígitos entre 0 à 9.
- Aceita, somente, as letras ABCDEF (maiúsculas e minúsculas).
- As letras não podem ser maiúsculas e minúsculas simultaneamente.
- A impressão do código de barras só será executado dentro do Relatório Gerencial ou dentro do Comprovante Não Fiscal Vinculado.

Possíveis retornos da Função (INTEIRO):

0 (zero): Erro de Comunicação.
1 (um): OK.
-2 (menos dois): Parâmetro Inválido.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CodigoBarrasPLESSEYMFD("123-ABC")

// Exemplo em Delphi
cCodigo := '123-ABC';
iRetorno := Bematech_FI_CodigoBarrasPLESSEYMFD( pchar ( cCodigo ) );


Bematech_FI_CodigoBarrasUPCAMFD

Esta função faz a impressão do código de barras UPCA.

Parâmetro:

Codigo: STRING com o tamanho de 11 dígitos de 0 à 9.

Observações:

- Esta função é utilizada somente nas impressoras fiscais térmicas.
- Será acrescentado, automaticamente, o dígito verificador.
- A impressão do código de barras só será executado dentro do Relatório Gerencial ou dentro do Comprovante Não Fiscal Vinculado.

Possíveis retornos da Função (INTEIRO):

0 (zero): Erro de Comunicação.
1 (um): OK.
-2 (menos dois): Parâmetro Inválido.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CodigoBarrasUPCAMFD("12345678901")

// Exemplo em Delphi
cCodigo := '12345678901';
iRetorno := Bematech_FI_CodigoBarrasUPCAMFD( pchar ( cCodigo ) );


Bematech_FI_CodigoBarrasUPCEMFD

Esta função faz a impressão do código de barras UPCE.

Parâmetro:

Código: STRING com o tamanho de 6 dígitos de 0 à 9.

Observação:

- Esta função é utilizada somente nas impressoras fiscais térmicas.
- Será acrescentado, automaticamente, o dígito verificador.
- A impressão do código de barras só será executado dentro do Relatório Gerencial ou dentro do Comprovante Não Fiscal Vinculado.

Possíveis retornos da Função (INTEIRO):

0 (zero): Erro de Comunicação.
1 (um): OK.
-2 (menos dois): Parâmetro Inválido.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_CodigoBarrasUPCEMFD("123456")

// Exemplo em Delphi
cCodigo := '123456';
iRetorno := Bematech_FI_CodigoBarrasUPCEMFD( pchar ( cCodigo ) );


Bematech_FI_AbreBilhetePassagemMFD

Abre o cupom na impressora bilhete de passagem MFD.

Parâmetros:

Embarque: STRING com até 40 caracteres com o local de embarque.

Destino: STRING com até 40 caracteres com o local de destino.

Linha: STRING com até 40 caracteres com o nome da linha (Ex. Curitiba x São Paulo – Executivo)

Agencia: STRING com até 40 caracteres com o nome da agência.

Data: STRING com a data de embarque no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.

Hora: STRING com a hora do embarque no formato hhmmss ou hh:mm:ss.

Poltrona: STRING com até 2 caracteres com o número da poltrona.

Plataforma: STRING com até 3 caracteres com o número da plataforma.

TipoPassagem: STRING com:
0 (zero) - passagem Rodoviário Intermunicipal;
1 (um) - passagem Ferroviário Intermunicipal;
2 (dois) - passagem Aquaviário Intermunicipal;
3 (três) - passagem Rodoviário Interestadual;
4 (quatro) - passagem Ferroviário Interestadual;
5 (cinco) - passagem Aquaviário Interestadual;
6 (seis) - passagem Rodoviário Internacional;
7 (sete) - passagem Ferroviário Internacional ou;
8 (oito) - passagem Aquaviário Internacional.

RG: STRING até 29 caracteres com o RG do cliente.

Nome: STRING até 30 caracteres com o nome do cliente.

Endereco: STRING até 80 caracteres com o endereço do cliente.

UF: STRING com 2 caracteres com a UF do estado de destino.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

- Para o registro de itens, utilize a função Bematech_FI_VendeItem.
- O primeiro item a ser vendido deve possuir a descrição "TARIFA".

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AbreBilhetePassagemMFD("Curitiba", "São Paulo", "Curitiba/São Paulo - Leito", "Itapemirim", "22/04/02", "11:30:00", "15", "D10", "3", "5.021.659-66", "Fulano de Tal", "Rua sem Fim, 1000", "SP")

// Exemplo em Delphi
cEmbarque     := 'Curitiba';
cDestino      := 'São Paulo';
cLinha        := 'Curitiba/São Paulo - Leito';
cAgencia      := 'Itapemirim';
cData         := '22/04/02';
cHora         := '11:30:00';
cPoltrona     := '15';
cPlataforma   := 'D10';
cTipoPassagem := '3';
cRG           := '5.021.659-66';
cNome         := 'Fulado de Tal';
cEndereco     := 'Rua sem Fim, 1000';
cUFDestino    := 'SP';
iRetorno := Bematech_FI_AbreBilhetePassagemMFD( pchar ( cEmbarque ),
                                                pchar( cDestino ),
                                                pchar( cLinha ),
                                                pchar( cAgencia ),
                                                pchar( cData ),
                                                pchar( cHora ),
                                                pchar( cPoltrona ),
                                                pchar( cPlataforma ),
                                                pchar( cTipoPassagem ),
                                                pchar( cRG ),
                                                pchar( cNome ),
                                                pchar( cEndereco ),
                                                pchar( cUFDestino ) );


Bematech_FI_AtivaDesativaCorteProximoMFD

Ativa ou desativa o corte do papel (acionamento da guilhotina) para o documento impresso.

Parâmetros:

iFlag: INTEGER com 1 (um) dígito, onde:
0 (zero): desativa
1 (um): ativa

Retornos da Função (INTEIRO):

0 - Erro de comunicação
1 - Ok
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta
-5 - Erro ao abrir a porta de comunicação
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Observação:

- Esta função ativará ou desativará o corte do papel, do documento que será impresso, retornando ao default que é sempre ativo.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AtivaDesativaCorteProximoMFD()

// Exemplo em Delphi
iRetorno := Bematech_FI_AtivaDesativaCorteProximoMFD();


Bematech_FI_DownloadMF

Realiza o download da MF (Memória Fiscal) das impressoras fiscais do convênio ICMS 85.

Parâmetros:

cArquivo: STRING com o nome do arquivo que será gerado, exemplo: "MFISCAL.MF".

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

- Esta função é utilizada somente nas impressoras fiscais térmicas.
- Não esqueça de copiar a BemaMFD.dll para o diretório de sistema de seu Windows.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_DownloadMF( "MFISCAL.MF" );

// Exemplo em Delphi
cArquivo := 'MFISCAL.MF';
iRetorno := Bematech_FI_DownloadMF( pchar ( cArquivo ) );


Bematech_FI_DownloadMFD

Realiza o download da MFD (Memória de Fita Detalhe) das impressoras fiscais térmicas Bematech.

Parâmetros:

cArquivo: STRING com o nome do arquivo que será gerado, exemplo: "DOWNLOAD.MFD".

cTipoDownload: STRING com o tipo de download, onde:
"0" (zero): download total.
"1" (um): download por data.
"2" (dois): download por COO.

cDadoInicial: STRING com a data ou o COO inicial (data no formato DDMMAA ou DDMMAAA, COO com no máximo 6 dígitos).

cDadoFinal: STRING com a data ou o COO final (data no formato DDMMAA ou DDMMAAA, COO com no máximo 6 dígitos).

cUsuario: STRING com o número de ordem do proprietário do ECF, exemplo: primeiro proprietário "cUsuario = 1". Pois para cada proprietário o COO dos cupons serão diferentes.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-2: Parâmetro inválido.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar o arquivo.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

- Esta função é utilizada somente nas impressoras fiscais térmicas.
- Os parâmetros cDadoInicial e cDadoFinal são obrigatórios se o tipo de download for por data ou por COO.
- O parâmetro cUsuario é obrigatório se o download for por COO.
- Esta função não retornará os status ACK, ST1 e ST2 da impressora, pois ela é utiliza, apenas, para o download da MFD.
- Não esqueça de copiar a BemaMFD.dll para o diretório de sistema de seu Windows.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_DownloadMFD("DOWNLOAD.MFD", "2", "000001", "000010", "1")

// Exemplo em Delphi
cArquivo      := 'DOWNLOAD.MFD';
cTipoDownload := '2';
cCOOInicial   := '000001';
cCOOFinal     := '000010';
cUsuario      := '1';
iRetorno := Bematech_FI_DownloadMFD( pchar ( cArquivo ),
                                     pchar( cTipoDownload ),
                                     pchar( cCOOInicial ),
                                     pchar( cCOOFinal ),
                                     pchar( cUsuario ) );


Bematech_FI_FormatoDadosMFD

Gera os dados da MFD (Memória de Fita Detalhe) em formato TXT, RTF ou MDB.

Parâmetros:

cArquivoOrigem: STRING com o nome do arquivo MFD que contém a origem dos dados MFD, exemplo: "DOWNLOAD.MFD".

cDestino: STRING com o nome do arquivo que será gerado, exemplo: "SAIDA.MDB".

cFormatoDados: STRING com o tipo do formato de dados, onde:
"0" (zero) para formato .TXT (é criado um arquivo TXT com a imagem dos cupons referentes ao movimento)
"1" (um) para formato .RTF (é criado um arquivo RTF com a imagem dos cupons referentes ao movimento)
"2" (dois) para formato .MDB (é criado um arquivo MDB com tabelas referentes ao movimento)

cTipoDownload: STRING com o tipo de download, onde:
"0" (zero): download total
"1" (um): download por data
"2" (dois): download por COO

cDadoInicial: STRING com a data ou o COO inicial (data no formato DDMMAA ou DDMMAAA, COO com no máximo 6 dígitos).

cDadoFinal: STRING com a data ou o COO final (data no formato DDMMAA ou DDMMAAA, COO com no máximo 6 dígitos).

cUsuario: STRING com o número de ordem do proprietário do ECF, exemplo: primeiro proprietário "cUsuario = 1". Pois para cada proprietário o COO dos cupons serão diferentes.

Possíveis retornos da Função (INTEIRO):

1: OK.
-1: Erro de execução da função.
-2: Parâmetro inválido.
-8: Erro ao criar ou gravar o arquivo.

Observações:

- Esta função é utilizada somente nas impressoras fiscais térmicas.
- Os parâmetros cDadoInicial e cDadoFinal são obrigatórios se o tipo de download for por data ou por COO.
- O parâmetro cUsuario é obrigatório se o download for por COO.
- Esta função não retornará os status ACK, ST1 e ST2 da impressora, pois ela é utiliza, apenas, para gerar o download da MFD nos formatos citados acima.
- Não esqueça de copiar a BemaMFD.dll para o diretório de sistema de seu Windows.
- O arquivo MFD de origem, deve ser gerado através da função Bematech_FI_DownloadMFD.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_FormatoDadosMFD("DOWNLOAD.MFD", "SAIDA.MDB", "2", "2", "000001", "000010", "1")

// Exemplo em Delphi
cArquivoOrigem  := 'DOWNLOAD.MFD';
cArquivoDestino := 'SAIDA.MDB';
cTipoFormato    := '2';
cTipoDownload   := '2';
cCOOInicial     := '000001';
cCOOFinal       := '000010';
cUsuario        := '1';
iRetorno := Bematech_FI_FormatoDadosMFD( pchar ( cArquivoOrigem ),
                                     pchar( cArquivoDestino ),
                                     pchar( cTipoFormato ),
                                     pchar( cTipoDownload ),
                                     pchar( cCOOInicial ),
                                     pchar( cCOOFinal ),
                                     pchar( cUsuario ) );


Bematech_FI_HabilitaDesabilitaRetornoEstendidoMFD

Habilita e desabilita o retorno estendido na MFD. O retorno estendido é ACK, ST1, ST2 e ST3. Caso não seja habilitado, será retornado apenas ACK, ST1 e ST2 como na impressora fiscal matricial MP-20 FI II ou MP-40 FI II.

Parâmetro:

FlagRetorno: STRING com o valor um (1) para habilitar ou zero (0) para desabilitar o retorno estendido.

Retornos da Função (INTEIRO):

1 – Ok

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_HabilitaDesabilitaRetornoEstendidoMFD("1")

// Exemplo em Delphi
cFlag := '1';
iRetorno := Bematech_FI_HabilitaDesabilitaRetornoEstendidoMFD( pchar ( cFlag ) );

Tabela de retornos para o ST3:

ST3 Informação de Retorno
0 COMANDO OK
1 COMANDO INVÁLIDO
2 ERRO DESCONHECIDO
3 NÚMERO DE PARÂMETRO INVÁLIDO
4 TIPO DE PARÂMETRO INVÁLIDO
5 TODAS ALÍQUOTAS JÁ PROGRAMADAS
6 TOTALIZADOR NÃO FISCAL JÁ PROGRAMADO
7 CUPOM FISCAL ABERTO
8 CUPOM FISCAL FECHADO
9 ECF OCUPADO
10 IMPRESSORA EM ERRO
11 IMPRESSORA SEM PAPEL
12 IMPRESSORA COM CABEÇA LEVANTADA
13 IMPRESSORA OFF LINE
14 ALÍQUOTA NÃO PROGRAMADA
15 TERMINADOR DE STRING FALTANDO
16 ACRÉSCIMO OU DESCONTO MAIOR QUE O TOTAL DO CUPOM FISCAL
17 CUPOM FISCAL SEM ITEM VENDIDO
18 COMANDO NÃO EFETIVADO
19 SEM ESPAÇO PARA NOVAS FORMAS DE PAGAMENTO
20 FORMA DE PAGAMENTO NÃO PROGRAMADA
21 ÍNDICE MAIOR QUE NÚMERO DE FORMA DE PAGAMENTO
22 FORMAS DE PAGAMENTO ENCERRADAS
23 CUPOM NÃO TOTALIZADO
24 COMANDO MAIOR QUE 7Fh (127d)
25 CUPOM FISCAL ABERTO E SEM ÍTEM
26 CANCELAMENTO NÃO IMEDIATAMENTE APÓS
27 CANCELAMENTO JÁ EFETUADO
28 COMPROVANTE DE CRÉDITO OU DÉBITO NÃO PERMITIDO OU JÁ EMITIDO
29 MEIO DE PAGAMENTO NÃO PERMITE TEF
30 SEM COMPROVANTE NÃO FISCAL ABERTO
31 COMPROVANTE DE CRÉDITO OU DÉBITO JÁ ABERTO
32 REIMPRESSÃO NÃO PERMITIDA
33 COMPROVANTE NÃO FISCAL JÁ ABERTO
34 TOTALIZADOR NÃO FISCAL NÃO PROGRAMADO
35 CUPOM NÃO FISCAL SEM ÍTEM VENDIDO
36 ACRÉSCIMO E DESCONTO MAIOR QUE TOTAL CNF
37 MEIO DE PAGAMENTO NÃO INDICADO
38 MEIO DE PAGAMENTO DIFERENTE DO TOTAL DO RECEBIMENTO
39 NÃO PERMITIDO MAIS DE UMA SANGRIA OU SUPRIMENTO
40 RELATÓRIO GERENCIAL JÁ PROGRAMADO
41 RELATÓRIO GERENCIAL NÃO PROGRAMADO
42 RELATÓRIO GERENCIAL NÃO PERMITIDO
43 MFD NÃO INICIALIZADA
44 MFD AUSENTE
45 MFD SEM NÚMERO DE SÉRIE
46 MFD JÁ INICIALIZADA
47 MFD LOTADA
48 CUPOM NÃO FISCAL ABERTO
49 MEMÓRIA FISCAL DESCONECTADA
50 MEMÓRIA FISCAL SEM NÚMERO DE SÉRIE DA MFD
51 MEMÓRIA FISCAL LOTADA
52 DATA INICIAL INVÁLIDA
53 DATA FINAL INVÁLIDA
54 CONTADOR DE REDUÇÃO Z INICIAL INVÁLIDO
55 CONTADOR DE REDUÇÃO Z FINAL INVÁLIDO
56 ERRO DE ALOCAÇÃO
57 DADOS DO RTC INCORRETOS
58 DATA ANTERIOR AO ÚLTIMO DOCUMENTO EMITIDO
59 FORA DE INTERVENÇÃO TÉCNICA
60 EM INTERVENÇÃO TÉCNICA
61 ERRO NA MEMÓRIA DE TRABALHO
62 JÁ HOUVE MOVIMENTO NO DIA
63 BLOQUEIO POR RZ
64 FORMA DE PAGAMENTO ABERTA
65 AGUARDANDO PRIMEIRO PROPRIETÁRIO
66 AGUARDANDO RZ
67 ECF OU LOJA IGUAL A ZERO
68 CUPOM ADICIONAL NÃO PERMITIDO
69 DESCONTO MAIOR QUE TOTAL VENDIDO EM ICMS
70 RECEBIMENTO NÃO FISCAL NULO NÃO PERMITIDO
71 ACRÉSCIMO OU DESCONTO MAIOR QUE TOTAL NÃO FISCAL
72 MEMÓRIA FISCAL LOTADA PARA NOVO CARTUCHO
73 ERRO DE GRAVAÇÃO NA MF
74 ERRO DE GRAVAÇÃO NA MFD
75 DADOS DO RTC ANTERIORES AO ÚLTIMO DOC ARMAZENADO
76 MEMÓRIA FISCAL SEM ESPAÇO PARA GRAVAR LEITURAS DA MFD
77 MEMÓRIA FISCAL SEM ESPAÇO PARA GRAVAR VERSAO DO SB
78 DESCRIÇÃO IGUAL A DEFAULT NÃO PERMITIDO
79 EXTRAPOLADO NÚMERO DE REPETIÇÕES PERMITIDAS
80 SEGUNDA VIA DO COMPROVANTE DE CRÉDITO OU DÉBITO NÃO PERMITIDO
81 PARCELAMENTO FORA DA SEQUÊNCIA
82 COMPROVANTE DE CRÉDITO OU DÉBITO ABERTO
83 TEXTO COM SEQUÊNCIA DE ESC INVÁLIDA
84 TEXTO COM SEQUÊNCIA DE ESC INCOMPLETA
85 VENDA COM VALOR NULO
86 ESTORNO DE VALOR NULO
87 FORMA DE PAGAMENTO DIFERENTE DO TOTAL DA SANGRIA
88 REDUÇÃO NÃO PERMITIDA EM INTERVENÇÃO TÉCNICA
89 AGUARDANDO RZ PARA ENTRADA EM INTERVENÇÃO TÉCNICA
90 FORMA DE PAGAMENTO COM VALOR NULO NÃO PERMITIDO
91 ACRÉSCIMO E DESCONTO MAIOR QUE VALOR DO ÍTEM
92 AUTENTICAÇÃO NÃO PERMITIDA
93 TIMEOUT NA VALIDAÇÃO
94 COMANDO NÃO EXECUTADO EM IMPRESSORA BILHETE DE PASSAGEM
95 COMANDO NÃO EXECUTADO EM IMPRESSORA DE CUPOM FISCAL
96 CUPOM NÃO FISCAL FECHADO
97 PARÂMETRO NÃO ASCII EM CAMPO ASCII
98 PARÂMETRO NÃO ASCII NUMÉRICO EM CAMPO ASCII NUMÉRICO
99 TIPO DE TRANSPORTE INVÁLIDO
100 DATA E HORA INVÁLIDA
101 SEM RELATÓRIO GERENCIAL OU COMPROVANTE DE CRÉDITO OU DÉBITO ABERTO
102 NÚMERO DO TOTALIZADOR NÃO FISCAL INVÁLIDO
103 PARÂMETRO DE ACRÉSCIMO OU DESCONTO INVÁLIDO
104 ACRÉSCIMO OU DESCONTO EM SANGRIA OU SUPRIMENTO NÃO PERMITIDO
105 NÚMERO DO RELATÓRIO GERENCIAL INVÁLIDO
106 FORMA DE PAGAMENTO ORIGEM NÃO PROGRAMADA
107 FORMA DE PAGAMENTO DESTINO NÃO PROGRAMADA
108 ESTORNO MAIOR QUE FORMA PAGAMENTO
109 CARACTER NUMÉRICO NA CODIFICAÇÃO GT NÃO PERMITIDO
110 ERRO NA INICIALIZAÇÃO DA MF
111 NOME DO TOTALIZADOR EM BRANCO NÃO PERMITIDO
112 DATA E HORA ANTERIORES AO ÚLTIMO DOC ARMAZENADO
113 PARÂMETRO DE ACRÉSCIMO OU DESCONTO INVÁLIDO
114 ÍTEM ANTERIOR AOS TREZENTOS ÚLTIMOS
115 ÍTEM NÃO EXISTE OU JÁ CANCELADO
116 CÓDIGO COM ESPAÇOS NÃO PERMITIDO
117 DESCRICAO SEM CARACTER ALFABÉTICO NÃO PERMITIDO
118 ACRÉSCIMO MAIOR QUE VALOR DO ÍTEM
119 DESCONTO MAIOR QUE VALOR DO ÍTEM
120 DESCONTO EM ISS NÃO PERMITIDO
121 ACRÉSCIMO EM ÍTEM JÁ EFETUADO
122 DESCONTO EM ÍTEM JÁ EFETUADO
123 ERRO NA MEMÓRIA FISCAL CHAMAR CREDENCIADO
124 AGUARDANDO GRAVAÇÃO NA MEMÓRIA FISCAL
125 CARACTER REPETIDO NA CODIFICAÇÃO DO GT
126 VERSÃO JÁ GRAVADA NA MEMÓRIA FISCAL
127 ESTOURO DE CAPACIDADE NO CHEQUE
128 TIMEOUT NA LEITURA DO CHEQUE
129 MÊS INVÁLIDO
130 COORDENADA INVÁLIDA
131 SOBREPOSIÇÃO DE TEXTO
132 SOBREPOSIÇÃO DE TEXTO NO VALOR
133 SOBREPOSIÇÃO DE TEXTO NO EXTENSO
134 SOBREPOSIÇÃO DE TEXTO NO FAVORECIDO
135 SOBREPOSIÇÃO DE TEXTO NA LOCALIDADE
136 SOBREPOSIÇÃO DE TEXTO NO OPCIONAL
137 SOBREPOSIÇÃO DE TEXTO NO DIA
138 SOBREPOSIÇÃO DE TEXTO NO MÊS
139 SOBREPOSIÇÃO DE TEXTO NO ANO
140 USANDO MFD DE OUTRO ECF
141 PRIMEIRO DADO DIFERENTE DE ESC OU 1C
142 NÃO PERMITIDO ALTERAR SEM INTERVENÇÃO TÉCNICA
143 DADOS DA ÚLTIMA RZ CORROMPIDOS
144 COMANDO NÃO PERMITIDO NO MODO INICIALIZAÇÃO
145 AGUARDANDO ACERTO DE RELÓGIO
146 MFD JÁ INICIALIZADA PARA OUTRA MF
147 AGUARDANDO ACERTO DO RELÓGIO OU DESBLOQUEIO PELO TECLADO
148 VALOR FORMA DE PAGAMENTO MAIOR QUE MÁXIMO PERMITIDO
149 RAZÃO SOCIAL EM BRANCO
150 NOME DE FANTASIA EM BRANCO
151 ENDEREÇO EM BRANCO
152 ESTORNO DE CDC NÃO PERMITIDO
153 DADOS DO PROPRIETÁRIO IGUAIS AO ATUAL
154 ESTORNO DE FORMA DE PAGAMENTO NÃO PERMITIDO
155 DESCRIÇÃO FORMA DE PAGAMENTO IGUAL JÁ PROGRAMADA
156 ACERTO DE HORÁRIO DE VERÃO SÓ IMEDIATAMENTE APÓS RZ
157 IT NÃO PERMITIDA MF RESERVADA PARA RZ
158 SENHA CNPJ INVÁLIDA
159 TIMEOUT NA INICIALIZAÇÃO DA NOVA MF
160 NÃO ENCONTRADO DADOS NA MFD
161 SANGRIA OU SUPRIMENTO DEVEM SER ÚNICOS NO CNF
162 ÍNDICE DA FORMA DE PAGAMENTO NULO NÃO PERMITIDO
163 UF DESTINO INVÁLIDA
164 TIPO DE TRANSPORTE INCOMPATÍVEL COM UF DESTINO
165 DESCRIÇÃO DO PRIMEIRO ÍTEM DO BILHETE DE PASSAGEM DIFERENTE DE "TARIFA"
166 AGUARDANDO IMPRESSÃO DE CHEQUE OU AUTENTICAÇÃO
167 NÃO PERMITIDO PROGRAMAÇAO CNPJ IE COM ESPAÇOS EM BRANCO
168 NÃO PERMITIDO PROGRAMAÇÃO UF COM ESPAÇOS EM BRANCO
169 NÚMERO DE IMPRESSÕES DA FITA DETALHE NESTA INTERVENÇÃO TÉCNICA ESGOTADO
170 CF JÁ SUBTOTALIZADO
171 CUPOM NÃO SUBTOTALIZADO
172 ACRÉSCIMO EM SUBTOTAL JÁ EFETUADO
173 DESCONTO EM SUBTOTAL JÁ EFETUADO
174 ACRÉSCIMO NULO NÃO PERMITIDO
175 DESCONTO NULO NÃO PERMITIDO
176 CANCELAMENTO DE ACRÉSCIMO OU DESCONTO EM SUBTOTAL NÃO PERMITIDO
177 DATA INVÁLIDA
178 VALOR DO CHEQUE NULO NÃO PERMITIDO
179 VALOR DO CHEQUE INVÁLIDO
180 CHEQUE SEM LOCALIDADE NÃO PERMITIDO
181 CANCELAMENTO ACRÉSCIMO EM ÍTEM NÃO PERMITIDO
182 CANCELAMENTO DESCONTO EM ÍTEM NÃO PERMITIDO
183 NÚMERO MÁXIMO DE ÍTENS ATINGIDO
184 NÚMERO DE ÍTEM NULO NÃO PERMITIDO
185 MAIS QUE DUAS ALÍQUOTAS DIFERENTES NO BILHETE DE PASSAGEM NÃO PERMITIDO
186 ACRÉSCIMO OU DESCONTO EM ITEM NÃO PERMITIDO
187 CANCELAMENTO DE ACRÉSCIMO OU DESCONTO EM ITEM NÃO PERMITIDO
188 CLICHE JÁ IMPRESSO
189 TEXTO OPCIONAL DO CHEQUE EXCEDEU O MÁXIMO PERMITIDO
190 IMPRESSÃO AUTOMÁTICA NO VERSO NÃO PERMITIDO NESTE EQUIPAMENTO
191 TIMEOUT NA INSERÇÃO DO CHEQUE
192 OVERFLOW NA CAPACIDADE DE TEXTO DO COMPROVANTE DE CRÉDITO OU DÉBITO
193 PROGRAMAÇÃO DE ESPAÇOS ENTRE CUPONS MENOR QUE O MÍNIMO PERMITIDO
194 EQUIPAMENTO NÃO POSSUI LEITOR DE CHEQUE
195 PROGRAMAÇÃO DE ALÍQUOTA COM VALOR NULO NÃO PERMITIDO
196 PARÂMETRO BAUD RATE INVÁLIDO
197 CONFIGURAÇÃO PERMITIDA SOMENTE PELA PORTA DOS FISCO
198 VALOR TOTAL DO ITEM EXCEDE 11 DÍGITOS
199 PROGRAMAÇÃO DA MOEDA COM ESPAÇOS EM BRACO NÃO PERMITIDO
200 CASAS DECIMAIS DEVEM SER PROGRAMADAS COM 2 OU 3
201 NÃO PERMITE CADASTRAR USUÁRIOS DIFERENTES NA MESMA MFD
202 IDENTIFICAÇÃO DO CONSUMIDOR NÃO PERMITIDA PARA SANGRIA OU SUPRIMENTO
203 CASAS DECIMAIS EM QUANTIDADE MAIOR DO QUE A PERMITIDA
204 CASAS DECIMAIS DO UNITÁRIO MAIOR DO QUE O PERMITIDA
205 POSIÇÃO RESERVADA PARA ICMS
206 POSIÇÃO RESERVADA PARA ISS
207 TODAS AS ALÍQUOTAS COM A MESMA VINCULAÇÃO NÃO PERMITIDO
208 DATA DE EMBARQUE ANTERIOR A DATA DE EMISSÃO


Bematech_FI_ImprimeClicheMFD

Imprime as linhas do cliche.

Importante
Esta função só está disponível para a versão 01.00.00, da Impressora Fiscal MFD.

Parâmetro:

Não há.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observação:

- Este comando permite que as informações fixas do clichê do proprietário sejam impressas antes da definição do tipo do próximo documento a ser impresso. A utilização deste comando associado à programação previa do espaço entre cupons com valor adequado permitira ao usuário diminuir o consumo da bobina de papel.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_ImprimeClicheMFD()

// Exemplo em Delphi
iRetorno := Bematech_FI_ImprimeClicheMFD();


Bematech_FI_MapaResumoMFD

Gera o relatório "Mapa Resumo" referente ao movimento do dia. As informações serão geradas no arquivo RETORNO.TXT no diretório configurado no parâmetro "path" do arquivo ini. O diretório default configurado é o diretório raiz (C:\).

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

- As informações contidas no mapa resumo podem variar de Estado para Estado. Essa função gera o relatório com as informações padrões que são usadas na maioria dos Estados. O relatório gerado terá o seguinte layout:

Contador de Redução Z..:            0312
COO....................:          000026
Venda Bruta............:           43,73
Venda Líquida..........:           25,50
Cancelamentos..........:           11,14
Acréscimos.............:            2,33
Descontos..............:            7,09
ISS....................:            0,00
Isenção................:            0,00
Não Incidência.........:            1,95
Substituição Tributária:           23,55
1200...................:            0,00
1700...................:            0,00

- Após a linha "Substituição Tributária" serão gravadas as informações de vendas referente as alíquotas de ICMS. Portanto, o número de linhas irá variar de acordo com o número de alíquotas de ICMS cadastradas na impressora.

- As informações contidas no mapa resumo serão referentes aos dados da última redução Z, portanto, para gerar o mapa resumo referente ao movimento do dia você deve executar essa função após a redução Z, caso contrário o mapa resumo será gerado com as informações referente ao movimento do dia anterior.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_MapaResumoMFD()

// Exemplo em Delphi
iRetorno := Bematech_FI_MapaResumoMFD();


Bematech_FI_GeraRelatorioSintegraMFD

Gera os relatórios para o Sintegra, somente da impressora fiscal térmica (MFD), a partir de um arquivo .MFD.

Parâmetros:

iRelatorios: variável INTEIRA com o tamanho de um byte, onde:
1: gera o relatório tipo 60M (Mestre);
2: gera o relatório tipo 60A (Analítico);
4: gera o relatório tipo 60D (Diário);
8: gera o relatório tipo 60I (Item);
16: gera o relatório tipo 60R (Resumo Mensal) e;
32: gera o relatório tipo 75.

Observação: Para gerar mais de um relatório, deve-se enviar a soma dos valores citados acima, por exemplo: Se desejar gerar os relatório tipo 60M, tipo 60A e tipo 75, a variável deve ter o valor 34.

cArquivoOrigem: STRING com o path e nome do arquivo .MFD de origem. Exemplo: "C:\DOWNLOAD.MFD"

cArquivoDestino: STRING com o path e nome do arquivo onde o relatorio será gerado. Exemplo: "C:\SINTEGRA.TXT"

cMes: STRING com o mês, no formato MM.

cAno: STRING com o ano, no formato AAAA.

cRazaoSocial: STRING com a razão social, no tamanho de até 35 caracteres.

cEndereco: STRING com o endereço, no tamanho de até 34 caracteres.

cNumero: STRING com o número, no tamanho de até 5 caracteres.

cComplemento: STRING com o complemento, no tamanho de até 22 caracteres.

cBairro: STRING com o bairro, no tamanho de até 15 caracteres.

cCidade: STRING com a cidade, no tamanho de até 30 caracteres.

cCEP: STRING com o CEP, com o tamanho de 8 caracteres.

cTelefone: STRING com o telefone, no tamanho de até 12 caracteres.

cFax: STRING com o fax, no tamanho de até 10 caracteres.

cContato: STRING com o nome do contato, no tamanho de até 18 caracteres.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-1 - Erro de execução da função.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observação:

- Os registro tipo 10, tipo 11 e o tipo 90, são gerados automaticamente.

- Não esqueça de registrar as dlls DAO350.dll e MSJET32.dll, e copiar a dll BemaMFD.dll para o diretório de sistema de seu Windows para que esta função seja executada com sucesso (veja o tópico "Gerando os Registros do Sintegra nas Impressoras Fiscais MFD (térmica)" para maiores informações).

Exemplo:

' Exemplo em Visual Basic que gera todos os relatórios do Sintegra
iRetorno = Bematech_FI_GeraRelatorioSintegraMFD(63, "DOWNLOAD.MFD", "SINTEGRA.TXT", "11", "2003", "BEMATECH S/A", "Estrada de Santa Candida", "263", "Industria", "Santa Candida", "Curitiba", "82630490", "41 351-2700", "41 351-2863", "Fulano de Tal" );

// Exemplo em Delphi que gera todos os relatórios do Sintegra
cArqOrigem   := 'DOWNLOAD.MFD';
cArqDestino  := 'SINTEGRA.TXT';
cMes         := '11';
cAno         := '2003';
cRazaoSocial := 'BEMATECH S/A';
cEndereco    := 'Estrada de Santa Candida';
cNumero      := '263';
cComplemento := 'Industria';
cBairro      := 'Santa Candida';
cCidade      := 'Curitiba';
cCEP         := '82630490';
cTelefone    := '41 351-2700';
cFax         := '41 351-2863';
cContato     := 'Fulano de Tal';

iRetorno := Bematech_FI_GeraRelatorioSintegraMFD( 63,
                                                  pchar ( cArqOrigem ),
                                                  pchar( cArqDestino ),
                                                  pchar( cMes ),
                                                  pchar( cAno ),
                                                  pchar( cRazaoSocial ),
                                                  pchar( cEndereco ),
                                                  pchar( cNumero ),
                                                  pchar( cComplemento ),
                                                  pchar( cBairro ),
                                                  pchar( cCidade ),
                                                  pchar( cCEP ),
                                                  pchar( cTelefone ),
                                                  pchar( cFax ),
                                                  pchar( cContato ) );


Bematech_FI_RelatorioSintegraMFD

Gera os relatórios para o Sintegra, somente da impressora fiscal térmica (MFD).

Parâmetros:

iRelatorios: variável INTEIRA com o tamanho de um byte, onde:
1: gera o relatório tipo 60M (Mestre);
2: gera o relatório tipo 60A (Analítico);
4: gera o relatório tipo 60D (Diário);
8: gera o relatório tipo 60I (Item);
16: gera o relatório tipo 60R (Resumo Mensal) e;
32: gera o relatório tipo 75.

Observação: Para gerar mais de um relatório, deve-se enviar a soma dos valores citados acima, por exemplo: Se desejar gerar os relatório tipo 60M, tipo 60A e tipo 75, a variável deve ter o valor 34.

cArquivo: STRING com o path e nome do arquivo onde o relatorio será gerado. Exemplo: "C:\SINTEGRA.TXT"

cMes: STRING com o mês, no formato MM.

cAno: STRING com o ano, no formato AAAA.

cRazaoSocial: STRING com a razão social, no tamanho de até 35 caracteres.

cEndereco: STRING com o endereço, no tamanho de até 34 caracteres.

cNumero: STRING com o número, no tamanho de até 5 caracteres.

cComplemento: STRING com o complemento, no tamanho de até 22 caracteres.

cBairro: STRING com o bairro, no tamanho de até 15 caracteres.

cCidade: STRING com a cidade, no tamanho de até 30 caracteres.

cCEP: STRING com o CEP, com o tamanho de 8 caracteres.

cTelefone: STRING com o telefone, no tamanho de até 12 caracteres.

cFax: STRING com o fax, no tamanho de até 10 caracteres.

cContato: STRING com o nome do contato, no tamanho de até 18 caracteres.

Retornos da Função (INTEIRO):

0 - Erro de comunicação.
1 - Ok.
-1 - Erro de execução da função.
-2 - Parâmetro inválido.
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta.
-5 - Erro ao abrir a porta de comunicação.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observação:

- Os registro tipo 10, tipo 11 e o tipo 90, são gerados automaticamente.

- Não esqueça de registrar as dlls DAO350.dll e MSJET32.dll, e copiar a dll BemaMFD.dll para o diretório de sistema de seu Windows para que esta função seja executada com sucesso (veja o tópico "Gerando os Registros do Sintegra nas Impressoras Fiscais MFD (térmica)" para maiores informações).

Exemplo:

' Exemplo em Visual Basic que gera todos os relatórios do Sintegra
iRetorno = Bematech_FI_RelatorioSintegraMFD(63, "SINTEGRA.TXT", "11", "2003", "BEMATECH S/A", "Estrada de Santa Candida", "263", "Industria", "Santa Candida", "Curitiba", "82630490", "41 351-2700", "41 351-2863", "Fulano de Tal" );

// Exemplo em Delphi que gera todos os relatórios do Sintegra
cArquivo     := 'SINTEGRA.TXT';
cMes         := '11';
cAno         := '2003';
cRazaoSocial := 'BEMATECH S/A';
cEndereco    := 'Estrada de Santa Candida';
cNumero      := '263';
cComplemento := 'Industria';
cBairro      := 'Santa Candida';
cCidade      := 'Curitiba';
cCEP         := '82630490';
cTelefone    := '41 351-2700';
cFax         := '41 351-2863';
cContato     := 'Fulano de Tal';

iRetorno := Bematech_FI_RelatorioSintegraMFD( 63,
                                              pchar ( cArquivo ),
                                              pchar( cMes ),
                                              pchar( cAno ),
                                              pchar( cRazaoSocial ),
                                              pchar( cEndereco ),
                                              pchar( cNumero ),
                                              pchar( cComplemento ),
                                              pchar( cBairro ),
                                              pchar( cCidade ),
                                              pchar( cCEP ),
                                              pchar( cTelefone ),
                                              pchar( cFax ),
                                              pchar( cContato ) );


Bematech_FI_RelatorioTipo60AnaliticoMFD

Gera o relatório "Tipo 60 analítico" exigido pelo convênio de ICMS 85/2001. As informações serão geradas no arquivo RETORNO.TXT no diretório configurado no parâmetro "path" do arquivo ini. O diretório default é o diretório raiz (C:\).

Parâmetro:

Não há.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3).

Observações:

- O relatório gerado terá o seguinte layout:

Tipo do relatório.........:                       60
Subtipo...................:                        A
Data de emissão...........:               12/05/2003
Número de série...........:          5708990400028
Cancelamentos.............:                    11,14
Descontos.................:                     7,09
F.........................:                    18,55
I.........................:                     0,00
N.........................:                     1,95
1200......................:                     0,00
1700......................:                     0,00
ISS.......................:                     0,00

- Após a linha "N..." serão gravadas as informações de vendas referentes às alíquotas tributárias. Portanto, o número de linhas irá variar de acordo com o número de alíquotas cadastradas na impressora.

- As informações contidas no relatório Tipo 60 Analítico são referentes aos dados da última Redução Z. Portanto, para gerar o relatório referente ao movimento do dia você deve executar essa função após a Redução Z, caso contrário as informações geradas serão referentes ao movimento do dia anterior.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_RelatorioTipo60AnaliticoMFD()

// Exemplo em Delphi
iRetorno := Bematech_FI_RelatorioTipo60AnaliticoMFD();


Bematech_FI_RetornoImpressoraMFD

Lê o retorno estendido da impressora (ACK, ST1, ST2 e ST3) referente ao último comando enviado.

Parâmetros:

Variáveis INTEIRAS para receber os 4 bytes de status da impressora.
ACK
ST1
ST2
ST3

Retornos da Função (INTEIRO):

1 – Ok
-8 – Erro ao gravar o arquivo STATUS.TXT

Observações:

- Essa função deve ser usada após a execução de qualquer outra função da dll para ler o retorno da impressora referente à função executada. Essa função devolve o status da impressora (pouco papel, comando não executado, tipo de parâmetro de CMD inválido etc.).

- O ST3 só será retornado, caso seja habilita o retorno estendido na impressora.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_RetornoImpressoraMFD( ACK, ST1, ST2, ST3 )

// Exemplo em Delphi
iRetorno := Bematech_FI_RetornoImpressoraMFD( ACK, ST1, ST2, ST3 );


Gerando os Registros do Sintegra nas Impressoras Fiscais MFD (térmica)

Através da função Bematech_FI_RelatorioSintegraMFD é possível gerar os registros:

- tipo 60M (Mestre);
- tipo 60A (Analítico);
- tipo 60D (Diário);
- tipo 60I (Item);
- tipo 60R (Resumo Mensal) e;
- tipo 75.

Os registro tipo 10, tipo 11 e o tipo 90, são gerados automaticamente.

Importante:

Para que a função Bematech_FI_RelatorioSintegraMFD possa gerar este registros com sucesso, através das impressoras fiscais MFD (somente), é necessário que a DLL BemaMFD.dll esteja presente em seu computador, juntamente com os arquivos DAO2535.tlb, DAO350.dll e MSJET32.dll.

Copie os arquivos BemaFI32.dll, BemaMFD.dll, BemaFI32.ini, DAO2535.tlb, DAO350.dll e MSJET32.dll para o diretório de sistema do Windows (exemplo: \WINNT\SYSTEM32) e registre DAO350.dll e MSJET32.dll executando o REGSVR32 /S para cada um respectivamente. Exemplo:

REGSVR32 /S DAO350.DLL
REGSVR32 /S MSJET35.DLL


Configurando a DLL para trabalhar com YANCO

Para configurar a DLL para utilizar as impressoras fiscais da YANCO, basta alterar a chave "ModeloImp" para YANCO. Esta chave se localiza na seção "Sistema", no tópico "Configurando a DLL".


Funções Incompatíveis com a Impressora Fiscal YANCO

Aqui estam listadas as funções da BemaFI32.dll incompatíveis com a impressora fiscal YANCO.

- Bematech_FI_AbreBilhetePassagem

- Bematech_FI_AlteraSimboloMoeda

- Bematech_FI_AumentaDescricaoItem

- Bematech_FI_CancelaImpressaoCheque

- Bematech_FI_ContadorBilhetePassagem

- Bematech_FI_EfetuaFormaPagamentoDescricaoForma

- Bematech_FI_EspacoEntreLinhas

- Bematech_FI_EstornoFormasPagamento

- Bematech_FI_ForcaImpactoAgulhas

- Bematech_FI_ImprimeDepartamentos

- Bematech_FI_LinhasEntreCupons

- Bematech_FI_MinutosLigada

- Bematech_FI_MinutosImprimindo

- Bematech_FI_NomeiaDepartamento

- Bematech_FI_NumeroOperacoesNaoFiscais

- Bematech_FI_NumeroSubstituicaoProprietario

- Bematech_FI_ProgramaAliquota

- Bematech_FI_ProgramaArredondamento

- Bematech_FI_ProgramaCaracterAutenticacao

- Bematech_FI_ProgramaTruncamento

- Bematech_FI_ResetaImpressora

- Bematech_FI_UltimoItemVendido

- Bematech_FI_ValorPagoUltimoCupom

- Bematech_FI_VendeItemDepartamento

- Bematech_FI_VerificaDepartamentos

- Bematech_FI_VerificaStatusCheque


Linguagem de Programação MAGIC

Este tópico, descreve as funções que sofreram compatibilização, para o uso com a Linguagem de Programação MAGIC. Estas funções passaram a usar os seus parâmetros de SHORT INT para INT.

- Bematech_FI_FlagsFiscais para Bematech_FI_FlagsFiscaisStr

- Bematech_FI_VerificaTipoImpressora para Bematech_FI_VerificaTipoImpressoraStr

- Bematech_FI_VerificaEstadoGaveta para Bematech_FI_VerificaEstadoGavetaStr

- Bematech_FI_VerificaStatusCheque para Bematech_FI_VerificaStatusChequeStr

- Bematech_FI_RetornoImpressora para Bematech_FI_RetornoImpressoraStr

- Bematech_FI_EstadoImpressora para Bematech_FI_VerificaEstadoImpressoraStr


Conceito

IMPORTANTE
O Bematech Monitor só está disponível na versão 3.0, da BemaFI32.dll, ou superior.

A Bematech desenvolveu, em sua DLL BEMAFI32, opções de acesso remoto à sua impressora fiscal, utilizando o conceito "Cliente/Sevidor" (baseado na lógica do Windows Terminal Server e do Frame-Relay).

A sua aplicação ficará instalada no servidor e os terminais (Cliente), com as suas respectivas impressoras, faram acesso a impressora através da aplicação executada a partir do servidor.

imagemdriverremoto

A aplicação, rodando nos terminais (Cliente), utilizará as funções normais da BemaFI32.dll. No servidor, o arquivo BemaFI32.ini, estará habilitado para trabalhar em rede e configurado para receber os arquivos de comandos, criados pela DLL, através da chave PATH.

Nos terminais (Cliente), o arquivo BemaFI32.ini estará configurado com o PATH (origem do mapeamento do servidor) e com as chaves de STATUS e RETORNO habilitados, para a criação de arquivos.


Configuração do BemaFI32.ini para o Bematech MONITOR

No servidor:

O arquivo BemaFI32.dll e o arquivo BemaFI32.ini deverão estar presentes. Ambos, no diretório de sistema do Windows.

Configuração da seção Sistema, do arquivo BemaFI32.ini, para o servidor:

[Sistema]
Porta=DEFAULT
Path=X:\
Status=0
Retorno=0
StatusFuncao=0
ControlePorta=1
ModeloImp=BEMATECH
ConfigRede=1
Log=0
.
.
.

- A chave Path, deve ser configurada com a unidade dos terminais (Cliente), mapeada pelo servidor. Exemplo: Path=X:\
- A chave ConfigRede, deve estar configurada para 1 (um), indicando que a sua utilização será realizada pelo servidor.

No terminal (Cliente):

O arquivo BemaFI32.dll e o arquivo BemaFI32.ini deverão estar presentes. Ambos, no diretório de sistema do Windows.

Configuração da seção Sistema, do arquivo BemaFI32.ini, para o terminal (Cliente):

[Sistema]
Porta=DEFAULT
Path=C:\REDE
Status=1
Retorno=1
StatusFuncao=0
ControlePorta=1
ModeloImp=BEMATECH
ConfigRede=2
Log=0
.
.
.

- A chave Path, deve ser configurada com o caminho compartilhado, para o servidor. Exemplo: Path=C:\REDE
- A chave Status, deve ser habilitada para que a DLL crie o arquivo STATUS.TXT.
- A chave Retorno, deve ser habilitada para que a DLL crie o arquivo RETORNO.TXT.
- A chave ConfigRede, deve estar configurada para 2 (dois), indicando que a sua utilização será realizada pelo terminal (Cliente).

IMPORTANTE

Para utilizar a DLL em modo não remoto, instalada sem o uso da rede (Windows Terminal Server ou Frame-Relay),
a chave ConfigRede dever estar configurada para 0 (zero). Exemplo: ConfigRede=0.


Como utilizar o executável Bematech MONITOR

A aplicação usará as funções da BemaFI32.dll, normalmente (conforme é mostrado no tópico "Funções da DLL").

IMPORTANTE

Após a execução de qualquer função da DLL, é necessário utilizar a função Bematech_FI_RetornoImpressora( iACK, iST1, iST2 ), para verifcar o retorno da função executada. Se a função não foi executada corretamente, o retorno será ACK=0, ST1=0 e ST2=0. Isto significa que houve algum erro, como por exemplo: Parâmetro Inválido, Erro de Comunicação, etc.

Para as funções que solicitam informação da impressora, por exemplo: Número do Cupom, Número do Caixa, Retorno de Alíquotas, etc. O procedimento é o seguinte:

- Executar a função que retorna a informação da impressora, exemplo: Bematech_FI_NumeroCupom( sRetorno ).
- Executar a função que retorna o status da impressora: Bematech_FI_RetornoImpressora( iACK, iST1, iST2 ). Verificar se o retorno foi OK.
- Executar a função que retornará para a aplicação a informação solicitada: Bematech_FI_LeArquivoRetorno( sRetorno ). Onde, sRetorno é a variável inicializada com o tamanho do retorno, que armazenará a informação solicitada.

Nos terminais (Cliente), deverá ser executado o aplicativo "BematechMonitor.exe".

iconedriverremoto

Observação: Este aplicativo aparecerá no relógio do Windows (barra de tarefas), aguardando a sua execução.

iconerelogiodriverremoto

Para abrir a janela do Bematech Monitor, basta dar um duplo-clique sobre o seu ícone ou clicar com o botão direito do mouse e escolher a opção desejada.

Ao dar um duplo-clique, aparecerá a tela:

imgjanelabematechmonitor

Configuração do Bematech Monitor

Para configurar o Bematech Monitor, clique na opção "Configurações". Aparecerá a seguinte tela:

tlaconfigdriverremoto

Onde:

- Executar quando o WINDOWS for iniciado: Ao selecionar esta opção, o Bematech Monitor será executado toda a vez que o Windows iniciar.

- Start automático ao executar o driver: Quando o Bematech Monitor for executado, o processo de monitoramente será iniciado.

- Diretório onde se encontra o arquivo BEMAFI32.CMD: Nesta linha deverá ser inserido o diretório (caminho) mapeado para o Servidor. Clique no botão botaolocalizar, para localizar este diretório.

- Porta de comunicação: Deverá ser selecionada a porta de comunicação onde a impressora está conectada.

- Modo de execução: Você poderá escolher entre exibir o Bematech Monitor ao lado do relógio do Windows ou em forma de janela.

Você poderá testar a comunincação com a impressora clicando na opção "Testar Impressora". O Bematech Monitor irá retornar algumas informações, caso a comunicação esteja OK.

Para iniciar o monitoramente, basta clicar na opção "start". Para parar o monitoramente, basta clicar na opção "stop".


Como Utilizar

É possível, através de linguagens de programação 16 bits, linguagens de programação que possuem dificuldades em declarar e usar DLLs ou em aplicações MS-DOS, utilizar a DLL BemaFI32.dll e acessar a impressora fiscal normalmente.

Este recurso é controlado por um aplicativo chamado "BematechMonitor.exe" que tem como objetivo, ficar monitorando um diretório do computador a procura de arquivos e enviá-los para a impressora, através das funções da BemaFI32.dll.

A linguagem de programação deverá criar o arquivo "BemaFI32.cmd", com o código do comando que deseja executar e salvar este arquivo no diretório, onde o Bematech Monitor estará monitorando (este diretório é configurado no Bematech Monitor).

Após a execução do comando recebido pelo Bematech Monitor, será criado o arquivo "STATUS.TXT" com o status de execução da impressora e o arquivo "RETORNO.TXT" com informações da impressora, caso seja solicitado.

Observação: O arquivo "RETORNO.TXT" só será criado, caso tenha sido enviado um comando de solicitação de informação da impressora, como por exemplo: Número do Cupom, Alíquotas programadas, Número de Série e etc.

Os arquivos que compõem o pacote do Bematech Monitor, são:

- BemaFI32.dll (dll de comunicação)
- BemaFI32.ini (arquivo de configuração da dll)
- BematechMonitor.exe (executável de comunicação)

Onde:

- Os arquivos BemaFI32.dll e BemaFI32.ini devem ser salvos no diretório de sistema do Windows, exemplo: "C:\Windows\System" ou "C:\WinNT\System32".

- O arquivo BematechMonitor.exe pode ser salvo, juntamente com a aplicação.


Como Configurar

Após executar o BematechMonitor.exe, o mesmo será exibido ao lado do relógio do Windows.

iconerelogiodriverremoto

Dando um duplo clique sobre o seu ícone, será exibida a tela:

imgjanelabematechmonitor

Clique em "Configurações" para a configuração do Bematech Monitor.

tlaconfigdriverremoto

Nesta tela, deverá ser configurado:

- Diretório onde o arquivo BemaFI32.cmd será salvo pela linguagem de programação;
- Porta de comunicação, onde a impressora fiscal estará conectada e;

e os opcionais:

- Executar quando o WINDOWS for iniciado;
- Start automático ao executar o driver e;
- Modo de execução.

Importante:

Além destas configurações, a DLL BemaFI32.dll deve estar preparada para trabalhar com o Bematech Monitor. Para isso, abra o arquivo BemaFI32.ini (arquivo de configuração da dll) e configure:

- A chave "Porta" com o nome da porta serial, onde a impressora está conectada.
- A chave "Path" com o diretório onde serão gravados os arquivo "STATUS.TXT" e "RETORNO.TXT";
- A chave "Status" para 1 (um) e;
- A chave "Retorno" para 1 (um).

Exemplo:

[Sistema]
Porta=COM1
Path=C:\REDE\
Status=1
Retorno=1
StatusFuncao=0
ControlePorta=1
ModeloImp=BEMATECH
ConfigRede=0
ModoGaveta=0
Log=0

Após estas configurações, o Bematech Monitor estará pronto para iniciar o monitoramento e receber o arquivo BemaFI32.cmd com o comando a ser executado. Para isso, clique na opção "start".


Tabela de Código dos Comandos

Cada comando executado na impressora fiscal, possui um código que deve ser gravado no arquivos BemaFI32.cmd (conforme explicado anteriormente).

Observação: Alguns comandos possuem parâmetros. Cada um destes parâmetros, devem ser separados pelo símbolo "|" (pipe). Os comandos que não possuírem parâmetros, deve-se apenas finalizar com o "|" (pipe).

Os códigos destes comandos, são:

- para Comandos de Inicialização

Código
Função que será executada na Impressora
Exemplo de conteúdo do arquivo BEMAFI32.CMD
006
Bematech_FI_AlteraSimboloMoeda
006| R|
025
Bematech_FI_EspacoEntreLinhas
025|008|
033
Bematech_FI_ForcaImpactoAgulhas
033|2|
047
Bematech_FI_LinhasEntreCupons
047|001|
053
Bematech_FI_NomeiaTotalizadorNaoSujeitoIcms
053|15|Rec. Prestacao|
063
Bematech_FI_ProgramaAliquota
063|1700|0|
064
Bematech_FI_ProgramaArredondamento
064|
066
Bematech_FI_ProgramaHorarioVerao
066|
069
Bematech_FI_ProgramaTruncamento
069|

- para Comandos de Cupom Fiscal

Código
Função que será executada na Impressora
Exemplo de conteúdo do arquivo BEMAFI32.CMD
003
Bematech_FI_AbreCupom
003|
007
Bematech_FI_AumentaDescricaoItem
007|Produto 123/776 - 001 abc|
009
Bematech_FI_CancelaCupom
009|
011
Bematech_FI_CancelaItemAnterior
011|
012
Bematech_FI_CancelaItemGenerico
012|005|
023
Bematech_FI_EfetuaFormaPagamento
023|Dinheiro|25,00|
024
Bematech_FI_EfetuaFormaPagamentoDescricaoForma
024|Cheque|50,00|Bom p/ 30 dias|
026
Bematech_FI_EstornoFormasPagamento
026|Dinheiro|Contra-Vale|30,00|
028
Bematech_FI_FechaCupom
028|Dinheiro|A|$|0000|35,00|Obrigado, volte sempre !!!|
029
Bematech_FI_FechaCupomResumido
029|Dinheiro|Obrigado, volte sempre !!!|
040
Bematech_FI_IniciaFechamentoCupom
040|D|%|10,00|
082
Bematech_FI_TerminaFechamentoCupom
082|Obrigado, volte sempre !!!|
085
Bematech_FI_UsaUnidadeMedida
085|Kg|
089
Bematech_FI_VendeItem
089|123|Caneta|1200|I|10|2|0,25|%|0000|
090
Bematech_FI_VendeItemDepartamento
090|123|Caneta|1200|0,100|1,000|0|0|03|UN|

- para Comandos de Operações Não Fiscais

Código
Função que será executada na Impressora
Exemplo de conteúdo do arquivo BEMAFI32.CMD
002
Bematech_FI_AbreComprovanteNaoFiscalVinculado
002|Cartao|||
027
Bematech_FI_FechaComprovanteNaoFiscalVinculado
027|
031
Bematech_FI_FechaRelatorioGerencial
031|
070
Bematech_FI_RecebimentoNaoFiscal
070|05|30,00|Dinheiro|
072
Bematech_FI_RelatorioGerencial
072|Digite o texto a ser impresso aqui !!!|
078
Bematech_FI_Sangria
078|50,00|
081
Bematech_FI_Suprimento
081|100,00|Dinheiro|
084
Bematech_FI_UsaComprovanteNaoFiscalVinculado
084|Digite o texto a ser impresso aqui !!!|

- para Comandos de Relatórios Fiscais

Código
Função que será executada na Impressora
Exemplo de conteúdo do arquivo BEMAFI32.CMD
045
Bematech_FI_LeituraX
045|
046
Bematech_FI_LeituraXSerial
046|
041
Bematech_FI_LeituraMemoriaFiscalData
041|01/01/2002|05/01/2001|
042
Bematech_FI_LeituraMemoriaFiscalReducao
042|0100|0250|
043
Bematech_FI_LeituraMemoriaFiscalSerialData
043|01/01/2002|05/01/2001|
044
Bematech_FI_LeituraMemoriaFiscalSerialReducao
044|0100|0250|
071
Bematech_FI_ReducaoZ
071|
238
Bematech_FI_FechaRelatorioXouZ
238|

- para Comandos de Autenticação e Gaveta de Dinheiro

Código
Função que será executada na Impressora
Exemplo de conteúdo do arquivo BEMAFI32.CMD
004
Bematech_FI_AcionaGaveta
004|
008
Bematech_FI_Autenticacao
008|
065
Bematech_FI_ProgramaCaracterAutenticacao
065|001,002,004,008,016,032,064,128,064,032,016,008,004,002,129,129,129,129|
094
Bematech_FI_VerificaEstadoGaveta
094|

- para Comandos de Informações da Impressora

Código
Função que será executada na Impressora
Exemplo de conteúdo do arquivo BEMAFI32.CMD
005
Bematech_FI_Acrescimos
005|
013
Bematech_FI_Cancelamentos
013|
014
Bematech_FI_CGC_IE
014|
015
Bematech_FI_ClicheProprietario
015|
017
Bematech_FI_ContadoresTotalizadoresNaoFiscais
017|
018
Bematech_FI_DadosUltimaReducao
018|
019
Bematech_FI_DataHoraImpressora
019|
020
Bematech_FI_DataHoraReducao
020|
021
Bematech_FI_DataMovimento
021|
022
Bematech_FI_Descontos
022|
032
Bematech_FI_FlagsFiscais
032|
034
Bematech_FI_GrandeTotal
034|
050
Bematech_FI_MinutosImprimindo
050|
049
Bematech_FI_MinutosLigada
049|
051
Bematech_FI_MonitoramentoPapel
051|
054
Bematech_FI_NumeroCaixa
054|
055
Bematech_FI_NumeroCupom
055|
056
Bematech_FI_NumeroCuponsCancelados
056|
057
Bematech_FI_NumeroIntervencoes
057|
058
Bematech_FI_NumeroLoja
058|
059
Bematech_FI_NumeroOperacoesNaoFiscais
059|
060
Bematech_FI_NumeroReducoes
060|
061
Bematech_FI_NumeroSerie
061|
062
Bematech_FI_NumeroSubstituicoesProprietario
062|
076
Bematech_FI_RetornoAliquotas
076|
079
Bematech_FI_SimboloMoeda
079|
080
Bematech_FI_SubTotal
080|
083
Bematech_FI_UltimoItemVendido
083|
086
Bematech_FI_ValorFormaPagamento
086|Dinheiro|
088
Bematech_FI_ValorPagoUltimoCupom
088|
087
Bematech_FI_ValorTotalizadorNaoFiscal
087|Conta de Luz|
091
Bematech_FI_VerificaAliquotasIss
091|
093
Bematech_FI_VerificaDepartamentos
093|
092
Bematech_FI_VerificaEpromConectada
092|
095
Bematech_FI_VerificaEstadoImpressora
095|
096
Bematech_FI_VerificaFormasPagamento
096|
098
Bematech_FI_VerificaIndiceAliquotasIss
098|
099
Bematech_FI_VerificaModoOperacao
099|
100
Bematech_FI_VerificaRecebimentoNaoFiscal
100|
102
Bematech_FI_VerificaTipoImpressora
102|
103
Bematech_FI_VerificaTotalizadoresNaoFiscais
103|
104
Bematech_FI_VerificaTotalizadoresParciais
104|
105
Bematech_FI_VerificaTruncamento
105|
106
Bematech_FI_VersaoFirmware
106|

- para Comandos de Impressão de Cheques

Código
Função que será executada na Impressora
Exemplo de conteúdo do arquivo BEMAFI32.CMD
010
Bematech_FI_CancelaImpressaoCheque
010|
035
Bematech_FI_ImprimeCheque
035|353|50,00|André|Curitiba|10/01/02|Bom p/ 30 dias|
037
Bematech_FI_ImprimeCopiaCheque
037|
039
Bematech_FI_IncluiCidadeFavorecido
039|Londrina|José|
067
Bematech_FI_ProgramaMoedaPlural
067|Reais|
068
Bematech_FI_ProgramaMoedaSingular
068|Real|
101
Bematech_FI_VerificaStatusCheque
101|

- para Comandos da Impressora Fiscal Restaurante

Código
Função que será executada na Impressora
Exemplo de conteúdo do arquivo BEMAFI32.CMD
164
Bematech_FIR_AbreConferenciaMesa
164|0001|
165
Bematech_FIR_AbreCupomRestaurante
165|0001|
166
Bematech_FIR_CancelaVenda
166|0001|123-ABC|Coca-Cola|17,00|3|1,00|A|0|
169
Bematech_FIR_CardapioPelaSerial
169|
167
Bematech_FIR_ConferenciaMesa
167|0001|A|%|1000|
168
Bematech_FIR_ContaDividida
168|3|10,00;10,00;10,00||
170
Bematech_FIR_FechaConferenciaMesa
170|A|%|1000|
171
Bematech_FIR_FechaCupomContaDividida
171|3|A|%|1000|Dinheiro;Dinheiro;Cheque|10,00;10,00;10,00|10,00;10,00;10,00||
172
Bematech_FIR_FechaCupomRestaurante
172|Dinheiro|A|$|0000|35,00|Obrigado, volte sempre !!!|
173
Bematech_FIR_FechaCupomResumidoRestaurante
173|Cheque|Obrigado, volte sempre !!!|
174
Bematech_FIR_ImprimeCardapio
174|
175
Bematech_FIR_RegistraVenda
175|0001|123-ABC|Coca-Cola|17,00|3|1,00|A|0|
176
Bematech_FIR_RegistroVendaSerial
176|0001|
177
Bematech_FIR_RelatorioMesasAbertas
177|1|
178
Bematech_FIR_RelatorioMesasAbertasSerial
178|
179
Bematech_FIR_TransferenciaItem
179|0001|123-ABC|Coca-Cola|17,00|1|1,00|A|0|0003|
180
Bematech_FIR_TransferenciaMesa
180|0001|0005|
181
Bematech_FIR_VerificaMemoriaLivre
181|

- para Comandos de TEF

Código
Função que será executada na Impressora
Exemplo de conteúdo do arquivo BEMAFI32.CMD
198
Bematech_FI_IniciaModoTEF
198|
200
Bematech_FI_UsaComprovanteNaoFiscalVinculadoTEF
200|Digite o texto a ser impresso aqui !!!|
201
Bematech_FI_RelatorioGerencialTEF
201|Digite o texto a ser impresso aqui !!!|
199
Bematech_FI_FinalizaModoTEF
199|

- para outros Comandos da Impressora

Código
Função que será executada na Impressora
Exemplo de conteúdo do arquivo BEMAFI32.CMD
001
Bematech_FI_AberturaDoDia
001|50,00|Dinheiro|
030
Bematech_FI_FechamentoDoDia
030|
036
Bematech_FI_ImprimeConfiguracoesImpressora
036|
038
Bematech_FI_ImprimeDepartamentos
038|
048
Bematech_FI_MapaResumo
048|
073
Bematech_FI_RelatorioTipo60Analitico
073|
074
Bematech_FI_RelatorioTipo60Mestre
074|
075
Bematech_FI_ResetaImpressora
075|
077
Bematech_FI_RetornoImpressora
077|
097
Bematech_FI_VerificaImpressoraLigada
097|
195
Bematech_FI_DadosSintegra
195|01/12/04|01/12/04|
197
Bematech_FI_RegistrosTipo60
197|

- para Comandos da Impressora Fiscal Bilhete de Passagem

Código
Função que será executada na Impressora
Exemplo de conteúdo do arquivo BEMAFI32.CMD
107
Bematech_FI_AbreBilhetePassagem
107|1|1|CTBA|SP|Leito|123|Carlos|Itapemirim|11/01/02|23:30:00|15|D10|
016
Bematech_FI_ContadorBilhetePassagem
016|

- para Comandos da Impressora Fiscal MFD (térmica)

Código
Função que será executada na Impressora
Exemplo de conteúdo do arquivo BEMAFI32.CMD
108
Bematech_FI_AbreBilhetePassagemMFD
108|Curitiba|São Paulo|Curitiba/São Paulo - Leito|Itapemirim|22/04/02|11:30:00|1|5.021.659-66|José da Silva|Rua sem Fim, 1000|PR|
109
Bematech_FI_AbreComprovanteNaoFiscalVinculadoMFD
109|Cartao|50,00|000165|5.930.015-7|Carlos Gomes|R. ABC, 1000|
110
Bematech_FI_AbreCupomMFD
110|10.123.154-98|José da Silva|R. Sem Fim, 1000|
111
Bematech_FI_AbreRecebimentoNaoFiscalMFD
111|5.966.011-4|José da Silva|Rua XYZ, 5|
112
Bematech_FI_AbreRelatorioGerencialMFD
112|05|
113
Bematech_FI_AcrescimoDescontoItemMFD
113|005|D|$|1000|
114
Bematech_FI_AutenticacaoMFD
114|5|Autenticação Mecânica !!!|
115
Bematech_FI_CancelaCupomMFD
115|10.123.154-98|Carlos da Silva|R. XXXYYYZZZ, 1|
116
Bematech_FI_CancelaRecebimentoNaoFiscalMFD
116|5.922.012-5|José da Silva|R. XYZ, 1000|
117
Bematech_FI_ComprovantesNaoFiscaisNaoEmitidosMFD
117|
118
Bematech_FI_CNPJMFD
118|
119
Bematech_FI_ContadorComprovantesCreditoMFD
119|
120
Bematech_FI_ContadorCupomFiscalMFD
120|
124
Bematech_FI_ContadoresTotalizadoresNaoFiscaisMFD
124|
121
Bematech_FI_ContadorFitaDetalheMFD
121|
122
Bematech_FI_ContadorOperacoesNaoFiscaisCanceladasMFD
122|
123
Bematech_FI_ContadorRelatoriosGerenciaisMFD
123|
125
Bematech_FI_CupomAdicionalMFD
125|
126
Bematech_FI_DadosUltimaReducaoMFD
126|
127
Bematech_FI_EfetuaFormaPagamentoMFD
127|Cartao|50,00|2|Compra parcelada|
128
Bematech_FI_EfetuaRecebimentoNaoFiscalMFD
128|03|35,00|
129
Bematech_FI_EstornoNaoFiscalVinculadoMFD
129|3.879.154-02|Carlos de Souza|Rua da Esquina,222|
130
Bematech_FI_FechaRecebimentoNaoFiscalMFD
130|Obrigado, volte sempre !!!|
131
Bematech_FI_HabilitaDesabilitaRetornoEstendidoMFD
131|1|
132
Bematech_FI_ImprimeChequeMFD
132|001|50,00|José da Silva|Curitiba|18/04/02||0|0|
133
Bematech_FI_IniciaFechamentoCupomMFD
133|X|%|1200|1000|
134
Bematech_FI_IniciaFechamentoRecebimentoNaoFiscalMFD
134|X|%|1200|1000|
135
Bematech_FI_InscricaoEstadualMFD
135|
136
Bematech_FI_InscricaoMunicipalMFD
136|
137
Bematech_FI_LeituraChequeMFD
137|
138
Bematech_FI_LeituraMemoriaFiscalDataMFD
138|01/04/02|15/04/02|c|
139
Bematech_FI_LeituraMemoriaFiscalReducaoMFD
139|0010|0015|c|
140
Bematech_FI_LeituraMemoriaFiscalSerialDataMFD
140|01/12/04|15/12/04|c|
141
Bematech_FI_LeituraMemoriaFiscalSerialReducaoMFD
141|0001|0010|c|
142
Bematech_FI_MapaResumoMFD
142|
143
Bematech_FI_MarcaModeloTipoImpressoraMFD
143|
144
Bematech_FI_MinutosEmitindoDocumentosFiscaisMFD
144|
145
Bematech_FI_NomeiaRelatorioGerencialMFD
145|02|Troca Operador|
146
Bematech_FI_NumeroSerieMFD
146|
147
Bematech_FI_NumeroSerieMFDMFD
147|
148
Bematech_FI_ProgramaFormaPagamentoMFD
148|Cartao|1|
149
Bematech_FI_ReducoesRestantesMFD
149|
150
Bematech_FI_ReimpressaoNaoFiscalVinculadoMFD
150|
151
Bematech_FI_RelatorioTipo60AnaliticoMFD
151|
152
Bematech_FI_RetornoImpressoraMFD
152|
153
Bematech_FI_SegundaViaNaoFiscalVinculadoMFD
153|
154
Bematech_FI_TempoOperacionalMFD
154|
155
Bematech_FI_UsaRelatorioGerencialMFD
155|Entre com o texto aqui !!!|
156
Bematech_FI_ValorFormaPagamentoMFD
156|Dinheiro|cVarRetorno|
157
Bematech_FI_ValorTotalizadorNaoFiscalMFD
157|Rec. Prestacao|cVarRetorno|
158
Bematech_FI_VerificaFormasPagamentoMFD
158|
159
Bematech_FI_VerificaRecebimentoNaoFiscalMFD
159|
160
Bematech_FI_VerificaRelatorioGerencialMFD
160|
196
Bematech_FI_RelatorioSintegraMFD
196|63|SINTEGRA.TXT|11|2003|BEMATECH S/A|Estrada de Santa Candida|263|Industria|Santa Candida|Curitiba|82630490|41 351-2700|41 351-2863|Fulano de Tal|
202
Bematech_FI_UsaRelatorioGerencialMFDTEF
202|Entre com o texto aqui !!!|
203
Bematech_FI_CancelaItemNaoFiscalMFD
203|005|
204
Bematech_FI_AcrescimoItemNaoFiscalMFD
204|005|A|%|10,00|
205
Bematech_FI_CancelaAcrescimoNaoFiscalMFD
205|005|A|
206
Bematech_FI_ImprimeClicheMFD
206|
207
Bematech_FI_ImprimeInformacaoChequeMFD
207|1|2|Teste de Impressão no Verso do Cheque|
208
Bematech_FI_CancelaAcrescimoDescontoItemMFD
208|D|005|
212
Bematech_FI_TotalizaCupomMFD
212|
216
Bematech_FI_TotalizaRecebimentoMFD
216|
239
Bematech_FI_VerificaEstadoImpressoraMFD
239|
242
Bematech_FI_DownloadMFD
242|DOWNLOAD.MFD|2|000001|000010|1|
243
Bematech_FI_DownloadMF
243|DOWNLOAD.MF|

244
Bematech_FI_FormatoDadosMFD
244|DOWNLOAD.MFD|SAIDA.MDB|2|2|000001|000010|1|
245
Bematech_FI_SubTotalComprovanteNaoFiscalMFD
245|
246
Bematech_FI_DataMovimentoUltimaReducaoMFD
246|
247
Bematech_FI_GrandeTotalUltimaReducaoMFD
247|
248
Bematech_FI_UFProprietarioMFD
248|
249
Bematech_FI_GeraRelatorioSintegraMFD
249|63|DOWNLOAD.MFD|SINTEGRA.TXT|11|2003|BEMATECH S/A|Estrada de Santa Candida|263|Industria|Santa Candida|Curitiba|82630490|41 351-2700|41 351-2863|Fulano de Tal|
250
Bematech_FI_TempoRestanteComprovanteMFD
250|
251
Bematech_FI_InicioFimCOOsMFD
251|
252
Bematech_FI_StatusEstendidoMFD
252|
253
Bematech_FI_AtivaDesativaTratamentoONOFFLineMFD
253|1|
254
Bematech_FI_AtivaDesativaCorteProximoMFD
254|1|
255
Bematech_FI_AtivaDesativaAlinhamentoEsquerdaMFD
255|1|
256
Bematech_FI_AtivaDesativaVendaUmaLinhaMFD
256|1|
257
Bematech_FI_InicioFimGTsMFD
257|
258
Bematech_FI_VerificaFlagCorteMFD
258|


Sobre

Este arquivo de ajuda foi desenvolvido pela área de Desenvolvimento de Software e Parcerias (DSP) Bematech, com o objetivo de auxiliá-lo no desenvolvimento de seu aplicativo com a BemaFI32.dll (DLL de alto-nível padrão Bematech para Windows) para as impressoras fiscais Bematech.

Neste arquivo você encontrará todas as funções de acesso à sua impressora fiscal, basicamente explicados, incluindo exemplos em Visual Basic e Delphi.

Qualquer dúvida, que por ventura você venha a ter, poderá esclarece-la através de nosso Suporte Técnico, nos telefones:
(41) 351-2778
(41) 351-2765

ou no email:
suporte@bematech.com.br

logobematech

NOSSO NEGÓCIO É AUTOMAÇÃO COMERCIAL !!!

Visite a nossa home-page: http://www.bematech.com.br


Bematech_FI_AtivaDesativaVendaUmaLinhaMFD

Ativa ou desativa a venda de item em apenas uma linha.

Parâmetro:

iFlag: INTEGER com 1 (um) dígito, onde:
0 (zero): desativa
1 (um): ativa

Retornos da Função (INTEIRO):

0 - Erro de comunicação
1 - Ok
-2 - Parâmetro inválido
-4 - Arquivo ini não encontrado ou parâmetro inválido para o nome da porta
-5 - Erro ao abrir a porta de comunicação
-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Observações:

- Esta função só será executada, caso a impressora não tenha nenhum movimento no dia ou após a Redução Z.
- Não será necessário sua execução a cada início de dia.
- Função disponível para a impressora fiscal térmica MP-2000 TH FI versão 01.00.02 ou 01.01.01.

Exemplo:

' Exemplo em Visual Basic
iRetorno = Bematech_FI_AtivaDesativaVendaUmaLinhaMFD(1)

// Exemplo em Delphi
iFlag := 1;
iRetorno := Bematech_FI_AtivaDesativaVendaUmaLinhaMFD( iFlag );


Declaração em C# (C Sharp)

Declaração das Funções da BemaFI32.dll em C# (C Sharp)
Retorna ao Início

using System;
using System.Runtime.InteropServices;

namespace FiscalPrinterBematech
{
/// <summary>
/// Classe com a declaração das funções da bemafi32.dll
/// </summary>
public class BemaFI32
{
public BemaFI32()
{
}

#region DECLARAÇÃO DAS FUNÇÕES DA BEMAFI32.DLL

#region Funções de Inicialização
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_AlteraSimboloMoeda(string SimboloMoeda);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ProgramaAliquota(string Aliquota, int ICMS_ISS);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_NomeiaDepartamento(int Indice, string Departamento);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_NomeiaTotalizadorNaoSujeitoIcms(int Indice, string Totalizador);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_LinhasEntreCupons(int Linhas);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_EspacoEntreLinhas(int Dots);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ForcaImpactoAgulhas(int ForcaImpacto);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ProgramaHorarioVerao();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ProgramaArredondamento();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ProgramaTruncamento();
#endregion

#region Funções do Cupom Fiscal
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_AbreCupom(string CGC_CPF);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VendeItem(string Codigo, string Descricao, string Aliquota, string TipoQuantidade, string Quantidade, int CasasDecimais, string ValorUnitario, string TipoDesconto, string Desconto);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VendeItemDepartamento(string Codigo, string Descricao, string Aliquota, string ValorUnitario, string Quantidade, string Acrescimo, string Desconto, string IndiceDepartamento, string UnidadeMedida);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_CancelaItemAnterior();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_CancelaItemGenerico(string NumeroItem);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_CancelaCupom();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_FechaCupomResumido(string FormaPagamento, string Mensagem);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_FechaCupom(string FormaPagamento, string AcrescimoDesconto, string TipoAcrescimoDesconto, string ValorAcrescimoDesconto, string ValorPago, string Mensagem);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_IniciaFechamentoCupom(string AcrescimoDesconto, string TipoAcrescimoDesconto, string ValorAcrescimoDesconto);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_EfetuaFormaPagamento(string FormaPagamento, string ValorFormaPagamento);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_EfetuaFormaPagamentoDescricaoForma(string FormaPagamento, string ValorFormaPagamento, string Descricao);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_TerminaFechamentoCupom(string Mensagem);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_EstornoFormasPagamento(string FormaOrigem, string FormaDestino, string Valor);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_AumentaDescricaoItem(string Descricao);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_UsaUnidadeMedida(string UnidadeMedida);
#endregion

#region Funções dos Relatórios Fiscais
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_LeituraX();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_LeituraXSerial();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ReducaoZ(string Data, string Hora);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_RelatorioGerencial(string Texto);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_FechaRelatorioGerencial();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_LeituraMemoriaFiscalData(string DataInicial,string DataFinal);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_LeituraMemoriaFiscalReducao(string ReducaoInicial, string ReducaoFinal);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_LeituraMemoriaFiscalSerialData(string DataInicial, string DataFinal);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_LeituraMemoriaFiscalSerialReducao(string ReducaoInicial, string ReducaoFinal);
#endregion

#region Funções das Operações Não Fiscais
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_RecebimentoNaoFiscal(string IndiceTotalizador, string Valor, string FormaPagamento);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_AbreComprovanteNaoFiscalVinculado(string FormaPagamento, string Valor, string NumeroCupom);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_UsaComprovanteNaoFiscalVinculado(string Texto);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_FechaComprovanteNaoFiscalVinculado();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_Sangria(string Valor);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_Suprimento(string Valor, string FormaPagamento);
#endregion

#region Funções de Informações da Impressora
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_Acrescimos([MarshalAs(UnmanagedType.VBByRefStr)] ref string ValorAcrescimos);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_Cancelamentos([MarshalAs(UnmanagedType.VBByRefStr)] ref string ValorCancelamentos);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_CGC_IE([MarshalAs(UnmanagedType.VBByRefStr)] ref string CGC,[MarshalAs(UnmanagedType.VBByRefStr)] ref string IE);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ClicheProprietario([MarshalAs(UnmanagedType.VBByRefStr)] ref string Cliche);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ContadorBilhetePassagem(string ContadorPassagem);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ContadoresTotalizadoresNaoFiscais([MarshalAs(UnmanagedType.VBByRefStr)] ref string Contadores);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_DadosUltimaReducao([MarshalAs(UnmanagedType.VBByRefStr)] ref string DadosReducao);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_DataHoraImpressora([MarshalAs(UnmanagedType.VBByRefStr)] ref string Data, [MarshalAs(UnmanagedType.VBByRefStr)] ref string Hora);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_DataHoraReducao([MarshalAs(UnmanagedType.VBByRefStr)] ref string Data, [MarshalAs(UnmanagedType.VBByRefStr)] ref string Hora);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_DataMovimento([MarshalAs(UnmanagedType.VBByRefStr)] ref string Data);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_Descontos([MarshalAs(UnmanagedType.VBByRefStr)] ref string ValorDescontos);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_FlagsFiscais(ref int Flag);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_GrandeTotal([MarshalAs(UnmanagedType.VBByRefStr)] ref string GrandeTotal);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_MinutosLigada([MarshalAs(UnmanagedType.VBByRefStr)] ref string Minutos);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_MinutosImprimindo([MarshalAs(UnmanagedType.VBByRefStr)] ref string Minutos);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_MonitoramentoPapel(ref int Linhas);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_NumeroCaixa([MarshalAs(UnmanagedType.VBByRefStr)] ref string NumeroCaixa);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_NumeroCupom([MarshalAs(UnmanagedType.VBByRefStr)] ref string NumeroCupom);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_NumeroCuponsCancelados([MarshalAs(UnmanagedType.VBByRefStr)] ref string NumeroCancelamentos);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_NumeroIntervencoes([MarshalAs(UnmanagedType.VBByRefStr)] ref string NumeroIntervencoes);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_NumeroLoja([MarshalAs(UnmanagedType.VBByRefStr)] ref string NumeroLoja);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_NumeroOperacoesNaoFiscais([MarshalAs(UnmanagedType.VBByRefStr)] ref string NumeroOperacoes);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_NumeroReducoes([MarshalAs(UnmanagedType.VBByRefStr)] ref string NumeroReducoes);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_NumeroSerie([MarshalAs(UnmanagedType.VBByRefStr)] ref string NumeroSerie);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_NumeroSubstituicoesProprietario([MarshalAs(UnmanagedType.VBByRefStr)] ref string NumeroSubstituicoes);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_RetornoAliquotas([MarshalAs(UnmanagedType.VBByRefStr)] ref string Aliquotas);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_SimboloMoeda([MarshalAs(UnmanagedType.VBByRefStr)] ref string SimboloMoeda);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_SubTotal([MarshalAs(UnmanagedType.VBByRefStr)] ref string SubTotal);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_UltimoItemVendido([MarshalAs(UnmanagedType.VBByRefStr)] ref string NumeroItem);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ValorFormaPagamento(string Forma, [MarshalAs(UnmanagedType.VBByRefStr)] ref string ValorForma);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ValorPagoUltimoCupom([MarshalAs(UnmanagedType.VBByRefStr)] ref string ValorCupom);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ValorTotalizadorNaoFiscal(string Totalizador, [MarshalAs(UnmanagedType.VBByRefStr)] ref string ValorTotalizador);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaAliquotasIss([MarshalAs(UnmanagedType.VBByRefStr)] ref string Flag);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaEpromConectada([MarshalAs(UnmanagedType.VBByRefStr)] ref string Flag);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaDepartamentos([MarshalAs(UnmanagedType.VBByRefStr)] ref string Departamentos);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaEstadoImpressora(ref int ACK, ref int ST1, ref int ST2);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaFormasPagamento([MarshalAs(UnmanagedType.VBByRefStr)] ref string Formas);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaIndiceAliquotasIss([MarshalAs(UnmanagedType.VBByRefStr)] ref string Flag);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaModoOperacao([MarshalAs(UnmanagedType.VBByRefStr)] ref string Modo);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaRecebimentoNaoFiscal([MarshalAs(UnmanagedType.VBByRefStr)] ref string Recebimentos);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaTipoImpressora(ref int TipoImpressora);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaTotalizadoresNaoFiscais([MarshalAs(UnmanagedType.VBByRefStr)] ref string Totalizadores);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaTotalizadoresParciais([MarshalAs(UnmanagedType.VBByRefStr)] ref string Totalizadores);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaTruncamento([MarshalAs(UnmanagedType.VBByRefStr)] ref string Flag);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VersaoFirmware([MarshalAs(UnmanagedType.VBByRefStr)] ref string VersaoFirmware);
#endregion

#region Funções de Autenticação e Gaveta de Dinheiro
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_AcionaGaveta();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_Autenticacao();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ProgramaCaracterAutenticacao(string Parametros);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaEstadoGaveta(out int EstadoGaveta);
#endregion

#region Funções de Impressão de Cheques
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_CancelaImpressaoCheque();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ImprimeCheque(string Banco, string Valor, string Favorecido, string Cidade, string Data, string Mensagem);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ImprimeCopiaCheque();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_IncluiCidadeFavorecido(string Cidade, string Favorecido);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ProgramaMoedaPlural(string MoedaPlural);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ProgramaMoedaSingular(string MoedaSingular);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaStatusCheque(ref int StatusCheque);
#endregion

#region Outras Funções
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_AberturaDoDia(string Valor, string FormaPagto);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_AbrePortaSerial();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_FechamentoDoDia();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_FechaPortaSerial();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ImprimeConfiguracoesImpressora();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ImprimeDepartamentos();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_MapaResumo();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_RelatorioTipo60Analitico();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_RelatorioTipo60Mestre();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_RetornoImpressora(ref int ACK, ref int ST1, ref int ST2);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaImpressoraLigada();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ResetaImpressora();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_AbreBilhetePassagem(string ImprimeValorFinal, string ImprimeEnfatizado, string   Embarque, string Destino, string Linha, string Prefixo, string Agente, string   Agencia, string   Data, string Hora, string Poltrona, string Plataforma);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ImpressaoCarne(string Titulo, string Parcelas, string Datas,   int   Quantidade, string Texto, string Cliente, string RG_CPF, string Cupom, int Vias, int Assina);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_LeArquivoRetorno([MarshalAs(UnmanagedType.VBByRefStr)] ref string Retorno);
#endregion

#region Funções para a Impressora Restaurante
[DllImport("BemaFi32.dll")]public static extern int Bematech_FIR_AbreConferenciaMesa(string Mesa);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FIR_AbreCupomRestaurante(string Mesa, string CGC_CPF);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FIR_CancelaVenda(string Mesa, string Codigo, string Descricao, string Aliquota, string Quantidade, string ValorUnitario, string FlagAcrescimoDesconto, string ValorAcrescimoDesconto);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FIR_ConferenciaMesa(string Mesa, string FlagAcrescimoDesconto, string TipoAcrescimoDesconto, string ValorAcrescimoDesconto);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FIR_ContaDividida(string NumeroCupons, string ValorPago, string CGC_CPF);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FIR_CardapioPelaSerial();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FIR_FechaConferenciaMesa(string FlagAcrescimoDesconto, string TipoAcrescimoDesconto, string ValorAcrescimoDesconto);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FIR_FechaCupomContaDividida(string NumeroCupons, string FlagAcrescimoDesconto, string TipoAcrescimoDesconto, string ValorAcrescimoDesconto, string FormasPagamento, string ValorFormasPagamento, string ValorPagoCliente, string CGC_CPF);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FIR_FechaCupomRestaurante(string FormaPagamento, string FlagAcrescimoDesconto, string TipoAcrescimoDesconto, string ValorAcrescimoDesconto, string ValorFormaPagto, string Mensagem);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FIR_ImprimeCardapio();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FIR_RegistraVenda(string Mesa, string Codigo, string Descricao, string Aliquota, string Quantidade, string ValorUnitario, string FlagAcrescimoDesconto, string ValorAcrescimoDesconto);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FIR_RegistroVendaSerial(string Mesa);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FIR_RelatorioMesasAbertas(int TipoRelatorio);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FIR_RelatorioMesasAbertasSerial();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FIR_TransferenciaItem(string MesaOrigem, string Codigo, string Descricao, string Aliquota, string Quantidade, string ValorUnitario, string FlagAcrescimoDesconto, string ValorAcrescimoDesconto, string MesaDestino);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FIR_TransferenciaMesa(string MesaOrigem, string MesaDestino);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FIR_VerificaMemoriaLivre(string Bytes);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FIR_FechaCupomResumidoRestaurante(string FormaPagamento, string Mensagem);
#endregion

#region Funções da Impressora Fiscal MFD
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_AbreBilhetePassagemMFD(string Embarque, string Destino, string Linha, string Agencia, string Data, string Hora, string Poltrona, string Plataforma, string TipoPassagem);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_AbreComprovanteNaoFiscalVinculadoMFD(string FormaPagamento, string Valor, string NumeroCupom, string CGC, string nome, string Endereco);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_AbreCupomMFD(string CGC, string Nome, string Endereco);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_AbreRecebimentoNaoFiscalMFD(string CGC, string Nome, string Endereco);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_AbreRelatorioGerencialMFD(string Indice);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_AcrescimoDescontoItemMFD(string Item, string AcrescimoDesconto, string TipoAcrescimoDesconto, string ValorAcrescimoDesconto);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_AcrescimoDescontoSubtotalRecebimentoMFD(string cFlag, string cTipo, string cValor);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_AcrescimoDescontoSubtotalMFD(string cFlag, string cTipo, string cValor);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_AutenticacaoMFD(string Linhas, string Texto);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_CancelaAcrescimoDescontoItemMFD(string cFlag, string cItem);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_CancelaAcrescimoDescontoSubtotalMFD(string cFlag);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_CancelaAcrescimoDescontoSubtotalRecebimentoMFD(string cFlag);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_CancelaCupomMFD(string CGC, string Nome, string Endereco);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_CancelaRecebimentoNaoFiscalMFD(string CGC, string Nome, string Endereco);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ComprovantesNaoFiscaisNaoEmitidosMFD(string Comprovantes);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_CNPJMFD(string CNPJ);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ContadorComprovantesCreditoMFD(string Comprovantes);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ContadorCupomFiscalMFD(string CuponsEmitidos);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ContadorFitaDetalheMFD(string ContadorFita);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ContadorOperacoesNaoFiscaisCanceladasMFD(string OperacoesCanceladas);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ContadorRelatoriosGerenciaisMFD (string Relatorios);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ContadoresTotalizadoresNaoFiscaisMFD(string Contadores);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_CupomAdicionalMFD();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_DadosUltimaReducaoMFD(string DadosReducao);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_DataHoraUltimoDocumentoMFD(string cDataHora);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_EfetuaFormaPagamentoMFD(string FormaPagamento, string ValorFormaPagamento, string Parcelas, string DescricaoFormaPagto);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_EfetuaRecebimentoNaoFiscalMFD(string IndiceTotalizador, string ValorRecebimento);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_EstornoNaoFiscalVinculadoMFD(string CGC, string Nome, string Endereco);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_FechaRecebimentoNaoFiscalMFD(string Mensagem);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_HabilitaDesabilitaRetornoEstendidoMFD(string FlagRetorno);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ImprimeChequeMFD(string NumeroBanco, string Valor, string Favorecido, string Cidade, string Data, string Mensagem, string ImpressaoVerso, string Linhas);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_IniciaFechamentoCupomMFD(string AcrescimoDesconto, string TipoAcrescimoDesconto, string ValorAcrescimo, string ValorDesconto);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_IniciaFechamentoRecebimentoNaoFiscalMFD(string AcrescimoDesconto, string TipoAcrescimoDesconto, string ValorAcrescimo, string ValorDesconto);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_InscricaoEstadualMFD(string InscricaoEstadual);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_InscricaoMunicipalMFD(string InscricaoMunicipal);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_LeituraChequeMFD(string CodigoCMC7);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_LeituraMemoriaFiscalDataMFD(string DataInicial, string DataFinal, string FlagLeitura);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_LeituraMemoriaFiscalReducaoMFD(string ReducaoInicial, string ReducaoFinal, string FlagLeitura);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_LeituraMemoriaFiscalSerialDataMFD(string DataInicial, string DataFinal, string FlagLeitura);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_LeituraMemoriaFiscalSerialReducaoMFD(string ReducaoInicial, string ReducaoFinal, string FlagLeitura);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_MapaResumoMFD();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_MarcaModeloTipoImpressoraMFD(string Marca, string Modelo, string Tipo);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_MinutosEmitindoDocumentosFiscaisMFD(string Minutos);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_NomeiaRelatorioGerencialMFD(string Indice, string Descricao);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_NumeroSerieMFD(string NumeroSerie);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_NumeroSerieMemoriaMFD(string NumeroSerieMFD);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_PercentualLivreMFD(string cMemoriaLivre);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ProgramaFormaPagamentoMFD(string FormaPagto, string OperacaoTef);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ReducoesRestantesMFD(string Reducoes);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ReimpressaoNaoFiscalVinculadoMFD();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_RelatorioTipo60AnaliticoMFD();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_RetornoImpressoraMFD(ref int ACK, ref int ST1, ref int ST2, ref int ST3);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_SegundaViaNaoFiscalVinculadoMFD();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_SubTotalizaCupomMFD();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_SubTotalizaRecebimentoMFD();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_TotalLivreMFD(string cMemoriaLivre);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_TamanhoTotalMFD(string cTamanhoMFD);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_TempoOperacionalMFD(string TempoOperacional);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_TotalizaCupomMFD();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_TotalizaRecebimentoMFD();
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_UsaRelatorioGerencialMFD(string Texto);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ValorFormaPagamentoMFD(string Forma, string ValorForma);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_ValorTotalizadorNaoFiscalMFD(string Totalizador, string ValorTotalizador);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaEstadoImpressoraMFD(ref int ACK, ref int ST1, ref int ST2, ref int ST3);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaFormasPagamentoMFD(string FormasPagamento);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaRecebimentoNaoFiscalMFD(string Recebimentos);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaRelatorioGerencialMFD(string Relatorios);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaTotalizadoresNaoFiscaisMFD(string Totalizadores);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VerificaTotalizadoresParciaisMFD(string Totalizadores);
[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VersaoFirmwareMFD(string VersaoFirmware);
#endregion

#endregion

}
}


Declaração em Delphi

Declaração das Funções da BemaFI32.dll em Delphi

// Funções de Inicialização
function Bematech_FI_AlteraSimboloMoeda( SimboloMoeda: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ProgramaAliquota( Aliquota: String; ICMS_ISS: Integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ProgramaHorarioVerao: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NomeiaDepartamento( Indice: Integer; Departamento: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NomeiaTotalizadorNaoSujeitoIcms( Indice: Integer; Totalizador: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ProgramaArredondamento: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ProgramaTruncamento: Integer; StdCall; External 'BEMAFI32.DLL' Name 'Bematech_FI_ProgramaTruncamento';

function Bematech_FI_LinhasEntreCupons( Linhas: Integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_EspacoEntreLinhas( Dots: Integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ForcaImpactoAgulhas( ForcaImpacto: Integer ): Integer; StdCall; External 'BEMAFI32.DLL';

// Funções do Cupom Fiscal
function Bematech_FI_AbreCupom( CGC_CPF: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VendeItem( Codigo: String; Descricao: String; Aliquota: String; TipoQuantidade: String; Quantidade: String; CasasDecimais: Integer; ValorUnitario: String; TipoDesconto: String; Desconto: String): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VendeItemDepartamento( Codigo: String; Descricao: String; Aliquota: String; ValorUnitario: String; Quantidade: String; Acrescimo: String; Desconto: String; IndiceDepartamento: String; UnidadeMedida: String): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CancelaItemAnterior: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CancelaItemGenerico( NumeroItem: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CancelaCupom: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_FechaCupomResumido( FormaPagamento: String; Mensagem: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_FechaCupom( FormaPagamento: String; AcrescimoDesconto: String; TipoAcrescimoDesconto: String; ValorAcrescimoDesconto: String; ValorPago: String; Mensagem: String): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ResetaImpressora: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_IniciaFechamentoCupom( AcrescimoDesconto: String; TipoAcrescimoDesconto: String; ValorAcrescimoDesconto: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_EfetuaFormaPagamento( FormaPagamento: String; ValorFormaPagamento: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_EfetuaFormaPagamentoDescricaoForma( FormaPagamento: string; ValorFormaPagamento: string; DescricaoFormaPagto: string ): integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_TerminaFechamentoCupom( Mensagem: String): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_EstornoFormasPagamento( FormaOrigem: String; FormaDestino: String; Valor: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_UsaUnidadeMedida( UnidadeMedida: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AumentaDescricaoItem( Descricao: String ): Integer; StdCall; External 'BEMAFI32.DLL';

// Funções dos Relatórios Fiscais
function Bematech_FI_LeituraX: Integer; StdCall; External 'BEMAFI32.DLL' ;

function Bematech_FI_ReducaoZ( Data: String; Hora: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_RelatorioGerencial( Texto: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_RelatorioGerencialTEF( Texto: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_FechaRelatorioGerencial: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_LeituraMemoriaFiscalData( DataInicial: String; DataFinal: String ):
Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_LeituraMemoriaFiscalReducao( ReducaoInicial: String; ReducaoFinal: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_LeituraMemoriaFiscalSerialData( DataInicial: String; DataFinal: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_LeituraMemoriaFiscalSerialReducao( ReducaoInicial: String; ReducaoFinal: String ): Integer; StdCall; External 'BEMAFI32.DLL';

// Funções das Operações Não Fiscais
function Bematech_FI_RecebimentoNaoFiscal( IndiceTotalizador: String; Valor: String; FormaPagamento: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AbreComprovanteNaoFiscalVinculado( FormaPagamento: String; Valor: String; NumeroCupom: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_UsaComprovanteNaoFiscalVinculado( Texto: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_UsaComprovanteNaoFiscalVinculadoTEF( Texto: String ): Integer; StdCall; External 'BEMAFI32.DLL'

function Bematech_FI_FechaComprovanteNaoFiscalVinculado: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_Sangria( Valor: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_Suprimento( Valor: String; FormaPagamento: String ): Integer; StdCall; External 'BEMAFI32.DLL';

// Funções de Informações da Impressora
function Bematech_FI_NumeroSerie( NumeroSerie: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_SubTotal( SubTotal: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NumeroCupom( NumeroCupom: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_LeituraXSerial: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VersaoFirmware( VersaoFirmware: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CGC_IE( CGC: String; IE: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_GrandeTotal( GrandeTotal: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_Cancelamentos( ValorCancelamentos: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_Descontos( ValorDescontos: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NumeroOperacoesNaoFiscais( NumeroOperacoes: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NumeroCuponsCancelados( NumeroCancelamentos: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NumeroIntervencoes( NumeroIntervencoes: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NumeroReducoes( NumeroReducoes: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NumeroSubstituicoesProprietario( NumeroSubstituicoes: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_UltimoItemVendido( NumeroItem: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ClicheProprietario( Cliche: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NumeroCaixa( NumeroCaixa: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NumeroLoja( NumeroLoja: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_SimboloMoeda( SimboloMoeda: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_MinutosLigada( Minutos: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_MinutosImprimindo( Minutos: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaModoOperacao( Modo: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaEpromConectada( Flag: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_FlagsFiscais( Var Flag: Integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ValorPagoUltimoCupom( ValorCupom: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DataHoraImpressora( Data: String; Hora: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ContadoresTotalizadoresNaoFiscais( Contadores: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaTotalizadoresNaoFiscais( Totalizadores: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DataHoraReducao( Data: String; Hora: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DataMovimento( Data: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaTruncamento( Flag: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_Acrescimos( ValorAcrescimos: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ContadorBilhetePassagem( ContadorPassagem: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaAliquotasIss( Flag: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaFormasPagamento( Formas: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaRecebimentoNaoFiscal( Recebimentos: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaDepartamentos( Departamentos: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaTipoImpressora( Var TipoImpressora: Integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaTotalizadoresParciais( Totalizadores: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_RetornoAliquotas( Aliquotas: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaEstadoImpressora( Var ACK: Integer; Var ST1: Integer; Var ST2: Integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DadosUltimaReducao( DadosReducao: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_MonitoramentoPapel( Var Linhas: Integer): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaIndiceAliquotasIss( Flag: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ValorFormaPagamento( FormaPagamento: String; Valor: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ValorTotalizadorNaoFiscal( Totalizador: String; Valor: String ): Integer; StdCall; External 'BEMAFI32.DLL';

// Funções de Autenticação e Gaveta de Dinheiro
function Bematech_FI_Autenticacao:Integer; StdCall; External 'BEMAFI32.DLL' Name 'Bematech_FI_Autenticacao';

function Bematech_FI_ProgramaCaracterAutenticacao( Parametros: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AcionaGaveta:Integer; StdCall; External 'BEMAFI32.DLL' Name 'Bematech_FI_AcionaGaveta';

function Bematech_FI_VerificaEstadoGaveta( Var EstadoGaveta: Integer ): Integer; StdCall; External 'BEMAFI32.DLL';

// Funções para a Impressora Restaurante
function Bematech_FIR_AbreCupomRestaurante( Mesa: String; CGC_CPF: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FIR_RegistraVenda( Mesa: String; Codigo: String; Descricao: String; Aliquota: String; Quantidade: String; ValorUnitario: String; FlagAcrescimoDesconto: String; ValorAcrescimoDesconto: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FIR_CancelaVenda( Mesa: String; Codigo: String; Descricao: String; Aliquota: String; Quantidade: String; ValorUnitario: String; FlagAcrescimoDesconto: String; ValorAcrescimoDesconto: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FIR_ConferenciaMesa( Mesa: String; FlagAcrescimoDesconto: String; TipoAcrescimoDesconto: String; ValorAcrescimoDesconto: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FIR_AbreConferenciaMesa( Mesa: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FIR_FechaConferenciaMesa( FlagAcrescimoDesconto: String; TipoAcrescimoDesconto: String; ValorAcrescimoDesconto: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FIR_TransferenciaMesa( MesaOrigem: String; MesaDestino: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FIR_ContaDividida( NumeroCupons: String; ValorPago: String; CGC_CPF: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FIR_FechaCupomContaDividida( NumeroCupons: String; FlagAcrescimoDesconto: String; TipoAcrescimoDesconto: String; ValorAcrescimoDesconto: String; FormasPagamento: String; ValorFormasPagamento: String; ValorPagoCliente: String; CGC_CPF: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FIR_TransferenciaItem( MesaOrigem: String; Codigo: String; Descricao: String; Aliquota: String; Quantidade: String; ValorUnitario: String; FlagAcrescimoDesconto: String; ValorAcrescimoDesconto: String; MesaDestino: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FIR_RelatorioMesasAbertas( TipoRelatorio: Integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FIR_ImprimeCardapio: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FIR_RelatorioMesasAbertasSerial: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FIR_CardapioPelaSerial: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FIR_RegistroVendaSerial( Mesa: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FIR_VerificaMemoriaLivre( Bytes: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FIR_FechaCupomRestaurante( FormaPagamento: String; FlagAcrescimoDesconto: String; TipoAcrescimoDesconto: String; ValorAcrescimoDesconto: String; ValorFormaPagto: String; Mensagem: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FIR_FechaCupomResumidoRestaurante( FormaPagamento: String; Mensagem: String ): Integer; StdCall; External 'BEMAFI32.DLL';

// Função para a Impressora Bilhete de Passagem
function Bematech_FI_AbreBilhetePassagem( ImprimeValorFinal: string; ImprimeEnfatizado: string; Embarque: string; Destino: string; Linha: string; Prefixo: string; Agente: string; Agencia: string; Data: string; Hora: string; Poltrona: string; Plataforma: string ): Integer; StdCall; External 'BEMAFI32.DLL';

// Funções de Impressão de Cheques
function Bematech_FI_ProgramaMoedaSingular( MoedaSingular: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ProgramaMoedaPlural( MoedaPlural: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CancelaImpressaoCheque: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaStatusCheque( Var StatusCheque: Integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ImprimeCheque( Banco: String; Valor: String; Favorecido: String; Cidade: String; Data: String; Mensagem: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_IncluiCidadeFavorecido( Cidade: String; Favorecido: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ImprimeCopiaCheque: Integer; StdCall; External 'BEMAFI32.DLL' Name 'Bematech_FI_ImprimeCopiaCheque';

// Outras Funções
function Bematech_FI_AbrePortaSerial: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_RetornoImpressora( Var ACK: Integer; Var ST1: Integer; Var ST2: Integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_FechaPortaSerial: Integer; StdCall; External 'BEMAFI32.DLL' Name 'Bematech_FI_FechaPortaSerial';

function Bematech_FI_MapaResumo:Integer; StdCall; External 'BEMAFI32.DLL' Name 'Bematech_FI_MapaResumo';

function Bematech_FI_AberturaDoDia( ValorCompra: string; FormaPagamento: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_FechamentoDoDia: Integer; StdCall; External 'BEMAFI32.DLL' Name 'Bematech_FI_FechamentoDoDia';

function Bematech_FI_ImprimeConfiguracoesImpressora:Integer; StdCall; External 'BEMAFI32.DLL' Name 'Bematech_FI_ImprimeConfiguracoesImpressora';

function Bematech_FI_ImprimeDepartamentos: Integer; StdCall; External 'BEMAFI32.DLL' Name 'Bematech_FI_ImprimeDepartamentos';

function Bematech_FI_RelatorioTipo60Analitico: Integer; StdCall; External 'BEMAFI32.DLL' Name 'Bematech_FI_RelatorioTipo60Analitico';

function Bematech_FI_RelatorioTipo60Mestre: Integer; StdCall; External 'BEMAFI32.DLL' Name 'Bematech_FI_RelatorioTipo60Mestre';

function Bematech_FI_VerificaImpressoraLigada: Integer; StdCall; External 'BEMAFI32.DLL' Name 'Bematech_FI_VerificaImpressoraLigada';

function Bematech_FI_ImpressaoCarne( Titulo, Percelas: string; Datas, Quantidade: integer; Texto, Cliente, RG_CPF, Cupom: string; Vias, Assina: integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_InfoBalanca( Porta: string; Modelo: integer; Peso, PrecoKilo, Total: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DadosSintegra( DataInicio: string; DataFinal: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_IniciaModoTEF: Integer; StdCall; External 'BEMAFI32.DLL' Name 'Bematech_FI_IniciaModoTEF';

function Bematech_FI_FinalizaModoTEF: Integer; StdCall; External 'BEMAFI32.DLL' Name 'Bematech_FI_FinalizaModoTEF';

function Bematech_FI_VersaoDll( Versao: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_RegistrosTipo60: Integer; StdCall; External 'BEMAFI32.DLL' Name 'Bematech_FI_RegistrosTipo60';

function Bematech_FI_LeArquivoRetorno( Retorno: String ): Integer; StdCall; External 'BEMAFI32.DLL';

// Funções da Impressora Fiscal MFD
function Bematech_FI_AbreCupomMFD(CGC: string; Nome: string; Endereco : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CancelaCupomMFD(CGC, Nome, Endereco: string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ProgramaFormaPagamentoMFD(FormaPagto, OperacaoTef: String) : Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_EfetuaFormaPagamentoMFD(FormaPagamento, ValorFormaPagamento, Parcelas, DescricaoFormaPagto: string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CupomAdicionalMFD(): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AcrescimoDescontoItemMFD (Item, AcrescimoDesconto,TipoAcrescimoDesconto, ValorAcrescimoDesconto: string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NomeiaRelatorioGerencialMFD (Indice, Descricao : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AutenticacaoMFD(Linhas, Texto : string) : Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AbreComprovanteNaoFiscalVinculadoMFD(FormaPagamento, Valor, NumeroCupom, CGC, nome, Endereco : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ReimpressaoNaoFiscalVinculadoMFD() : Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AbreRecebimentoNaoFiscalMFD(CGC, Nome, Endereco : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_EfetuaRecebimentoNaoFiscalMFD(IndiceTotalizador, ValorRecebimento : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_IniciaFechamentoRecebimentoNaoFiscalMFD(AcrescimoDesconto,TipoAcrescimoDesconto, ValorAcrescimo, ValorDesconto : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_FechaRecebimentoNaoFiscalMFD(Mensagem : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CancelaRecebimentoNaoFiscalMFD(CGC, Nome, Endereco : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AbreRelatorioGerencialMFD(Indice : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_UsaRelatorioGerencialMFD(Texto : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_UsaRelatorioGerencialMFDTEF(Texto : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_SegundaViaNaoFiscalVinculadoMFD(): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_EstornoNaoFiscalVinculadoMFD(CGC, Nome, Endereco : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NumeroSerieMFD(NumeroSerie : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VersaoFirmwareMFD(VersaoFirmware : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CNPJMFD(CNPJ : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_InscricaoEstadualMFD(InscricaoEstadual : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_InscricaoMunicipalMFD(InscricaoMunicipal : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_TempoOperacionalMFD(TempoOperacional : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_MinutosEmitindoDocumentosFiscaisMFD(Minutos : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ContadoresTotalizadoresNaoFiscaisMFD(Contadores : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaTotalizadoresNaoFiscaisMFD(Totalizadores : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaFormasPagamentoMFD(FormasPagamento : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaRecebimentoNaoFiscalMFD(Recebimentos : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaRelatorioGerencialMFD(Relatorios : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ContadorComprovantesCreditoMFD(Comprovantes : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ContadorOperacoesNaoFiscaisCanceladasMFD(OperacoesCanceladas : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ContadorRelatoriosGerenciaisMFD (Relatorios : String): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ContadorCupomFiscalMFD(CuponsEmitidos : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ContadorFitaDetalheMFD(ContadorFita : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ComprovantesNaoFiscaisNaoEmitidosMFD(Comprovantes : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NumeroSerieMemoriaMFD(NumeroSerieMFD : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_MarcaModeloTipoImpressoraMFD(Marca, Modelo, Tipo : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ReducoesRestantesMFD(Reducoes : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaTotalizadoresParciaisMFD(Totalizadores : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DadosUltimaReducaoMFD(DadosReducao : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_LeituraMemoriaFiscalDataMFD(DataInicial, DataFinal, FlagLeitura : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_LeituraMemoriaFiscalReducaoMFD(ReducaoInicial, ReducaoFinal, FlagLeitura : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_LeituraMemoriaFiscalSerialDataMFD(DataInicial, DataFinal, FlagLeitura : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_LeituraMemoriaFiscalSerialReducaoMFD(ReducaoInicial, ReducaoFinal, FlagLeitura : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_LeituraChequeMFD(CodigoCMC7 : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ImprimeChequeMFD(NumeroBanco, Valor, Favorecido, Cidade, Data, Mensagem, ImpressaoVerso, Linhas : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_HabilitaDesabilitaRetornoEstendidoMFD(FlagRetorno : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_RetornoImpressoraMFD( Var ACK: Integer; Var ST1: Integer; Var ST2: Integer; Var ST3: Integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AbreBilhetePassagemMFD(Embarque, Destino, Linha, Agencia, Data, Hora, Poltrona, Plataforma, TipoPassagem, RGCliente, NomeCliente, EnderecoCliente, UFDetino: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CancelaAcrescimoDescontoItemMFD( cFlag, cItem: string ): integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_SubTotalizaCupomMFD: integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_SubTotalizaRecebimentoMFD: integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_TotalLivreMFD( cMemoriaLivre: string ): integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_TamanhoTotalMFD( cTamanhoMFD: string ): integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AcrescimoDescontoSubtotalRecebimentoMFD( cFlag, cTipo, cValor: string ): integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AcrescimoDescontoSubtotalMFD( cFlag, cTipo, cValor: string): integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CancelaAcrescimoDescontoSubtotalMFD( cFlag: string): integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CancelaAcrescimoDescontoSubtotalRecebimentoMFD( cFlag: string ): integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_TotalizaCupomMFD: integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_TotalizaRecebimentoMFD: integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_PercentualLivreMFD( cMemoriaLivre: string ): integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DataHoraUltimoDocumentoMFD( cDataHora: string ): integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_MapaResumoMFD:Integer; StdCall; External 'BEMAFI32.DLL' Name 'Bematech_FI_MapaResumoMFD';

function Bematech_FI_RelatorioTipo60AnaliticoMFD: Integer; StdCall; External 'BEMAFI32.DLL' Name 'Bematech_FI_RelatorioTipo60AnaliticoMFD';

function Bematech_FI_ValorFormaPagamentoMFD( FormaPagamento: String; Valor: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ValorTotalizadorNaoFiscalMFD( Totalizador: String; Valor: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaEstadoImpressoraMFD( Var ACK: Integer; Var ST1: Integer; Var ST2: Integer; Var ST3: Integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_IniciaFechamentoCupomMFD( AcrescimoDesconto: String; TipoAcrescimoDesconto: String; ValorAcrescimo: String; ValorDesconto: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_TerminaFechamentoCupomCodigoBarrasMFD( cMensagem: String; cTipoCodigo: String; cCodigo: String; iAltura: Integer; iLargura: Integer; iPosicaoCaracteres: Integer; iFonte: Integer; iMargem: Integer; iCorrecaoErros: Integer; iColunas: Integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CancelaItemNaoFiscalMFD( NumeroItem: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AcrescimoItemNaoFiscalMFD( NumeroItem: String; AcrescimoDesconto: String; TipoAcrescimoDesconto: String; ValorAcrescimoDesconto: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CancelaAcrescimoNaoFiscalMFD( NumeroItem: String; AcrescimoDesconto: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ImprimeClicheMFD:Integer; StdCall; External 'BEMAFI32.DLL' Name 'Bematech_FI_ImprimeClicheMFD';

function Bematech_FI_ImprimeInformacaoChequeMFD( Posicao: Integer; Linhas: Integer; Mensagem: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_RelatorioSintegraMFD( iRelatorios : Integer;
                                           cArquivo    : String;
                                           cMes        : String;
                                           cAno        : String;
                                           cRazaoSocial: String;
                                           cEndereco   : String;
                                           cNumero     : String;
                                           cComplemento: String;
                                           cBairro     : String;
                                           cCidade     : String;
                                           cCEP        : String;
                                           cTelefone   : String;
                                           cFax        : String;
                                           cContato    : String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_GeraRelatorioSintegraMFD( iRelatorios : Integer;
                                               cArquivoOrigem : String;
                                               cArquivoDestino: String;
                                               cMes           : String;
                                               cAno           : String;
                                               cRazaoSocial   : String;
                                               cEndereco      : String;
                                               cNumero        : String;
                                               cComplemento   : String;
                                               cBairro        : String;
                                               cCidade        : String;
                                               cCEP           : String;
                                               cTelefone      : String;
                                               cFax           : String;
                                               cContato       : String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DownloadMF( Arquivo: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DownloadMFD( Arquivo: String; TipoDownload: String; ParametroInicial: String; ParametroFinal: String; UsuarioECF: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_FormatoDadosMFD( ArquivoOrigem: String; ArquivoDestino: String; TipoFormato: String; TipoDownload: String; ParametroInicial: String; ParametroFinal: String; UsuarioECF: String ): Integer; StdCall; External 'BEMAFI32.DLL';

// Funções disponíveis somente na impressora fiscal MP-2000 TH FI versão 01.01.01 ou 01.00.02
function Bematech_FI_AtivaDesativaVendaUmaLinhaMFD( iFlag: Integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AtivaDesativaAlinhamentoEsquerdaMFD( iFlag: Integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AtivaDesativaCorteProximoMFD(): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AtivaDesativaTratamentoONOFFLineMFD( iFlag: Integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_StatusEstendidoMFD( Var iStatus: Integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaFlagCorteMFD( Var iStatus: Integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_TempoRestanteComprovanteMFD( cTempo: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_UFProprietarioMFD( cUF: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_GrandeTotalUltimaReducaoMFD( cGT: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DataMovimentoUltimaReducaoMFD( cData: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_SubTotalComprovanteNaoFiscalMFD( cSubTotal: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_InicioFimCOOsMFD( cCOOIni, cCOOFim: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_InicioFimGTsMFD( cGTIni, cGTFim: String ): Integer; StdCall; External 'BEMAFI32.DLL';

// Função para Configuração dos Códigos de Barras
function Bematech_FI_ConfiguraCodigoBarrasMFD( Altura: Integer; Largura: Integer; PosicaoCaracteres: Integer; Fonte: Integer; Margem: Integer): Integer; StdCall; External 'BEMAFI32.DLL';

// Funções para Impressão dos Códigos de Barras
function Bematech_FI_CodigoBarrasUPCAMFD( Codigo: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CodigoBarrasUPCEMFD( Codigo: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CodigoBarrasEAN13MFD( Codigo: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CodigoBarrasEAN8MFD( Codigo: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CodigoBarrasCODE39MFD( Codigo: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CodigoBarrasCODE93MFD( Codigo: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CodigoBarrasCODE128MFD( Codigo: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CodigoBarrasITFMFD( Codigo: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CodigoBarrasCODABARMFD( Codigo: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CodigoBarrasISBNMFD( Codigo: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CodigoBarrasMSIMFD( Codigo: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CodigoBarrasPLESSEYMFD( Codigo: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CodigoBarrasPDF417MFD( NivelCorrecaoErros: Integer; Altura: Integer; Largura: Integer; Colunas: Integer; Codigo: String ): Integer; StdCall; External 'BEMAFI32.DLL';


Declaração em FOXPRO

Declaração das Funções da BemaFI32.dll em Visual Fox Pro

* Funções de Inicialização

DECLARE INTEGER Bematech_FI_AlteraSimboloMoeda IN BemaFI32.DLL STRING
DECLARE INTEGER Bematech_FI_ProgramaAliquota IN BemaFI32.DLL STRING, INTEGER
DECLARE INTEGER Bematech_FI_ProgramaHorarioVerao IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_NomeiaTotalizadorNaoSujeitoIcms IN BemaFI32.DLL INTEGER, STRING
DECLARE INTEGER Bematech_FI_ProgramaArredondamento  IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_ProgramaTruncamento IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_NomeiaDepartamento IN BemaFI32.DLL INTEGER, STRING
DECLARE INTEGER Bematech_FI_LinhasEntreCupons IN BemaFI32.DLL INTEGER
DECLARE INTEGER Bematech_FI_EspacoEntreLinhas IN BemaFI32.DLL INTEGER
DECLARE INTEGER Bematech_FI_ForcaImpactoAgulhas IN BemaFI32.DLL INTEGER
DECLARE INTEGER Bematech_FI_ResetaImpressora IN BemaFI32.DLL

* Funções do Cupom Fiscal

DECLARE INTEGER Bematech_FI_AbreCupom IN BemaFI32.DLL STRING @CNPJ_CPF
DECLARE INTEGER Bematech_FI_VendeItem IN BemaFI32.DLL STRING, STRING, STRING, STRING, STRING , short, STRING, STRING ,STRING
DECLARE INTEGER Bematech_FI_VendeItemDepartamento IN BemaFI32.DLL STRING, STRING, STRING, STRING, STRING, STRING, STRING, STRING, STRING
DECLARE INTEGER Bematech_FI_CancelaItemAnterior IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_CancelaItemGenerico IN BemaFI32.DLL STRING
DECLARE INTEGER Bematech_FI_IniciaFechamentoCupom IN BemaFI32.DLL STRING , STRING ,STRING
DECLARE INTEGER Bematech_FI_EfetuaFormaPagamento IN BemaFI32.DLL STRING ,STRING
DECLARE INTEGER Bematech_FI_EfetuaFormaPagamentoDescricaoForma IN BemaFI32.DLL STRING, STRING , STRING
DECLARE INTEGER Bematech_FI_TerminaFechamentoCupom IN BemaFI32.DLL STRING
DECLARE INTEGER Bematech_FI_FechaCupom IN BemaFI32.DLL STRING , STRING, STRING, STRING, STRING
DECLARE INTEGER Bematech_FI_FechaCupomResumido IN BemaFI32.DLL STRING, STRING
DECLARE INTEGER Bematech_FI_CancelaCupom IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_AumentaDescricaoItem IN BemaFI32.DLL STRING
DECLARE INTEGER Bematech_FI_UsaUnidadeMedida IN BemaFI32.DLL STRING
DECLARE INTEGER Bematech_FI_EstornoFormasPagamento IN BemaFI32.DLL STRING, STRING, STRING

* Funções dos Relatórios Fiscais

DECLARE INTEGER Bematech_FI_ReducaoZ IN BemaFI32.DLL STRING, STRING
DECLARE INTEGER Bematech_FI_LeituraX IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_LeituraXSerial IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_LeituraMemoriaFiscalData IN BemaFI32.DLL STRING, STRING
DECLARE INTEGER Bematech_FI_LeituraMemoriaFiscalReducao IN BemaFI32.DLL STRING, STRING
DECLARE INTEGER Bematech_FI_LeituraMemoriaFiscalSerialData IN BemaFI32.DLL STRING, STRING
DECLARE INTEGER Bematech_FI_LeituraMemoriaFiscalSerialReducao IN BemaFI32.DLL STRING, STRING

* Funções de Operações Não Fiscais

DECLARE INTEGER Bematech_FI_RelatorioGerencial IN BemaFI32.DLL STRING
DECLARE INTEGER Bematech_FI_RelatorioGerencialTEF IN BemaFI32.DLL STRING
DECLARE INTEGER Bematech_FI_FechaRelatorioGerencial IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_RecebimentoNaoFiscal IN BemaFI32.DLL STRING, STRING, STRING
DECLARE INTEGER Bematech_FI_AbreComprovanteNaoFiscalVinculado IN BemaFI32.DLL STRING, STRING, STRING
DECLARE INTEGER Bematech_FI_UsaComprovanteNaoFiscalVinculado IN BemaFI32.DLL STRING
DECLARE INTEGER Bematech_FI_UsaComprovanteNaoFiscalVinculadoTEF IN BemaFI32.DLL STRING
DECLARE INTEGER Bematech_FI_FechaComprovanteNaoFiscalVinculado IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_Sangria IN BemaFI32.DLL STRING
DECLARE INTEGER Bematech_FI_Suprimento IN BemaFI32.DLL STRING, STRING

* Funções de informações da impressora

DECLARE INTEGER Bematech_FI_VerificaEstadoImpressora IN BemaFI32.DLL INTEGER @n_ack, INTEGER @n_st1, INTEGER @n_st2
DECLARE INTEGER Bematech_FI_RetornoAliquotas IN BemaFI32.DLL STRING @ aliquotas
DECLARE INTEGER Bematech_FI_VerificaTotalizadoresParciais IN BemaFI32.DLL STRING @ c_totalizadores
DECLARE INTEGER Bematech_FI_SubTotal IN BemaFI32.DLL STRING @ csub
DECLARE INTEGER Bematech_FI_DadosUltimaReducao IN BemaFI32.DLL STRING @ c_dadosreducao
DECLARE INTEGER Bematech_FI_MonitoramentoPapel IN BemaFI32.DLL INTEGER @ c_linhasimpressas
DECLARE INTEGER Bematech_FI_MinutosLigada IN BemaFI32.DLL STRING @ c_minutosligada
DECLARE INTEGER Bematech_FI_MinutosImprimindo IN BemaFI32.DLL STRING @ c_minutosimprimindo
DECLARE INTEGER Bematech_FI_NumeroSerie IN BemaFI32.DLL STRING @ c_nserie
DECLARE INTEGER Bematech_FI_NumeroCupom IN BemaFI32.DLL STRING @ nf
DECLARE INTEGER Bematech_FI_NumeroOperacoesNaoFiscais IN BemaFI32.DLL STRING @ c_operacoes
DECLARE INTEGER Bematech_FI_NumeroCuponsCancelados IN BemaFI32.DLL STRING @ c_cuponscancelados
DECLARE INTEGER Bematech_FI_NumeroReducoes IN BemaFI32.DLL STRING @ c_reducoes
DECLARE INTEGER Bematech_FI_NumeroIntervencoes IN BemaFI32.DLL STRING @ c_intervencoes
DECLARE INTEGER Bematech_FI_NumeroSubstituicoesProprietario IN BemaFI32.DLL STRING @ c_substituicoes
DECLARE INTEGER Bematech_FI_NumeroCaixa IN BemaFI32.DLL STRING @ c_numerocaixa
DECLARE INTEGER Bematech_FI_NumeroLoja IN BemaFI32.DLL STRING @ c_numeroloja
DECLARE INTEGER Bematech_FI_VersaoFirmware IN BemaFI32.DLL STRING @ c_versaofirmware
DECLARE INTEGER Bematech_FI_CGC_IE IN BemaFI32.DLL STRING @ c_cgc, STRING @ c_ie
DECLARE INTEGER Bematech_FI_GrandeTotal IN BemaFI32.DLL STRING @ c_grandetotal
DECLARE INTEGER Bematech_FI_Descontos IN BemaFI32.DLL STRING @ c_descontos
DECLARE INTEGER Bematech_FI_Cancelamentos IN BemaFI32.DLL STRING @ c_cancelamentos
DECLARE INTEGER Bematech_FI_UltimoItemVendido IN BemaFI32.DLL STRING @ c_ultimoitem
DECLARE INTEGER Bematech_FI_ClicheProprietario IN BemaFI32.DLL STRING @ c_clicheproprietario
DECLARE INTEGER Bematech_FI_SimboloMoeda IN BemaFI32.DLL STRING @ c_simbolomoeda
DECLARE INTEGER Bematech_FI_FlagsFiscais IN BemaFI32.DLL INTEGER @ n_flagfiscal
DECLARE INTEGER Bematech_FI_VerificaModoOperacao IN BemaFI32.DLL STRING @ c_modooperacao
DECLARE INTEGER Bematech_FI_VerificaEpromConectada IN BemaFI32.DLL STRING @ c_flageprom
DECLARE INTEGER Bematech_FI_ValorPagoUltimoCupom IN BemaFI32.DLL STRING @ c_valor
DECLARE INTEGER Bematech_FI_DataHoraImpressora IN BemaFI32.DLL STRING @ c_data, STRING @ c_hora
DECLARE INTEGER Bematech_FI_ContadoresTotalizadoresNaoFiscais IN BemaFI32.DLL STRING @ c_contadores
DECLARE INTEGER Bematech_FI_VerificaTotalizadoresNaoFiscais IN BemaFI32.DLL STRING @ c_totalizadores
DECLARE INTEGER Bematech_FI_DataHoraReducao IN BemaFI32.DLL STRING @ c_datareducao, STRING @ c_horareducao
DECLARE INTEGER Bematech_FI_DataMovimento IN BemaFI32.DLL STRING @ c_datamovimento
DECLARE INTEGER Bematech_FI_VerificaTruncamento IN BemaFI32.DLL STRING @ c_flagtruncamento
DECLARE INTEGER Bematech_FI_VerificaAliquotasIss IN BemaFI32.DLL STRING @ aliquotasiss
DECLARE INTEGER Bematech_FI_Acrescimos IN BemaFI32.DLL STRING @ c_valoracrescimo
DECLARE INTEGER Bematech_FI_ContadorBilhetePassagem IN BemaFI32.DLL STRING @ c_numerobilhetes
DECLARE INTEGER Bematech_FI_VerificaFormasPagamento IN BemaFI32.DLL STRING @ c_formaspagamento
DECLARE INTEGER Bematech_FI_VerificaRecebimentoNaoFiscal IN BemaFI32.DLL STRING @ c_recebimentos
DECLARE INTEGER Bematech_FI_VerificaDepartamentos IN BemaFI32.DLL STRING @ c_departamentos
DECLARE INTEGER Bematech_FI_VerificaTipoImpressora IN BemaFI32.DLL INTEGER @  n_tipoimpressora
DECLARE INTEGER Bematech_FI_VerificaIndiceAliquotasIss IN BemaFI32.DLL STRING @ c_indicealiquotasiss
DECLARE INTEGER Bematech_FI_ValorFormaPagamento IN BemaFI32.DLL STRING @ c_formapagamento, STRING @ c_valor
DECLARE INTEGER Bematech_FI_ValorTotalizadorNaoFiscal IN BemaFI32.DLL STRING @ c_totalizador, STRING @ c_valor

* Funções de Gaveta de Dinheiro

DECLARE INTEGER Bematech_FI_AcionaGaveta IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_VerificaEstadoGaveta IN BemaFI32.DLL INTEGER

* Outras Funções

DECLARE INTEGER Bematech_FI_AbrePortaSerial IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_FechaPortaSerial IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_VerificaImpressoraLigada IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_RetornoImpressora IN BemaFI32.DLL INTEGER @n_ack, INTEGER @n_st1, INTEGER @n_st2
DECLARE INTEGER Bematech_FI_AbreBilhetePassagem IN BemaFI32.DLL STRING, STRING, STRING, STRING, STRING, STRING, STRING
DECLARE INTEGER Bematech_FI_MapaResumo IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_AberturaDoDia IN BemaFI32.DLL STRING, STRING
DECLARE INTEGER Bematech_FI_FechamentoDoDia IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_RelatorioTipo60Analitico IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_RelatorioTipo60Mestre IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_ImprimeDepartamentos IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_ImprimeConfiguracoesImpressora IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_DadosSintegra IN BemaFI32.DLL STRING, STRING
DECLARE INTEGER Bematech_FI_IniciaModoTEF IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_FinalizaModoTEF IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_VersaoDll IN BemaFI32.DLL STRING @ Versao
DECLARE INTEGER Bematech_FI_RegistrosTipo60 IN BemaFI32.DLL
DECLARE INTEGER Bematech_FI_LeArquivoRetorno IN BemaFI32.DLL STRING @ Retorno


Declaração em VB

Declaração das Funções da BemaFI32.dll em Visual Basic

' Funções de Inicialização
Public Declare Function Bematech_FI_AlteraSimboloMoeda Lib "BEMAFI32.DLL" (ByVal SimboloMoeda As String) As Integer

Public Declare Function Bematech_FI_ProgramaAliquota Lib "BEMAFI32.DLL" (ByVal Aliquota As String, ByVal ICMS_ISS As Integer) As Integer

Public Declare Function Bematech_FI_ProgramaHorarioVerao Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_NomeiaDepartamento Lib "BEMAFI32.DLL" (ByVal Indice As Integer, ByVal Departamento As String) As Integer

Public Declare Function Bematech_FI_NomeiaTotalizadorNaoSujeitoIcms Lib "BEMAFI32.DLL" (ByVal Indice As Integer, ByVal Totalizador As String) As Integer

Public Declare Function Bematech_FI_ProgramaArredondamento Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_ProgramaTruncamento Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_LinhasEntreCupons Lib "BEMAFI32.DLL" (ByVal Linhas As Integer) As Integer

Public Declare Function Bematech_FI_EspacoEntreLinhas Lib "BEMAFI32.DLL" (ByVal Dots As Integer) As Integer

Public Declare Function Bematech_FI_ForcaImpactoAgulhas Lib "BEMAFI32.DLL" (ByVal ForcaImpacto As Integer) As Integer

' Funções do Cupom Fiscal
Public Declare Function Bematech_FI_AbreCupom Lib "BEMAFI32.DLL" (ByVal CGC_CPF As String) As Integer

Public Declare Function Bematech_FI_VendeItem Lib "BEMAFI32.DLL" (ByVal Codigo As String, ByVal Descricao As String, ByVal Aliquota As String, ByVal TipoQuantidade As String, ByVal Quantidade As String, ByVal CasasDecimais As Integer, ByVal ValorUnitario As String, ByVal TipoDesconto As String, ByVal Desconto As String) As Integer

Public Declare Function Bematech_FI_CancelaItemAnterior Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_CancelaItemGenerico Lib "BEMAFI32.DLL" (ByVal NumeroItem As String) As Integer

Public Declare Function Bematech_FI_CancelaCupom Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_FechaCupomResumido Lib "BEMAFI32.DLL" (ByVal FormaPagamento As String, ByVal Mensagem As String) As Integer

Public Declare Function Bematech_FI_FechaCupom Lib "BEMAFI32.DLL" (ByVal FormaPagamento As String, ByVal DiscontoAcrecimo As String, ByVal TipoDescontoAcrecimo As String, ByVal ValorAcrecimoDesconto As String, ByVal ValorPago As String, ByVal Mensagem As String) As Integer

Public Declare Function Bematech_FI_VendeItemDepartamento Lib "BEMAFI32.DLL" (ByVal Codigo As String, ByVal Descricao As String, ByVal Aliquota As String, ByVal ValorUnitario As String, ByVal Quantidade As String, ByVal Acrescimo As String, ByVal Desconto As String, ByVal IndiceDepartamento As String, ByVal UnidadeMedida As String) As Integer

Public Declare Function Bematech_FI_AumentaDescricaoItem Lib "BEMAFI32.DLL" (ByVal Descricao As String) As Integer

Public Declare Function Bematech_FI_UsaUnidadeMedida Lib "BEMAFI32.DLL" (ByVal UnidadeMedida As String) As Integer

Public Declare Function Bematech_FI_EstornoFormasPagamento Lib "BEMAFI32.DLL" (ByVal FormaOrigem As String, ByVal FormaDestino As String, ByVal Valor As String) As Integer

Public Declare Function Bematech_FI_IniciaFechamentoCupom Lib "BEMAFI32.DLL" (ByVal AcrescimoDesconto As String, ByVal TipoAcrescimoDesconto As String, ByVal ValorAcrescimoDesconto As String) As Integer

Public Declare Function Bematech_FI_EfetuaFormaPagamento Lib "BEMAFI32.DLL" (ByVal FormaPagamento As String, ByVal ValorFormaPagamento As String) As Integer

Public Declare Function Bematech_FI_EfetuaFormaPagamentoDescricaoForma Lib "BEMAFI32.DLL" (ByVal FormaPagamento As String, ByVal ValorFormaPagamento As String, ByVal DescricaoOpcional As String) As Integer

Public Declare Function Bematech_FI_TerminaFechamentoCupom Lib "BEMAFI32.DLL" (ByVal Mensagem As String) As Integer

' Funções dos Relatórios Fiscais
Public Declare Function Bematech_FI_LeituraX Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_LeituraXSerial Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_ReducaoZ Lib "BEMAFI32.DLL" (ByVal Data As String, ByVal Hora As String) As Integer

Public Declare Function Bematech_FI_RelatorioGerencial Lib "BEMAFI32.DLL" (ByVal cTexto As String) As Integer

Public Declare Function Bematech_FI_RelatorioGerencialTEF Lib "BEMAFI32.DLL" (ByVal cTexto As String) As Integer

Public Declare Function Bematech_FI_FechaRelatorioGerencial Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_LeituraMemoriaFiscalData Lib "BEMAFI32.DLL" (ByVal cDataInicial As String, ByVal cDataFinal As String) As Integer

Public Declare Function Bematech_FI_LeituraMemoriaFiscalReducao Lib "BEMAFI32.DLL" (ByVal cReducaoInicial As String, ByVal cReducaoFinal As String) As Integer

Public Declare Function Bematech_FI_LeituraMemoriaFiscalSerialData Lib "BEMAFI32.DLL" (ByVal cDataInicial As String, ByVal cDataFinal As String) As Integer

Public Declare Function Bematech_FI_LeituraMemoriaFiscalSerialReducao Lib "BEMAFI32.DLL" (ByVal cReducaoInicial As String, ByVal cReducaoFinal As String) As Integer

' Funções das Operações Não Fiscais
Public Declare Function Bematech_FI_RecebimentoNaoFiscal Lib "BEMAFI32.DLL" (ByVal IndiceTotalizador As String, ByVal Valor As String, ByVal FormaPagamento As String) As Integer

Public Declare Function Bematech_FI_AbreComprovanteNaoFiscalVinculado Lib "BEMAFI32.DLL" (ByVal FormaPagamento As String, ByVal Valor As String, ByVal NumeroCupom As String) As Integer

Public Declare Function Bematech_FI_UsaComprovanteNaoFiscalVinculado Lib "BEMAFI32.DLL" (ByVal Texto As String) As Integer

Public Declare Function Bematech_FI_UsaComprovanteNaoFiscalVinculadoTEF Lib "BEMAFI32.DLL" (ByVal Texto As String) As Integer

Public Declare Function Bematech_FI_FechaComprovanteNaoFiscalVinculado Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_Sangria Lib "BEMAFI32.DLL" (ByVal Valor As String) As Integer

Public Declare Function Bematech_FI_Suprimento Lib "BEMAFI32.DLL" (ByVal Valor As String, ByVal FormaPagamento As String) As Integer

' Funções de Informação da Impressora
Public Declare Function Bematech_FI_NumeroSerie Lib "BEMAFI32.DLL" (ByVal NumeroSerie As String) As Integer

Public Declare Function Bematech_FI_SubTotal Lib "BEMAFI32.DLL" (ByVal SubTotal As String) As Integer

Public Declare Function Bematech_FI_NumeroCupom Lib "BEMAFI32.DLL" (ByVal NumeroCupom As String) As Integer

Public Declare Function Bematech_FI_VersaoFirmware Lib "BEMAFI32.DLL" (ByVal VersaoFirmware As String) As Integer

Public Declare Function Bematech_FI_CGC_IE Lib "BEMAFI32.DLL" (ByVal CGC As String, ByVal IE As String) As Integer

Public Declare Function Bematech_FI_GrandeTotal Lib "BEMAFI32.DLL" (ByVal GrandeTotal As String) As Integer

Public Declare Function Bematech_FI_Cancelamentos Lib "BEMAFI32.DLL" (ByVal ValorCancelamentos As String) As Integer

Public Declare Function Bematech_FI_Descontos Lib "BEMAFI32.DLL" (ByVal ValorDescontos As String) As Integer

Public Declare Function Bematech_FI_NumeroOperacoesNaoFiscais Lib "BEMAFI32.DLL" (ByVal NumeroOperacoes As String) As Integer

Public Declare Function Bematech_FI_NumeroCuponsCancelados Lib "BEMAFI32.DLL" (ByVal NumeroCancelamentos As String) As Integer

Public Declare Function Bematech_FI_NumeroIntervencoes Lib "BEMAFI32.DLL" (ByVal NumeroIntervencoes As String) As Integer

Public Declare Function Bematech_FI_NumeroReducoes Lib "BEMAFI32.DLL" (ByVal NumeroReducoes As String) As Integer

Public Declare Function Bematech_FI_NumeroSubstituicoesProprietario Lib "BEMAFI32.DLL" (ByVal NumeroSubstituicoes As String) As Integer
Public Declare Function Bematech_FI_UltimoItemVendido Lib "BEMAFI32.DLL" (ByVal NumeroItem As String) As Integer

Public Declare Function Bematech_FI_ClicheProprietario Lib "BEMAFI32.DLL" (ByVal Cliche As String) As Integer

Public Declare Function Bematech_FI_NumeroCaixa Lib "BEMAFI32.DLL" (ByVal NumeroCaixa As String) As Integer

Public Declare Function Bematech_FI_NumeroLoja Lib "BEMAFI32.DLL" (ByVal NumeroLoja As String) As Integer

Public Declare Function Bematech_FI_SimboloMoeda Lib "BEMAFI32.DLL" (ByVal SimboloMoeda As String) As Integer

Public Declare Function Bematech_FI_MinutosLigada Lib "BEMAFI32.DLL" (ByVal Minutos As String) As Integer

Public Declare Function Bematech_FI_MinutosImprimindo Lib "BEMAFI32.DLL" (ByVal Minutos As String) As Integer

Public Declare Function Bematech_FI_VerificaModoOperacao Lib "BEMAFI32.DLL" (ByVal Modo As String) As Integer

Public Declare Function Bematech_FI_VerificaEpromConectada Lib "BEMAFI32.DLL" (ByVal Flag As String) As Integer

Public Declare Function Bematech_FI_FlagsFiscais Lib "BEMAFI32.DLL" (ByRef Flag As Integer) As Integer

Public Declare Function Bematech_FI_ValorPagoUltimoCupom Lib "BEMAFI32.DLL" (ByVal ValorCupom As String) As Integer

Public Declare Function Bematech_FI_DataHoraImpressora Lib "BEMAFI32.DLL" (ByVal Data As String, ByVal Hora As String) As Integer

Public Declare Function Bematech_FI_ContadoresTotalizadoresNaoFiscais Lib "BEMAFI32.DLL" (ByVal Contadores As String) As Integer

Public Declare Function Bematech_FI_VerificaTotalizadoresNaoFiscais Lib "BEMAFI32.DLL" (ByVal Totalizadores As String) As Integer

Public Declare Function Bematech_FI_DataHoraReducao Lib "BEMAFI32.DLL" (ByVal Data As String, ByVal Hora As String) As Integer

Public Declare Function Bematech_FI_DataMovimento Lib "BEMAFI32.DLL" (ByVal Data As String) As Integer

Public Declare Function Bematech_FI_VerificaTruncamento Lib "BEMAFI32.DLL" (ByVal Flag As String) As Integer

Public Declare Function Bematech_FI_Acrescimos Lib "BEMAFI32.DLL" (ByVal ValorAcrescimos As String) As Integer

Public Declare Function Bematech_FI_ContadorBilhetePassagem Lib "BEMAFI32.DLL" (ByVal ContadorPassagem As String) As Integer

Public Declare Function Bematech_FI_VerificaAliquotasIss Lib "BEMAFI32.DLL" (ByVal AliquotasIss As String) As Integer

Public Declare Function Bematech_FI_VerificaFormasPagamento Lib "BEMAFI32.DLL" (ByVal Formas As String) As Integer

Public Declare Function Bematech_FI_VerificaRecebimentoNaoFiscal Lib "BEMAFI32.DLL" (ByVal Recebimentos As String) As Integer

Public Declare Function Bematech_FI_VerificaDepartamentos Lib "BEMAFI32.DLL" (ByVal Departamentos As String) As Integer

Public Declare Function Bematech_FI_VerificaTipoImpressora Lib "BEMAFI32.DLL" (ByRef TipoImpressora As String) As Integer

Public Declare Function Bematech_FI_VerificaTotalizadoresParciais Lib "BEMAFI32.DLL" (ByVal cTotalizadores As String) As Integer

Public Declare Function Bematech_FI_RetornoAliquotas Lib "BEMAFI32.DLL" (ByVal cAliquotas As String) As Integer

Public Declare Function Bematech_FI_DadosUltimaReducao Lib "BEMAFI32.DLL" (ByVal DadosReducao As String) As Integer

Public Declare Function Bematech_FI_MonitoramentoPapel Lib "BEMAFI32.DLL" (ByRef Linhas As String) As Integer

Public Declare Function Bematech_FI_ValorFormaPagamento Lib "BEMAFI32.DLL" (ByVal FormaPagamento As String, ByVal Valor As String) As Integer

Public Declare Function Bematech_FI_ValorTotalizadorNaoFiscal Lib "BEMAFI32.DLL" (ByVal Totalizador As String, ByVal Valor As String) As Integer

' Funções de Autenticação
Public Declare Function Bematech_FI_Autenticacao Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_ProgramaCaracterAutenticacao Lib "BEMAFI32.DLL" (ByVal Parametros As String) As Integer

' Funções de Gaveta de Dinheiro
Public Declare Function Bematech_FI_AcionaGaveta Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_VerificaEstadoGaveta Lib "BEMAFI32.DLL" (ByRef EstadoGaveta As Integer) As Integer

' Funções de Impressão de Cheques
Public Declare Function Bematech_FI_ProgramaMoedaSingular Lib "BEMAFI32.DLL" (ByVal MoedaSingular As String) As Integer

Public Declare Function Bematech_FI_ProgramaMoedaPlural Lib "BEMAFI32.DLL" (ByVal MoedaPlural As String) As Integer

Public Declare Function Bematech_FI_CancelaImpressaoCheque Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_VerificaStatusCheque Lib "BEMAFI32.DLL" (ByRef StatusCheque As Integer) As Integer

Public Declare Function Bematech_FI_ImprimeCheque Lib "BEMAFI32.DLL" (ByVal Banco As String, ByVal Valor As String, ByVal Favorecido As String, ByVal Cidade As String, ByVal Data As String, ByVal Mensagem As String) As Integer

Public Declare Function Bematech_FI_IncluiCidadeFavorecido Lib "BEMAFI32.DLL" (ByVal Cidade As String, ByVal Favorecido As String) As Integer

' Funções da Impressora Restaurante
Public Declare Function Bematech_FIR_RegistraVenda Lib "BEMAFI32.DLL" (ByVal Mesa As String, ByVal Codigo As String, ByVal Descricao As String, ByVal Aliquota As String, ByVal Quantidade As String, ByVal ValorUnitario As String, ByVal FlagAcrescimoDesconto As String, ByVal ValorAcrescimoDesconto As String) As Integer

Public Declare Function Bematech_FIR_CancelaVenda Lib "BEMAFI32.DLL" (ByVal Mesa As String, ByVal Codigo As String, ByVal Descricao As String, ByVal Aliquota As String, ByVal Quantidade As String, ByVal ValorUnitario As String, ByVal FlagAcrescimoDesconto As String, ByVal ValorAcrescimoDesconto As String) As Integer

Public Declare Function Bematech_FIR_ConferenciaMesa Lib "BEMAFI32.DLL" (ByVal Mesa As String, ByVal FlagAcrescimoDesconto As String, ByVal TipoAcrescimoDesconto As String, ByVal ValorAcrescimoDesconto As String) As Integer

Public Declare Function Bematech_FIR_AbreConferenciaMesa Lib "BEMAFI32.DLL" (ByVal Mesa As String) As Integer

Public Declare Function Bematech_FIR_FechaConferenciaMesa Lib "BEMAFI32.DLL" (ByVal FlagAcrescimoDesconto As String, ByVal TipoAcrescimoDesconto As String, ByVal ValorAcrescimoDesconto As String) As Integer

Public Declare Function Bematech_FIR_TransferenciaMesa Lib "BEMAFI32.DLL" (ByVal MesaOrigem As String, ByVal MesaDestino As String) As Integer

Public Declare Function Bematech_FIR_AbreCupomRestaurante Lib "BEMAFI32.DLL" (ByVal Mesa As String, ByVal CGC_CPF As String) As Integer

Public Declare Function Bematech_FIR_ContaDividida Lib "BEMAFI32.DLL" (ByVal NumeroCupons As String, ByVal ValorPago As String, ByVal CGC_CPF As String) As Integer

Public Declare Function Bematech_FIR_FechaCupomContaDividida Lib "BEMAFI32.DLL" (ByVal NumeroCupons As String, ByVal FlagAcrescimoDesconto As String, ByVal TipoAcrescimoDesconto As String, ByVal ValorAcrescimoDesconto As String, ByVal FormasPagamento As String, ByVal ValorFormasPagamento As String, ByVal ValorPagoCliente As String, ByVal CGC_CPF As String) As Integer

Public Declare Function Bematech_FIR_TransferenciaItem Lib "BEMAFI32.DLL" (ByVal MesaOrigem As String, ByVal Codigo As String, ByVal Descricao As String, ByVal Aliquota As String, ByVal Quantidade As String, ByVal ValorUnitario As String, ByVal FlagAcrescimoDesconto As String, ByVal ValorAcrescimoDesconto As String, ByVal MesaDestino As String) As Integer

Public Declare Function Bematech_FIR_RelatorioMesasAbertas Lib "BEMAFI32.DLL" (ByVal TipoRelatorio As String) As Integer

Public Declare Function Bematech_FIR_ImprimeCardapio Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FIR_RelatorioMesasAbertasSerial Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FIR_CardapioPelaSerial Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FIR_RegistroVendaSerial Lib "BEMAFI32.DLL" (ByVal Mesa As String) As Integer

Public Declare Function Bematech_FIR_VerificaMemoriaLivre Lib "BEMAFI32.DLL" (ByVal Bytes As String) As Integer

Public Declare Function Bematech_FIR_FechaCupomRestaurante Lib "BEMAFI32.DLL" (ByVal FormaPagamento As String, ByVal DiscontoAcrecimo As String, ByVal TipoDescontoAcrecimo As String, ByVal ValorAcrecimoDesconto As String, ByVal ValorPago As String, ByVal Mensagem As String) As Integer

Public Declare Function Bematech_FIR_FechaCupomResumidoRestaurante Lib "BEMAFI32.DLL" (ByVal FormaPagamento As String, ByVal Mensagem As String) As Integer

' Funções de Bilhete de Passagem
Public Declare Function Bematech_FI_AbreBilhetePassagem Lib "BEMAFI32.DLL" (ByVal ImprimeValorFinal As String, ByVal ImprimeEnfatizado As String, ByVal LocalEmbarque As String, ByVal Destino As String, ByVal Linha As String, ByVal Prefixo As String, ByVal Agente As String, ByVal Agencia As String, ByVal Data As String, ByVal Hora As String, ByVal Poltrona As String, ByVal Plataforma As String) As Integer

' Outras Funções
Public Declare Function Bematech_FI_ResetaImpressora Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_AbrePortaSerial Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_VerificaEstadoImpressora Lib "BemaFi32.dll" (ByRef ACK As Integer, ByRef ST1 As Integer, ByRef ST2 As Integer) As Integer

Public Declare Function Bematech_FI_RetornoImpressora Lib "BEMAFI32.DLL" (ByRef ACK As Integer, ByRef ST1 As Integer, ByRef ST2 As Integer) As Integer

Public Declare Function Bematech_FI_FechaPortaSerial Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_VerificaImpressoraLigada Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_MapaResumo Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_RelatorioTipo60Analitico Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_RelatorioTipo60Mestre Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_ImprimeConfiguracoesImpressora Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_ImprimeDepartamentos Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_AberturaDoDia Lib "BEMAFI32.DLL" (ByVal Valor As String, ByVal FormaPagamento As String) As Integer

Public Declare Function Bematech_FI_FechamentoDoDia Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_ImpressaoCarne Lib "BEMAFI32.DLL" (ByVal Titulo As String,  ByVal Percelas As String, ByVal Datas As Integer, ByVal Quantidade As Integer, ByVal Texto As String, ByVal Cliente As String, ByVal RG_CPF As String, ByVal Cupom As String, ByVal Vias As Integer, ByVal Assina As Integer) As Integer

Public Declare Function Bematech_FI_InfoBalanca Lib "BEMAFI32.DLL" (ByVal Porta As String,  ByVal Modelo As Integer, ByVal Peso As String, ByVal PrecoKilo As String, ByVal Total As String) As Integer

Public Declare Function Bematech_FI_DadosSintegra Lib "BEMAFI32.DLL" (ByVal DataInicial As String, ByVal DataFinal As String) As Integer

Public Declare Function Bematech_FI_IniciaModoTEF Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_FinalizaModoTEF Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_VersaoDll Lib "BEMAFI32.DLL" (ByVal Versao As String) As Integer

Public Declare Function Bematech_FI_RegistrosTipo60 Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_LeArquivoRetorno Lib "BEMAFI32.DLL" (ByVal Retorno As String) As Integer

' Funções da Impressora Fiscal MFD
Public Declare Function Bematech_FI_AbreCupomMFD Lib "BEMAFI32.DLL" (ByVal CGC As String, ByVal Nome As String, ByVal Endereco As String) As Integer

Public Declare Function Bematech_FI_CancelaCupomMFD Lib "BEMAFI32.DLL" (ByVal CGC As String, ByVal Nome As String, ByVal Endereco As String) As Integer

Public Declare Function Bematech_FI_ProgramaFormaPagamentoMFD Lib "BEMAFI32.DLL" (ByVal FormaPagto As String, ByVal OperacaoTef As String) As Integer

Public Declare Function Bematech_FI_EfetuaFormaPagamentoMFD Lib "BEMAFI32.DLL" (ByVal FormaPagamento As String, ByVal ValorFormaPagamento As String, ByVal Parcelas As String, ByVal DescricaoFormaPagto As String) As Integer

Public Declare Function Bematech_FI_CupomAdicionalMFD Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_AcrescimoDescontoItemMFD Lib "BEMAFI32.DLL" (ByVal Item As String, ByVal AcrescimoDesconto As String, ByVal TipoAcrescimoDesconto As String, ByVal ValorAcrescimoDesconto As String) As Integer

Public Declare Function Bematech_FI_NomeiaRelatorioGerencialMFD Lib "BEMAFI32.DLL" (ByVal Indice As String, ByVal Descricao As String) As Integer

Public Declare Function Bematech_FI_AutenticacaoMFD Lib "BEMAFI32.DLL" (ByVal Linhas As String, ByVal Texto As String) As Integer

Public Declare Function Bematech_FI_AbreComprovanteNaoFiscalVinculadoMFD Lib "BEMAFI32.DLL" (ByVal FormaPagamento As String, ByVal Valor As String, ByVal NumeroCupom As String, ByVal CGC As String, ByVal Nome As String, ByVal Endereco As String) As Integer

Public Declare Function Bematech_FI_ReimpressaoNaoFiscalVinculadoMFD Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_AbreRecebimentoNaoFiscalMFD Lib "BEMAFI32.DLL" (ByVal CGC As String, ByVal Nome As String, ByVal Endereco As String) As Integer

Public Declare Function Bematech_FI_EfetuaRecebimentoNaoFiscalMFD Lib "BEMAFI32.DLL" (ByVal IndiceTotalizador As String, ByVal ValorRecebimento As String) As Integer

Public Declare Function Bematech_FI_IniciaFechamentoRecebimentoNaoFiscalMFD Lib "BEMAFI32.DLL" (ByVal AcrescimoDesconto As String, ByVal TipoAcrescimoDesconto As String, ByVal ValorAcrescimo As String, ByVal ValorDesconto As String) As Integer

Public Declare Function Bematech_FI_FechaRecebimentoNaoFiscalMFD Lib "BEMAFI32.DLL" (ByVal Mensagem As String) As Integer

Public Declare Function Bematech_FI_CancelaRecebimentoNaoFiscalMFD Lib "BEMAFI32.DLL" (ByVal CGC As String, ByVal Nome As String, ByVal Endereco As String) As Integer

Public Declare Function Bematech_FI_AbreRelatorioGerencialMFD Lib "BEMAFI32.DLL" (ByVal Indice As String) As Integer

Public Declare Function Bematech_FI_UsaRelatorioGerencialMFD Lib "BEMAFI32.DLL" (ByVal Texto As String) As Integer

Public Declare Function Bematech_FI_UsaRelatorioGerencialMFDTEF Lib "BEMAFI32.DLL" (ByVal Texto As String) As Integer

Public Declare Function Bematech_FI_SegundaViaNaoFiscalVinculadoMFD Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_EstornoNaoFiscalVinculadoMFD Lib "BEMAFI32.DLL" (ByVal CGC As String, ByVal Nome As String, ByVal Endereco As String) As Integer

Public Declare Function Bematech_FI_NumeroSerieMFD Lib "BEMAFI32.DLL" (ByVal NumeroSerie As String) As Integer

Public Declare Function Bematech_FI_VersaoFirmwareMFD Lib "BEMAFI32.DLL" (ByVal VersaoFirmware As String) As Integer

Public Declare Function Bematech_FI_CNPJMFD Lib "BEMAFI32.DLL" (ByVal CNPJ As String) As Integer

Public Declare Function Bematech_FI_InscricaoEstadualMFD Lib "BEMAFI32.DLL" (ByVal InscricaoEstadual As String) As Integer

Public Declare Function Bematech_FI_InscricaoMunicipalMFD Lib "BEMAFI32.DLL" (ByVal InscricaoMunicipal As String) As Integer

Public Declare Function Bematech_FI_TempoOperacionalMFD Lib "BEMAFI32.DLL" (ByVal TempoOperacional As String) As Integer

Public Declare Function Bematech_FI_MinutosEmitindoDocumentosFiscaisMFD Lib "BEMAFI32.DLL" (ByVal Minutos As String) As Integer

Public Declare Function Bematech_FI_ContadoresTotalizadoresNaoFiscaisMFD Lib "BEMAFI32.DLL" (ByVal Contadores As String) As Integer

Public Declare Function Bematech_FI_VerificaTotalizadoresNaoFiscaisMFD Lib "BEMAFI32.DLL" (ByVal Totalizadores As String) As Integer

Public Declare Function Bematech_FI_VerificaFormasPagamentoMFD Lib "BEMAFI32.DLL" (ByVal FormasPagamento As String) As Integer

Public Declare Function Bematech_FI_VerificaRecebimentoNaoFiscalMFD Lib "BEMAFI32.DLL" (ByVal Recebimentos As String) As Integer

Public Declare Function Bematech_FI_VerificaRelatorioGerencialMFD Lib "BEMAFI32.DLL" (ByVal Relatorios As String) As Integer

Public Declare Function Bematech_FI_ContadorComprovantesCreditoMFD Lib "BEMAFI32.DLL" (ByVal Comprovantes As String) As Integer

Public Declare Function Bematech_FI_ContadorOperacoesNaoFiscaisCanceladasMFD Lib "BEMAFI32.DLL" (ByVal OperacoesCanceladas As String) As Integer

Public Declare Function Bematech_FI_ContadorRelatoriosGerenciaisMFD Lib "BEMAFI32.DLL" (ByVal Relatorios As String) As Integer

Public Declare Function Bematech_FI_ContadorCupomFiscalMFD Lib "BEMAFI32.DLL" (ByVal CuponsEmitidos As String) As Integer

Public Declare Function Bematech_FI_ContadorFitaDetalheMFD Lib "BEMAFI32.DLL" (ByVal ContadorFita As String) As Integer

Public Declare Function Bematech_FI_ComprovantesNaoFiscaisNaoEmitidosMFD Lib "BEMAFI32.DLL" (ByVal Comprovantes As String) As Integer

Public Declare Function Bematech_FI_NumeroSerieMemoriaMFD Lib "BEMAFI32.DLL" (ByVal NumeroSerieMFD As String) As Integer

Public Declare Function Bematech_FI_ReducoesRestantesMFD Lib "BEMAFI32.DLL" (ByVal Reducoes As String) As Integer

Public Declare Function Bematech_FI_MarcaModeloTipoMFD Lib "BEMAFI32.DLL" (ByVal Marca As String, ByVal Modelo As String, ByVal Tipo As String) As Integer

Public Declare Function Bematech_FI_VerificaTotalizadoresParciaisMFD Lib "BEMAFI32.DLL" (ByVal Totalizadores As String) As Integer

Public Declare Function Bematech_FI_DadosUltimaReducaoMFD Lib "BEMAFI32.DLL" (ByVal DadosReducao As String) As Integer

Public Declare Function Bematech_FI_LeituraMemoriaFiscalDataMFD Lib "BEMAFI32.DLL" (ByVal DataInicial As String, ByVal DataFinal As String, ByVal FlagLeitura As String) As Integer

Public Declare Function Bematech_FI_LeituraMemoriaFiscalReducaoMFD Lib "BEMAFI32.DLL" (ByVal ReducaoInicial As String, ByVal ReducaoFinal As String, ByVal FlagLeitura As String) As Integer

Public Declare Function Bematech_FI_LeituraMemoriaFiscalSerialDataMFD Lib "BEMAFI32.DLL" (ByVal DataInicial As String, ByVal DataFinal As String, ByVal FlagLeitura As String) As Integer

Public Declare Function Bematech_FI_LeituraMemoriaFiscalSerialReducaoMFD Lib "BEMAFI32.DLL" (ByVal ReducaoInicial As String, ByVal ReducaoFinal As String, ByVal FlagLeitura As String) As Integer

Public Declare Function Bematech_FI_LeituraChequeMFD Lib "BEMAFI32.DLL" (ByVal CodigoCMC7 As String) As Integer

Public Declare Function Bematech_FI_ImprimeChequeMFD Lib "BEMAFI32.DLL" (ByVal NumeroBanco As String, ByVal Valor As String, ByVal Favorecido As String, ByVal Cidade As String, ByVal Data As String, ByVal Mensagem As String, ByVal ImpressaoVerso As String, ByVal Linhas As String) As Integer

Public Declare Function Bematech_FI_HabilitaDesabilitaRetornoEstendidoMFD Lib "BEMAFI32.DLL" (ByVal FlagRetorno As String) As Integer

Public Declare Function Bematech_FI_RetornoImpressoraMFD Lib "BEMAFI32.DLL" (ByRef ACK As Integer, ByRef ST1 As Integer, ByRef ST2 As Integer, ByRef ST3 As Integer) As Integer

Public Declare Function Bematech_FI_AbreBilhetePassagemMFD Lib "BEMAFI32.DLL" (ByVal Embarque As String, ByVal Destino As String, ByVal Linha As String, ByVal Agencia As String, ByVal Data As String, ByVal Hora As String, ByVal Poltrona As String, ByVal Plataforma As String, ByVal TipoPassagem As String, ByVal RGCliente As String, ByVal NomeCliente As String, ByVal EnderecoCliente As String, ByVal UFDetino As String) As Integer

Public Declare Function Bematech_FI_CancelaAcrescimoDescontoItemMFD Lib "BEMAFI32.DLL" (ByVal cFlag As String, ByVal cItem As String) As Integer

Public Declare Function Bematech_FI_SubTotalizaCupomMFD Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_SubTotalizaRecebimentoMFD Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_TotalLivreMFD Lib "BEMAFI32.DLL" (ByVal cMemoriaLivre As String) As Integer

Public Declare Function Bematech_FI_TamanhoTotalMFD Lib "BEMAFI32.DLL" (ByVal cTamMFD As String) As Integer

Public Declare Function Bematech_FI_AcrescimoDescontoSubtotalRecebimentoMFD Lib "BEMAFI32.DLL" (ByVal cFlag As String, ByVal cTipo As String, ByVal cValor As String) As Integer

Public Declare Function Bematech_FI_AcrescimoDescontoSubtotalMFD Lib "BEMAFI32.DLL" (ByVal cFlag As String, ByVal cTipo As String, ByVal cValor As String) As Integer

Public Declare Function Bematech_FI_CancelaAcrescimoDescontoSubtotalMFD Lib "BEMAFI32.DLL" (ByVal cFlag As String) As Integer

Public Declare Function Bematech_FI_CancelaAcrescimoDescontoSubtotalRecebimentoMFD Lib "BEMAFI32.DLL" (ByVal cFlag As String) As Integer

Public Declare Function Bematech_FI_TotalizaCupomMFD Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_TotalizaRecebimentoMFD Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_PercentualLivreMFD Lib "BEMAFI32.DLL" (ByVal cMemoriaLivre As String) As Integer

Public Declare Function Bematech_FI_DataHoraUltimoDocumentoMFD Lib "BEMAFI32.DLL" (ByVal cDataHora As String) As Integer

Public Declare Function Bematech_FI_MapaResumoMFD Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_RelatorioTipo60AnaliticoMFD Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_ValorFormaPagamentoMFD Lib "BEMAFI32.DLL" (ByVal FormaPagamento As String, ByVal Valor As String) As Integer

Public Declare Function Bematech_FI_ValorTotalizadorNaoFiscalMFD Lib "BEMAFI32.DLL" (ByVal Totalizador As String, ByVal Valor As String) As Integer

Public Declare Function Bematech_FI_MarcaModeloTipoImpressoraMFD Lib "BEMAFI32.DLL" (ByVal Marca As String, ByVal Modelo As String, ByVal Tipo As String) As Integer

Public Declare Function Bematech_FI_VerificaEstadoImpressoraMFD Lib "BemaFi32.dll" (ByRef ACK As Integer, ByRef ST1 As Integer, ByRef ST2 As Integer, ByRef ST3 As Integer) As Integer

Public Declare Function Bematech_FI_IniciaFechamentoCupomMFD Lib "BEMAFI32.DLL" (ByVal AcrescimoDesconto As String, ByVal TipoAcrescimoDesconto As String, ByVal ValorAcrescimo As String, ByVal ValorDesconto As String) As Integer

Public Declare Function Bematech_FI_RelatorioSintegraMFD Lib "BEMAFI32.DLL" (ByVal Relatorios As Integer, ByVal Arquivo As String, ByVal Mes As String, ByVal cAno As String, ByVal RazaoSocial As String, ByVal Endereco As String, ByVal Numero As String, ByVal Complemento As String, ByVal Bairro As String, ByVal Cidade As String, ByVal CEP As String, ByVal Telefone As String, ByVal Fax As String, ByVal Contato As String) As Integer

Public Declare Function Bematech_FI_GeraRelatorioSintegraMFD Lib "BEMAFI32.DLL" (ByVal Relatorios As Integer, ByVal ArquivoOrigem As String, ByVal ArquivoDestino As String, ByVal Mes As String, ByVal cAno As String, ByVal RazaoSocial As String, ByVal Endereco As String, ByVal Numero As String, ByVal Complemento As String, ByVal Bairro As String, ByVal Cidade As String, ByVal CEP As String, ByVal Telefone As String, ByVal Fax As String, ByVal Contato As String) As Integer

Public Declare Function Bematech_FI_CancelaItemNaoFiscalMFD Lib "BEMAFI32.DLL" (ByVal NumeroItem As String) As Integer

Public Declare Function Bematech_FI_AcrescimoItemNaoFiscalMFD Lib "BEMAFI32.DLL" (ByVal NumeroItem As String, ByVal AcrescimoDesconto As String, ByVal TipoAcrescimoDesconto As String, ByVal ValorAcrescimoDesconto As String)  As Integer

Public Declare Function Bematech_FI_CancelaAcrescimoNaoFiscalMFD Lib "BEMAFI32.DLL" (ByVal NumeroItem As String, ByVal AcrescimoDesconto As String)  As Integer

Public Declare Function Bematech_FI_TerminaFechamentoCupomCodigoBarrasMFD Lib "BEMAFI32.DLL" (ByVal cMensagem As String, ByVal cTipoCodigo As String, ByVal cCodigo As String, ByVal iAltura As Integer, ByVal iLargura As Integer, ByVal iPosicaoCaracteres As Integer, ByVal iFonte As Integer, ByVal iMargem As Integer, ByVal iCorrecaoErros As Integer, ByVal iColunas As Integer) As Integer

Public Declare Function Bematech_FI_ImprimeClicheMFD Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_ImprimeInformacaoChequeMFD Lib "BEMAFI32.DLL" (ByVal Posicao As Integer, ByVal Linhas As Integer, ByVal Mensagem As String) As Integer

Public Declare Function Bematech_FI_DownloadMF Lib "BEMAFI32.DLL" (ByVal Arquivo As String) As Integer

Public Declare Function Bematech_FI_DownloadMFD Lib "BEMAFI32.DLL" (ByVal Arquivo As String, ByVal TipoDownload As String, ByVal ParametroInicial As String, ByVal ParametroFinal As String, ByVal UsuarioECF As String) As Integer

Public Declare Function Bematech_FI_FormatoDadosMFD Lib "BEMAFI32.DLL" (ByVal ArquivoOrigem As String, ByVal ArquivoDestino As String, ByVal TipoFormato As String, ByVal TipoDownload As String, ByVal ParametroInicial As String, ByVal ParametroFinal As String, ByVal UsuarioECF As String) As Integer

' Funções disponíveis somente na impressora fiscal MP-2000 TH FI versão 01.01.01 ou 01.00.02
Public Declare Function Bematech_FI_AtivaDesativaVendaUmaLinhaMFD Lib "BEMAFI32.DLL" (ByVal iFlag As Integer) As Integer

Public Declare Function Bematech_FI_AtivaDesativaAlinhamentoEsquerdaMFD Lib "BEMAFI32.DLL" (ByVal iFlag As Integer) As Integer

Public Declare Function Bematech_FI_AtivaDesativaCorteProximoMFD Lib "BEMAFI32.DLL" As Integer

Public Declare Function Bematech_FI_AtivaDesativaTratamentoONOFFLineMFD Lib "BEMAFI32.DLL" (ByVal iFlag As Integer) As Integer

Public Declare Function Bematech_FI_StatusEstendidoMFD Lib "BEMAFI32.DLL" (ByRef iStatus As Integer) As Integer

Public Declare Function Bematech_FI_VerificaFlagCorteMFD Lib "BEMAFI32.DLL" (ByRef iFlag As Integer) As Integer

Public Declare Function Bematech_FI_TempoRestanteComprovanteMFD Lib "BEMAFI32.DLL" (ByVal cTempo As String) As Integer

Public Declare Function Bematech_FI_UFProprietarioMFD Lib "BEMAFI32.DLL" (ByVal cUF As String) As Integer

Public Declare Function Bematech_FI_GrandeTotalUltimaReducaoMFD Lib "BEMAFI32.DLL" (ByVal cGT As String) As Integer

Public Declare Function Bematech_FI_DataMovimentoUltimaReducaoMFD Lib "BEMAFI32.DLL" (ByVal cData As String) As Integer

Public Declare Function Bematech_FI_SubTotalComprovanteNaoFiscalMFD Lib "BEMAFI32.DLL" (ByVal cSubTotal As String) As Integer

Public Declare Function Bematech_FI_InicioFimCOOsMFD Lib "BEMAFI32.DLL" (ByVal cCOOIni As String, ByVal cCOOFim As String) As Integer

Public Declare Function Bematech_FI_InicioFimGTsMFD Lib "BEMAFI32.DLL"(ByVal cGTIni As String, ByVal cGTFim As String) As Integer

' Função para Configuração dos Códigos de Barras
Public Declare Function Bematech_FI_ConfiguraCodigoBarrasMFD Lib "BEMAFI32.DLL" (ByVal Altura As Integer, ByVal Largura As Integer, ByVal PosicaoCaracteres As Integer, ByVal Fonte As Integer, ByVal Margem As Integer) As Integer

' Funções para Impressão dos Códigos de Barras
Public Declare Function Bematech_FI_CodigoBarrasUPCAMFD Lib "BEMAFI32.DLL" (ByVal Codigo As String) As Integer

Public Declare Function Bematech_FI_CodigoBarrasUPCEMFD Lib "BEMAFI32.DLL" (ByVal Codigo As String) As Integer

Public Declare Function Bematech_FI_CodigoBarrasEAN13MFD Lib "BEMAFI32.DLL" (ByVal Codigo As String) As Integer

Public Declare Function Bematech_FI_CodigoBarrasEAN8MFD Lib "BEMAFI32.DLL" (ByVal Codigo As String) As Integer

Public Declare Function Bematech_FI_CodigoBarrasCODE39MFD Lib "BEMAFI32.DLL" (ByVal Codigo As String) As Integer

Public Declare Function Bematech_FI_CodigoBarrasCODE93MFD Lib "BEMAFI32.DLL" (ByVal Codigo As String) As Integer

Public Declare Function Bematech_FI_CodigoBarrasCODE128MFD Lib "BEMAFI32.DLL" (ByVal Codigo As String) As Integer

Public Declare Function Bematech_FI_CodigoBarrasITFMFD Lib "BEMAFI32.DLL" (ByVal Codigo As String) As Integer

Public Declare Function Bematech_FI_CodigoBarrasCODABARMFD Lib "BEMAFI32.DLL" (ByVal Codigo As String) As Integer

Public Declare Function Bematech_FI_CodigoBarrasISBNMFD Lib "BEMAFI32.DLL" (ByVal Codigo As String) As Integer

Public Declare Function Bematech_FI_CodigoBarrasMSIMFD Lib "BEMAFI32.DLL" (ByVal Codigo As String) As Integer

Public Declare Function Bematech_FI_CodigoBarrasPLESSEYMFD Lib "BEMAFI32.DLL" (ByVal Codigo As String) As Integer

Public Declare Function Bematech_FI_CodigoBarrasPDF417MFD Lib "BEMAFI32.DLL" (ByVal NivelCorrecaoErros As Integer, ByVal Altura As Integer, ByVal Largura As Integer, ByVal Colunas As Integer, ByVal Codigo As String) As Integer


Bematech_FI_FlagsFiscaisStr

Retorna um número referente ao flag fiscal da impressora.

compatduas

Parâmetro:

FlagFiscal: Variável STRING para receber um número representando o flag fiscal da impressora. Veja discriminação abaixo.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- Discriminação dos valores para o flag fiscal:

Descrição                                    Valor
Cupom fiscal aberto                            1
Fechamento de formas de pagamento iniciado     2
Horário de verão selecionado                   4
Já houve redução Z no dia                      8
Permite cancelar cupom fiscal                 32
Memória fiscal sem espaço                    128

- Os valores podem vir somados o que indica mais de um estado.
- Para a impressora fiscal YANCO, os flags "Fechamento de formas de pagamento iniciado" e "Permite cancelar cupom fiscal" não existem.

Exemplo:

Se o retorno for 37, as estado da impressora será: Cupom fiscal aberto, Horário de verão selecionado e Permite cancelar o cupom fiscal.


Bematech_FI_LeArquivoRetorno

Le o conteúdo do arquivo RETORNO.TXT, com a informação solicitada da impressora, e grava na variável de retorno.

Parâmetro:

sRetorno: Variável do tipo STRING, com o mesmo tamanho da variável usada pela função anterior (função que solicitou a informação).

Possíveis retornos da Função (INTEIRO):

0: Erro de execução da função.
1: OK.

Observações:

- Esta função só deverá ser usada, caso esteja trabalhando com "Cliente/Servidor" (Windows Terminal Server ou Frame-Relay).
- Está função deve ser usada logo após a função que originou o retorno da informação da impressora.
- Está função é compatível com as impressoras fiscais da YANCO.

Exemplo:

' Exemplo em Visual Basic para retornar o Número do Cupom
Dim sCupom as String
Dim iACK, iST1, iST2 as Integer
sCupom = Space(6)
iRetorno = Bematech_FI_NumeroCupom(sCupom)
iRetorno = Bematech_FI_RetornoImpressora(iACK, iST1, iST2)
iRetorno = Bematech_FI_LeArquivoRetorno(sCupom)

// Exemplo em Delphi para retornar o Número do Cupom
procedure ...
Var
  sCupom: String;
  iACK, iST1, iST2: Integer;
begin
  for iConta := 1 to 6 do begin sCupom := sCupom + ' '; end;
  iRetorno := Bematech_FI_NumeroCupom( sCupom );
  iRetorno := Bematech_FI_RetornoImpressora( iACK, iST1, iST2 );
  iRetorno := Bematech_FI_LeArquivoRetorno( sCupom );
end;


Variável do Tipo PCHAR

iconelampada2
STRING terminada em nulo (#0), usada geralmente
nas funções da API do Windows.


Bematech_FI_RetornoImpressoraStr

Lê o retorno da impressora referente ao último comando enviado.

compatduas

Parâmetros:

ACK: Variável STRING, com o tamanho 3, para receber o primeiro byte.
ST1: Variável STRING, com o tamanho 3, para receber o segundo byte.
ST2: Variável STRING, com o tamanho 3, para receber o terceiro byte.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.

Observação:

- Essa função deve ser usada após a execução de qualquer outra função da DLL para ler o Retorno da Impressora referente a função executada. Essa função devolve o status da impressora.


Análise do Retorno (ACK, ST1 e ST2)

Retorno da Impressora (ACK, ST1 e ST2)
Retorna ao Início

Todos as funções, executadas na impressora, possuem bytes de retorno, que significam o estado atual após o envio. Cada byte é tratado da seguinte maneira:

ACK (06h ou 6d) : Byte indicativo de recebimento correto.
ST1 e ST2 : Bytes de estado da impressora.
NAK (15h ou 21d) : Byte indicativo de recebimento incorreto.

Observação:

- Nas impressoras fiscais Matriciais, os retornos de execução são obtidos, apenas, pelos bytes ACK, ST1 e ST2.

- Nas impressoras fiscal MFD (somente), existe um outro retorno chamado ST3 (retorno estendido), onde informações mais detalhadas podem ser obtidas, mas este retorno só é habilitado pela função Bematech_FI_HabilitaDesabilitaRetornoEstendidoMFD.

ST1

tlast1

ST2

tlast2

Lógica de Tratamento

Cada byte é composto de 8 bits. Cada bit, dentro do byte, tem um valor, conforme a tabela acima:

O valor recebido da impressora para ST1 e/ou ST2 deve ser comparado com cada bit.

As linhas abaixo são uma forma de você desenvolver um pedaço de código para saber quais bits estão "setados":

Codificando o ST1

If St1 >= 128 Then                  // bit 7
   St1 = St1 - 128
   sMsg = "Fim de Papel"
End If
If St1 >= 64 Then                  // bit 6
   St1 = St1 - 64
   sMsg = "Pouco Papel"
End If
If St1 >= 32 Then                  // bit 5
   St1 = St1 - 32
   sMsg = "Erro no Relógio"
End If
If St1 >= 16 Then                  // bit 4
   St1 = St1 - 16
   sMsg = "Impressora em Erro"
End If
If St1 >= 8 Then                  // bit 3
St1 = St1 - 8
    sMsg = "Comando não iniciado com ESC"
End If
If St1 >= 4 Then                  // bit 2
   St1 = St1 - 4
   sMsg = "Comando Inexistente"
End If
If St1 >= 2 Then                  // bit 1
   St1 = St1 - 2
   sMsg = "Cupom Aberto"
End If
If St1 >= 1 Then                  // bit 0
   St1 = St1 - 1
   sMsg = "Número de Parâmetro(s) Inválido(s)"
End If

Codificando o ST2

If St2 >= 128 Then                  // bit 7
   St2 = St2 - 128
   sMsg = "Tipo de Parâmetro de Comando Inválido"
End If
If St2 >= 64 Then                  // bit 6
   St2 = St2 - 64
   sMsg = "Memória Fiscal Lotada"
End If
If St2 >= 32 Then                  // bit 5
   St2 = St2 - 32
   sMsg = "Erro na Memória RAM"
End If
If St2 >= 16 Then                  // bit 4
   St2 = St2 - 16
   sMsg = "Alíquota Não Programada"
End If
If St2 >= 8 Then                  // bit 3
   St2 = St2 - 8
   sMsg = "Capacidade de Alíquotas Lotada"
End If
If St2 >= 4 Then                  // bit 2
   St2 = St2 - 4
   sMsg = "Cancelamento Não Permitido"
End If
If St2 >= 2 Then                  // bit 1
   St2 = St2 - 2
   sMsg = "CNPJ/IE do Proprietário Não Programado"
End If
If St2 >= 1 Then                  // bit 0
   St2 = St2 - 1
   sMsg = "Comando Não Executado"
End If

Teste o exemplo acima com ST1 = 66, e repare que você terá dois erros, pouco papel (64) e cupom aberto (2).


Bematech_FI_VerificaEstadoGavetaStr

Retorna se a gaveta está fechada ou aberta.

compatduas

Parâmetros:

Estado: STRING com a Variável para receber o estado da gaveta, onde:
Estado = 1 sensor em nível 1 (aberta)
Estado = 0 sensor em nível 0 (fechada)

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).


Bematech_FI_VerificaEstadoImpressoraStr

Retorna o estado da impressora.

compatduas

Parâmetros:

ACK: Variável STRING, com o tamanho 3, para receber o primeiro byte.
ST1: Variável STRING, com o tamanho 3, para receber o segundo byte.
ST2: Variável STRING, com o tamanho 3, para receber o terceiro byte.

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observação:

- Essa função devolve o status da impressora (Retorno da Impressora).


Bematech_FI_VerificaStatusChequeStr

Verifica o status do cheque.

compatbematech

Parâmetro:

StatusCheque: Variável STRING para receber o status do cheque (veja abaixo em "Observações" os valores de status).

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).
-30: Função não compatível com a impressora YANCO.

Observações:

Os valores de status são:

1 – Impressora ok.
2 – Cheque em impressão.
3 – Cheque posicionado.
4 – Aguardando o posicionamento do cheque.

- Função usada somente na impressora MP-40 FI II.
- Na impressora fiscal YANCO, esta verificação não existe.


Bematech_FI_VerificaTipoImpressoraStr

Retorna o tipo de impressora.

compatduas

Parâmetro:

TipoImpressora: Variável STRING para receber o tipo da impressora (veja abaixo em "Observações" os valores retornados).

Possíveis retornos da Função (INTEIRO):

0: Erro de comunicação.
1: OK.
-1: Erro de execução da função.
-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.
-5: Erro ao abrir a porta de comunicação.
-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.
-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

- O valor do tipo de impressora pode ser:

1 - Impressora fiscal, gaveta, autenticaçao.
2 - Impressora fiscal, gaveta, cutter.
3 - Impressora fiscal, presenter, autenticaçao.
4 - Impressora fiscal, presenter, cutter.
5 - Impressora bilhete de passagem, gaveta, autenticaçao.
6 - Impressora bilhete de passagem, gaveta, cutter.
7 - Impressora bilhete de passagem, presenter, autenticaçao.
8 - Impressora bilhete de passagem, presenter, cutter.