Modelos

Impressoras Fiscais Bematech

fotomp4000thfi | MP-4200 TH FI (Convênio ICMS 09/09) Impressora Fiscal 1 Estação - Cupom Fiscal
fotomp4000thfi | MP-4000 TH FI (Convênio ICMS 85/01) Impressora Fiscal ou Impressora Fiscal Bilhete de Passagem (térmica) 1 Estação - Cupom Fiscal
fotomp2100thfi | MP-2100 TH FI (Convênio ICMS 85/01) Impressora Fiscal ou Impressora Fiscal Bilhete de Passagem (térmica) 1 Estação - Cupom Fiscal
mp3000thfi | MP-3000 TH FI (Convênio ICMS 85/01) Impressora Fiscal ou Impressora Fiscal Bilhete de Passagem (térmica) 1 Estação - Cupom Fiscal
fotomp7000 | MP-7000 TH FI (Convênio ICMS 85/01) Impressora Fiscal ou Impressora Fiscal Bilhete de Passagem (térmica) 2 Estações - Cupom Fiscal e Impressão de Cheque
MP-25 FI (Convênio ICMS 85/01) Impressora Fiscal ou Impressora Fiscal Bilhete de Passagem - Convênio ICMS 85/01 (matricial) 1 Estação - Cupom Fiscal | MP-50 FI (Convênio ICMS 85/01) Impressora Fiscal ou Impressora Fiscal Bilhete de Passagem - Convênio ICMS 85/01 (matricial) 2 Estações - Cupom Fiscal e Impressão de Cheque
MP-2000 TH FI (Convênio ICMS 85/01) Impressora Fiscal ou Impressora Fiscal Bilhete de Passagem (térmica) 1 Estação - Cupom Fiscal | MP-6000 TH FI / MP-6100 TH FI (Convênio ICMS 85/01) Impressora Fiscal ou Impressora Fiscal Bilhete de Passagem (térmica) 2 Estações - Cupom Fiscal e Impressão de Cheque
MP-20 FI II / MP-20 FI II R (Convênio ICMS 156/94) Impressora Fiscal, Impressora Fiscal Bilhete de Passagem ou Impressora Fiscal Restaurante (matricial) 1 Estação - Cupom Fiscal | MP-40 FI II / MP-40 FI II R (Convênio ICMS 156/94) Impressora Fiscal, Impressora Fiscal Bilhete de Passagem ou Impressora Fiscal Restaurante (matricial) 2 Estações - Cupom Fiscal e Impressão de Cheque


Apresentando a DLL

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 pode ser salva na pasta de instalação do aplicativo, em qualquer outra pasta (desde que na declaração das funções no aplicativo, seja informado o path da DLL) ou no diretório de sistema do Windows.

Importante: O arquivo BemaFI32.ini (arquivo de configuração da DLL) deve estar juntamente com a DLL, na mesma pasta e configurado de acordo com a sua utilização.

Exemplo:

C:\Windows\System32


Configurando a DLL

Configurando a DLL

Arquivo de Configuração BemaFI32.ini

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

Seção [Sistema]

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

Porta=

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

Path=

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

Status=

Se esta chave 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 esta chave 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.

BaudRate=

Esta chave configura a taxa de velocidade de transmissão dos comandos para a impressora fiscal.

Disponível apenas para o modelo de ECF MP-4200 TH FI.

ProtocoloUnico=

Se esta chave estiver habilitada (ProtocoloUnico=1) significa que o ECF em uso é MP-4200 TH FI e, assim, as funções da dll serão compatibilizadas para este modelo, caso contrário, permanecerá a execução para os modelos de ECF do Convênio ICMS 85/01. Habilite ou desabilite esta chave de acordo com o modelo de ECF que estiver usando.

Disponível apenas para o modelo de ECF MP-4200 TH FI.

StatusFuncao=

Esta chave configura a DLL para retornar o valor &endash;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 &endash;27. O valor um "1" habilita e o valor zero "0" desabilita essa configuração. O valor default é zero "0".

ControlePorta=

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

ModeloImp=

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

ConfigRede=

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

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

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

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

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

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

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

ModoGaveta=

Bematech_FI_VerificaEstadoGaveta para maiores informações.

Log=

Se esta chave 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.

Para o modelo de ECF MP-4200 TH FI, o log será gerado no formato XML.

A partir da versão 7 da BemaFI32.dll e do BemaFI32.ini, é possível configurar novas formas de geração do log com conteúdos mais detalhados, como:

LOG=1 (Serão logados apenas os nomes das funções com seus respectivos parâmetros)

LOG=2 (Serão logados nome, parâmetros e validações das funções)

LOG=9 (Serão logados nome, parâmetros, validações e DUMP da comunicação)

LogDiario=

Esta chave habilita a geração do arquivo de log diariamente com a nomenclatura BemaFI32-AAAAMMDD.log, onde AAAA = ano, MM = mes e DD = dia. Serão mantidos apenas os 7 últimos logs gerados, os anteriores serão apagados. Essa configuração só terá efeito se a geração de log (chave Log=1) estiver habilitada.

Para o modelo de ECF MP-4200 TH FI, o log será gerado no formato XML.

A partir da versão 7 da BemaFI32.dll e do BemaFI32.ini, é possível configurar novas formas de geração do log com conteúdos mais detalhados, como:

LOG=1 (Serão logados apenas os nomes das funções com seus respectivos parâmetros)

LOG=2 (Serão logados nome, parâmetros e validações das funções)

LOG=9 (Serão logados nome, parâmetros, validações e DUMP da comunicação)

CrLfVinculado=

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

CrLfGerencial=

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

TimeOutGerencial=

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

EmulMFD=

Esta chave é utilizada para a comunicação com o emulador da impressora fiscal através da dll, sem a necessidade de confeccionar um cabo de comunicação externo. Configurando esta chave para 1 (um) e a sua aplicação, através das funções da dll, estará realizando a impressão dos cupons no 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.

Também é possível realizar a comunicação com o emulador através de softwares de virtualização de porta, como por exemplo, o VirtualSerialPort. Neste método, todas as operações, incluindo os downloads das memórias do emulador (MFD e MF) podem ser realizados. Este é um método mais rápido e seguro na comunicação com o emulador, principalmente para o novo emulador da impressora fiscal MP-4200 TH FI. Se optar pelo uso deste método, a chave EmulMFD deve permanecer em 0.

StatusCheque=

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

CalculoIcmsCupom=

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

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

ForceWTSClient=

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

RetriesWTSCmd=

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

HabilitaRFDImpMFD=

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

GerarRFD=

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

CupomAdicional=

Esta chave habilita/desabilita a emissão automática do cupom adicional. Para habilitar mude o valor da chave para 1 e para desabilitar mude para 0.

Disponível apenas para o modelo de ECF MP-4200 TH FI.

Tentativas=

Esta chave defini o número de tentativa para envio de comandos para a impressora fiscal.

Disponível apenas para o modelo de ECF MP-4200 TH FI.

WakMilisegundos=

Esta chave defini o tempo em milisegundos para aguardar o envio do byte WAK.

Disponível apenas para o modelo de ECF MP-4200 TH FI.

TimeoutSegundos=

Esta chave defini o tempo em segundos que a dll irá aguardar quando um comando não responder ou quando for executado algum comando de retorno extenso de informações.

Disponível apenas para o modelo de ECF MP-4200 TH FI.

Seção [Aliquotas]

Esta seção configura os valores percentuais das alíquotas para a compatibilidade nas impressoras fiscais Bematech do Convênio ICMS 85/01 e anteriores, caso esteja utilizando a dll BemaFI32 versão 7 ou superior.

Aliquota01= | Informar nesta chave o valor percentual da alíquota que está cadastrada na posição 01 na impressora fiscal.
Aliquota02= | Informar nesta chave o valor percentual da alíquota que está cadastrada na posição 02 na impressora fiscal.
Aliquota03= | Informar nesta chave o valor percentual da alíquota que está cadastrada na posição 03 na impressora fiscal.
Aliquota04= | Informar nesta chave o valor percentual da alíquota que está cadastrada na posição 04 na impressora fiscal.
Aliquota05= | Informar nesta chave o valor percentual da alíquota que está cadastrada na posição 05 na impressora fiscal.
Aliquota06= | Informar nesta chave o valor percentual da alíquota que está cadastrada na posição 06 na impressora fiscal.
Aliquota07= | Informar nesta chave o valor percentual da alíquota que está cadastrada na posição 07 na impressora fiscal.
Aliquota08= | Informar nesta chave o valor percentual da alíquota que está cadastrada na posição 08 na impressora fiscal.
Aliquota09= | Informar nesta chave o valor percentual da alíquota que está cadastrada na posição 09 na impressora fiscal.
Aliquota10= | Informar nesta chave o valor percentual da alíquota que está cadastrada na posição 10 na impressora fiscal.
Aliquota11= | Informar nesta chave o valor percentual da alíquota que está cadastrada na posição 11 na impressora fiscal.
Aliquota12= | Informar nesta chave o valor percentual da alíquota que está cadastrada na posição 12 na impressora fiscal.
Aliquota13= | Informar nesta chave o valor percentual da alíquota que está cadastrada na posição 13 na impressora fiscal.
Aliquota14= | Informar nesta chave o valor percentual da alíquota que está cadastrada na posição 14 na impressora fiscal.
Aliquota15= | Informar nesta chave o valor percentual da alíquota que está cadastrada na posição 15 na impressora fiscal.
Aliquota16= | Informar nesta chave o valor percentual da alíquota que está cadastrada na posição 16 na impressora fiscal.

Seção [ModoRemoto]

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

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

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

Seção [MFD]

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

IMPORTANTE

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

Seção [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 [SoftwareHouse]

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

COO= | Refere-se ao Contador de Ordem de Operação do último cupom impresso, antes da atualização da dll, com até 6 posições.
NumeroAplicativo= | Refere-se ao número de ordem do aplicativo, com até 2 posições.
CNPJ= | Refere-se ao CNPJ/CPF da Software House/desenvolvedor autônomo, com até 14 posições.
IE= | Refere-se a Inscrição Estadual da Software House, com até 14 posições.
IM= | Refere-se a Inscrição Municipal da Software House, com até 14 posições (opcional).
RazaoSocial= | Refere-se ao nome comercial (razão social/denominação) da Software House, com até 40 posições.
NomeAplicativo= | Refere-se ao nome do aplicativo, com até 40 posições.
Versao= | Refere-se a versão do aplicativo, com até 10 posições.
Linha1= | Refere-se aos dados do programa aplicativo, com até 42 posições (opcional).
Linha2= | Refere-se aos dados do programa aplicativo, com até 42 posições (opcional).

Seção [ECF]

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

IM=

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

UF=

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

Importante:

· Se esta chave estiver igual a SP (UF=SP), será controlada automaticamente a geração do arquivo da CAT-52 (Nota Fiscal Paulista) pela dll, após a emissão da RZ. Isso também se aplica para a Nota Fiscal Alagoana e Rondoniense.

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

· Se esta chave estiver igual a MG (UF=MG), será controlada pela dll a impressão da linha "MINAS LEGAL: 99999999ddmmaaaa8888888" no campo referente à mensagem promocional no cupom fiscal, desde que haja pelo menos uma linha disponível para tal.

· Se esta chave estiver igual a DF1 (UF=DF1), será controlada pela dll a impressão da linha referente a "NOTA LEGAL" do estado do Distrito Federal para as empresas que não participam do programa de cidadania. Se esta chave estiver igual a DF2 (UF=DF2), será controlada pela dll a impressão da linha referente a "NOTA LEGAL" do estado do Distrito Federal para as empresas que participam do programa de cidadania.

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.

Conteúdo do arquivo BemaFI32.ini:

;----------------------------------------------------------------------------;

; ;

; BEMAFI32.INI ;

; Ver 7.0.0.0 - Janeiro/2013 ;

; ;

; Arquivo de inicializacao da dll BemaFI32 para as impressoras fiscais ;

; MP-20 FI II, MP-40 FI II, MP-2000 FI TH, MP-2100 TH FI, MP-3000 TH FI ;

; MP-4000 TH FI, MP-6000 FI TH, MP-6100 TH FI, MP-7000 TH FI, MP-25 FI e ;

; MP-50 FI. ;

; ;

;----------------------------------------------------------------------------;

[Sistema]

Porta=COM5

Path=C:\

Status=0

Retorno=0

BaudRate=9600

ProtocoloUnico=1

StatusFuncao=0

ControlePorta=1

ModeloImp=BEMATECH

ConfigRede=0

ModoGaveta=0

Log=1

LogDiario=1

CrLfVinculado=1

CrLfGerencial=1

TimeOutGerencial=40

EmulMFD=0

StatusCheque=

CalculoIcmsCupom=0

ForceWTSClient=1

RetriesWTSCmd=3

HabilitaRFDImpMFD=0

GerarRFD=0

CupomAdicional=0

Tentativas=10

WakMilisegundos=40

TimeoutSegundos=20

[Aliquotas]

Aliquota01=

Aliquota02=

Aliquota03=

Aliquota04=

Aliquota05=

Aliquota06=

Aliquota07=

Aliquota08=

Aliquota09=

Aliquota10=

Aliquota11=

Aliquota12=

Aliquota13=

Aliquota14=

Aliquota15=

Aliquota16=

[ModoRemoto]

IP=

Porta=

[MFD]

Impressora=1

StatusErro=1

TimeOutZ=99

[Opcional]

Favorecido=

Cidade=

[SoftwareHouse]

COO=

NumeroAplicativo=

CNPJ=

IE=

IM=

RazaoSocial=

NomeAplicativo=

Versao=

Linha1=

Linha2=

[ECF]

IM=

UF=

[Formato]

;

; +------------------------------------- coluna do valor numerico

; | +---------------------------------- coluna extenso 1

; | | +------------------------------- coluna extenso 2

; | | | +---------------------------- coluna favorecido

; | | | | +------------------------- coluna da cidade

; | | | | | +---------------------- coluna do dia

; | | | | | | +------------------- coluna do mes

; | | | | | | | +---------------- coluna do ano

; | | | | | | | | +------------- linha do valor numerico

; | | | | | | | | | +---------- linha do extenso 1

; | | | | | | | | | | +------- linha do extenso 2

; | | | | | | | | | | | +---- linha do favorecido

; | | | | | | | | | | | | +- linha da cidade/data

; | | | | | | | | | | | | |

000=51,04,01,05,06,60,65,81,01,06,08,11,14

001=51,10,01,06,18,50,54,71,02,05,08,10,12

003=49,08,01,05,18,52,55,72,01,05,07,09,12

004=52,09,01,05,18,50,53,72,02,06,09,11,13

006=56,10,01,05,15,43,48,72,01,06,08,10,13

008=56,17,01,07,18,50,55,71,03,06,09,11,13

021=52,12,01,04,18,49,53,71,02,07,09,11,13

022=52,07,01,04,15,44,49,71,02,06,08,10,13

024=51,07,01,05,18,48,52,72,01,05,07,09,12

027=51,10,01,06,18,50,54,71,02,05,08,10,12

028=55,06,01,05,18,50,53,71,01,05,08,10,12

029=55,12,01,04,18,50,55,72,01,06,08,10,13

031=51,10,01,06,18,50,54,71,02,05,08,10,12

032=51,10,01,06,18,50,54,71,02,05,08,10,12

033=48,17,01,06,18,46,50,71,02,06,08,11,13

034=49,14,01,04,15,45,57,71,01,05,07,09,11

035=51,10,01,06,18,50,54,71,02,05,08,10,12

036=51,10,01,06,18,50,54,71,02,05,08,10,12

037=51,10,01,06,18,50,54,71,02,05,08,10,12

038=56,10,01,04,18,51,56,72,02,07,10,12,14

039=51,10,01,06,18,50,54,71,02,05,08,10,12

041=56,09,01,04,18,54,61,72,03,07,09,12,14

047=52,08,01,05,18,47,50,72,01,05,07,10,12

048=51,10,01,06,18,50,54,71,02,05,08,10,12

059=50,15,01,05,18,55,59,72,01,05,07,09,11

070=54,05,01,05,18,48,52,72,02,06,08,10,12

104=56,13,01,04,18,48,53,72,01,04,07,10,12

106=52,12,01,05,18,52,55,71,02,07,09,11,13

151=54,06,01,04,18,47,52,71,01,05,07,10,12

153=51,09,01,05,18,51,55,72,01,05,08,10,13

168=53,05,01,05,18,54,57,71,02,06,08,11,13

200=52,06,01,05,18,47,52,71,01,05,07,10,12

201=52,11,01,04,18,47,51,71,01,05,07,09,11

206=56,14,01,06,18,53,56,72,01,06,08,10,13

207=50,04,01,05,18,48,52,71,02,06,08,11,13

211=48,11,01,05,18,52,56,71,03,07,09,12,14

215=55,06,01,05,18,51,54,71,02,05,08,10,13

220=56,09,01,05,18,49,53,71,02,05,08,10,12

230=50,12,01,05,18,54,58,71,02,05,08,10,13

231=52,12,01,05,18,53,58,72,02,06,08,10,12

237=50,01,01,04,18,50,54,71,02,06,09,11,14

244=48,14,01,04,18,49,53,71,03,06,09,11,13

254=51,09,01,05,18,53,56,71,01,05,08,11,14

275=51,07,01,04,18,46,52,68,03,08,10,12,14

282=56,12,01,05,18,50,54,71,02,06,08,10,13

291=51,10,01,06,18,50,54,71,02,05,08,10,12

294=51,10,01,06,18,50,54,71,02,05,08,10,12

302=51,07,01,05,18,47,51,71,02,06,08,10,13

308=51,10,01,06,18,50,54,71,02,05,08,10,12

320=54,06,01,04,18,48,51,72,02,05,08,10,13

334=54,06,01,04,18,54,57,71,02,06,08,10,12

341=54,08,01,05,18,50,54,72,02,06,09,12,15

346=54,12,01,05,18,54,57,71,02,05,08,10,12

347=53,15,01,04,18,47,51,72,02,06,09,11,14

351=52,14,01,05,18,55,58,72,01,05,07,10,12

353=52,07,01,05,18,53,58,71,02,05,07,10,12

356=51,10,01,06,18,50,54,71,02,05,08,10,12

369=47,07,01,05,18,51,55,71,02,06,08,10,12

370=52,06,01,05,18,47,50,71,01,05,07,10,12

372=51,07,01,04,18,46,49,71,02,06,08,11,13

376=54,07,01,04,18,54,58,72,02,06,08,10,12

388=46,09,01,06,18,48,52,72,02,06,09,11,14

389=52,06,01,05,18,53,58,72,02,07,09,12,14

392=49,12,01,05,18,54,58,72,02,05,07,11,13

394=51,05,01,05,18,51,55,71,01,05,07,09,13

399=54,12,01,04,18,52,57,72,01,05,07,10,12

409=55,12,01,04,23,52,58,71,04,07,09,11,13

415=54,12,01,06,18,50,54,72,03,07,10,12,14

420=54,08,01,04,18,50,54,72,02,06,08,10,13

422=51,10,01,06,18,50,54,71,02,05,08,10,12

424=51,10,01,06,18,50,54,71,02,05,08,10,12

434=56,08,01,05,18,50,54,72,02,06,09,11,13

453=54,12,01,05,18,51,56,72,03,07,10,12,14

456=48,11,01,05,18,47,50,71,02,06,08,10,12

464=51,10,01,06,18,50,54,71,02,05,08,10,12

472=53,12,01,05,18,50,53,71,02,06,09,10,14

477=55,08,01,05,18,52,57,72,03,07,09,11,14

479=53,07,01,05,18,50,53,71,02,06,08,10,12

483=52,08,01,05,18,47,50,71,02,05,07,09,11

487=58,17,01,05,18,48,52,72,02,06,08,11,13

494=51,09,01,05,18,50,53,71,02,06,08,10,13

602=56,10,01,03,18,47,52,66,02,05,07,10,13

603=51,10,01,06,18,50,54,71,02,05,08,10,12

607=51,09,01,05,18,53,56,72,02,05,08,10,12

610=55,15,01,05,18,53,58,71,01,06,08,10,12

630=49,05,01,05,18,47,52,71,01,06,08,10,13

718=51,07,01,05,18,48,53,71,01,06,08,10,13

756=51,10,01,06,18,50,54,71,02,05,08,10,12

995=51,10,01,06,18,50,54,71,02,05,08,10,12

996=51,10,01,06,18,50,54,71,02,05,08,10,12

998=80,03,01,04,22,54,60,80,03,05,06,08,10

[FormatoYanco]

999=61,12,02,03,23,50,61,78,04,09,13,18,22,10

000=38,03,03,03,00,11,35,78,12,17,22,26,31,05

001=61,12,02,03,23,50,61,78,04,09,13,18,22,10

003=60,14,02,04,26,54,63,78,12,22,31,44,53,05

004=62,10,00,01,19,47,60,78,08,22,35,44,53,05

006=62,10,00,01,20,47,60,78,07,22,35,44,53,05

007=61,10,01,02,19,47,60,76,04,09,14,18,22,10

008=59,17,05,06,25,53,62,78,07,11,16,20,24,10

020=62,10,00,01,20,47,60,78,07,22,35,44,53,05

021=62,10,00,01,19,47,60,78,08,22,35,44,53,05

022=61,15,03,06,25,53,61,78,07,21,30,39,52,05

024=62,10,00,01,19,47,60,78,08,22,35,44,53,05

026=62,10,00,01,20,47,60,78,07,22,35,44,53,05

027=61,10,00,01,20,47,60,78,04,09,15,18,22,10

028=61,10,01,01,20,47,60,78,04,09,15,18,22,10

029=63,13,01,03,26,53,62,78,07,25,35,44,56,05

030=62,10,00,01,19,47,60,78,03,09,14,18,21,10

031=61,17,03,05,22,50,60,78,13,23,37,46,54,05

032=62,11,00,01,20,47,60,78,07,21,35,44,53,05

033=56,15,02,04,22,49,59,78,05,11,14,18,23,10

034=62,10,00,01,20,47,60,78,07,23,36,45,54,05

035=62,10,00,00,22,49,60,78,04,09,15,18,22,10

036=62,12,02,03,23,50,61,78,07,16,29,39,48,05

037=62,10,00,01,20,47,60,78,07,22,35,44,54,05

038=60,11,01,02,22,50,60,78,12,26,39,49,58,05

039=62,10,00,01,20,47,60,78,07,22,35,44,53,05

041=60,11,02,04,26,53,63,77,07,11,16,20,24,20

043=62,10,00,01,20,47,60,78,07,22,35,44,53,05

047=62,10,00,01,20,47,60,78,07,22,35,44,54,05

048=59,10,01,02,22,49,59,78,11,26,35,44,57,05

059=62,10,00,01,20,47,60,78,07,22,35,44,54,05

070=62,10,00,01,20,47,60,78,07,21,35,44,53,05

104=59,17,02,03,27,54,64,78,04,09,13,17,20,10

106=63,13,02,03,25,53,62,78,08,26,34,49,57,05

109=62,10,00,01,19,47,60,78,08,22,35,44,53,05

111=62,10,00,01,20,47,60,78,07,22,35,44,53,05

113=62,10,00,01,20,47,60,78,07,22,35,44,53,05

116=62,10,00,01,20,47,60,78,07,22,35,44,53,05

148=62,10,00,01,20,47,60,78,07,22,35,44,53,05

150=62,11,00,01,20,47,60,78,07,21,35,44,53,05

151=61,12,02,02,23,50,60,78,07,21,30,39,48,05

152=63,11,00,01,20,47,60,78,04,09,15,18,22,10

153=64,13,02,04,25,52,62,78,04,09,15,18,22,10

164=62,10,00,01,20,47,60,78,07,22,35,44,53,05

165=62,10,00,01,20,47,60,78,07,22,35,44,53,05

166=62,10,00,01,20,47,60,78,07,22,35,44,53,05

168=59,11,01,02,24,51,62,78,12,26,35,44,53,05

171=62,10,00,01,20,47,60,78,07,22,35,44,53,05

175=62,10,00,01,20,47,60,78,07,22,35,44,53,05

184=62,10,00,01,20,47,60,78,07,22,35,44,53,05

200=58,12,01,02,24,52,59,78,08,25,39,52,65,05

201=59,14,02,03,21,48,60,78,12,21,30,39,52,05

202=62,10,00,01,20,47,60,78,07,22,35,44,53,05

204=62,10,00,01,20,47,60,78,07,22,35,44,53,05

205=61,10,00,01,18,47,60,78,08,24,38,47,55,05

206=59,17,02,03,26,54,64,78,11,21,30,39,52,05

207=62,11,01,02,20,47,61,78,04,09,14,18,22,10

208=62,07,10,00,01,20,47,60,78,22,35,44,53,05

209=62,10,00,01,20,47,60,78,07,22,35,44,53,05

210=62,10,00,01,20,47,60,78,07,22,35,44,53,05

211=62,10,00,01,20,47,60,78,07,22,35,44,53,05

212=61,10,01,02,20,47,60,78,04,10,15,19,22,10

213=62,10,00,01,20,47,60,56,78,07,22,35,44,05

214=62,10,00,01,20,47,60,78,07,22,35,44,53,05

215=57,16,02,04,22,49,60,78,12,26,35,44,52,05

216=62,10,00,01,20,47,60,78,07,22,35,44,53,05

217=62,10,00,01,20,47,60,78,07,22,35,44,53,05

219=62,10,00,01,19,47,60,78,08,22,35,44,53,05

220=62,10,00,01,20,47,60,78,07,22,35,44,53,05

221=62,10,00,01,20,47,60,78,07,22,35,44,53,05

222=62,10,00,01,20,47,60,78,07,22,35,44,53,05

223=62,10,00,01,19,47,60,78,08,22,35,44,53,05

224=62,10,00,01,20,47,60,78,07,22,35,44,53,05

225=62,10,00,01,20,47,60,78,07,22,35,44,53,05

226=61,10,00,01,19,47,60,78,08,22,35,44,53,05

229=62,10,00,01,19,47,60,78,08,22,35,44,53,05

230=60,14,01,02,26,53,63,78,11,26,35,44,57,05

233=62,10,00,01,19,47,60,78,08,22,35,44,53,05

237=58,13,00,02,22,50,61,78,06,11,16,20,23,10

239=62,10,00,01,19,47,60,78,08,22,35,44,53,05

242=62,10,00,01,19,47,60,78,08,22,35,44,53,05

251=62,10,00,01,19,47,60,78,08,22,35,44,53,05

252=62,10,00,01,19,47,60,78,08,22,35,44,53,05

254=62,10,00,01,19,47,60,78,07,22,35,44,53,05

267=62,10,00,01,20,47,60,78,03,09,15,18,21,10

275=59,11,04,03,23,51,60,78,05,13,18,22,25,20

291=57,16,03,04,23,49,59,78,06,11,15,18,22,10

294=60,14,02,04,27,54,63,78,12,21,31,44,53,05

334=61,13,02,03,24,54,64,78,04,09,13,16,20,10

341=58,11,03,04,25,53,62,78,04,11,16,20,25,10

347=59,14,01,03,26,53,63,78,10,25,35,44,56,05

351=62,16,01,03,26,53,62,78,07,21,32,40,52,05

353=70,01,01,01,36,54,63,80,02,06,10,14,17,10

361=62,10,00,01,20,47,60,78,07,22,35,44,53,05

366=59,15,02,02,23,50,61,78,12,25,39,48,57,05

369=61,12,02,03,23,50,62,78,08,21,35,44,53,05

389=61,13,04,04,26,54,63,78,13,30,40,53,61,05

392=60,14,02,03,21,48,60,78,11,25,34,43,56,05

399=62,21,05,06,26,53,63,78,04,09,13,18,22,10

409=57,19,04,06,23,51,61,78,07,13,16,20,23,10

412=62,11,00,01,20,47,60,78,09,21,34,44,54,05

415=61,16,03,04,25,53,62,77,05,11,16,20,23,10

434=61,14,03,09,24,51,61,78,05,09,14,18,23,10

477=62,13,03,06,26,53,61,78,07,12,16,22,25,10

479=61,13,01,03,22,50,60,78,04,09,13,17,22,10

605=60,13,02,04,26,54,63,78,12,21,30,44,53,05

[Copia]

Banco=

Valor=

Favorecido=

Cidade=

Data=

ImpressaoVerso=

Linhas=

Mensagem=

[RelatorioTipo60]

COOInicial=

COOFinal=

GTInicial=

GTFinal=

[TEF]

REQ=C:\TEF_DIAL\REQ

RESP=C:\TEF_DIAL\RESP

STATUS=0

LINHAS=74

BYTES=0

VIAS=1

[CONFIG]

InicioDia=0

DATARED=

TOTSUPR=

MOEDASING=Real

MOEDAPLU=Reais

[ReducaoYanco]

GT=

COO=

CANC=

ACRE=

DESC=

ALIQ=

SANG=

SUPR=

TOTPARC=

TOTNSUJ=

CONTNSU=

CONTOPN=

NUMALIQ=

DATAMOV=

[Info]

StampVinculado=

StampGerencial=


Declarando a DLL

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.

ECF

þ Declaraç ã o em Visual Basic

þ Declaraç ã o em Delphi

þ Declaraç ã o em Visual Fox Pro

þ Declaraç ã o em C# (C Sharp)

þ Declaraç ã o em JAVA

NFCe

þ Declaração em Visual Basic

þ Declaração em Delphi

þ Declaração em C#

þ Declaração em JAVA

SAT

þ Declaração em Visual Basic

þ Declaração em Delphi

þ Declaração em C#

þ Declaração em JAVA


Instalando a porta USB para comunicação através da DLL

Instalando a porta USB para comunicação através da DLL

Os modelos de impressoras fiscais térmicas Bematech (MP-2100 TH FI, MP-3000 TH FI, MP-4000 TH FI e MP-7000 TH FI), possuem interface USB para comunicação do aplicativo comercial.

A BemaFI32.dll permite que o aplicativo realize as operações com a impressora fiscal (através de suas funções), via USB, sem a necessidade de modificações, totalmente transparente. Basta instalar a porta USB através do driver disponível no pacote da DLL.

Veja os passos de como proceder com esta instalação e de como configurar o arquivo BemaFI32.ini:

· Instalando a porta USB

Ao conectar a impressora fiscal na USB, o Windows irá detectá-la automaticamente, porém exibirá na bandeja (relógio) uma mensagem de que houve problemas durante a instalação do hardware, devido a não existir na base do Windows o driver correspondente, sendo este procedimento absolutamente normal.

Então, é necessário selecionar o driver USB correspondente para a impressora fiscal e instalá-lo, seguindo os passos descritos abaixo:

1) Acesse o "Gerenciador de dispositivos" do Windows. A janela abaixo irá surgir:

- Clique com o botão direito do mouse sobre o item "Suporte de impressão USB" que está destacado com um símbolo de exclamação e escolha a opção "Atualizar driver...";

- Na janela que surge, escolha a opção "Não, não agora" e clique em "Avançar >";

- Nesta janela, escolha "Instalar de uma lista ou local específico (avançado)" e clique em "Avançar >";

- Escolha a opção "Não pesquisar. Escolherei o driver a ser instalado." e clique em "Avançar >".

- Nesta janela, clique em "Com disco..." e procure pela pasta onde foi descompactado o pacote da DLL contendo os arquivos "usbio.inf" e "usbio.sys". Selecione o arquivo "usbio.inf" e clique em "OK";

- Nesta janela, temos o nome do driver a ser instalado. Clique em "Avançar >". O driver entra em processo de instalação.

- Ao terminar, basta clicar em "Concluir" para finalizar o processo de instalação.

Será exibida na lista de dispositivos a porta "Bematech USBIO Device", efetivando a instalação.

Observação: Para ter certeza de que a instalação foi bem sucedida, ao desligar a impressora o dispositivo "Bematech USBIO Device" irá sumir da lista e ao ligar a impressora ele irá surgir.

· Configurando o arquivo BemaFI32.ini

Após realizada a instalação da porta USB (Bematech USB Device), abra o arquivo BemaFI32.ini e localize a chave "Porta". Nesta chave, modifique seu valor para USB (Porta=USB). Desta forma, o aplicativo comercial irá se comunicar com a impressora, através da BemaFI32.dll, via USB.


Gerando a lib para Borland C++ Builder

Gerando a lib para Borland C++ Builder

Para utilizar a BemaFI32.dll na linguagem de programação C++ Builder da Borland, é necessário criar uma lib a partir da dll. Para isso, use o comando "IMPLIB".

IMPLIB BemaFI32.lib BemaFI32.dll

- Para maiores informações consulte a documentação da linquagem.


Histórico de Versões

Histórico de Versões

Criamos este tópico para apresentar as implementação/correções ocorridas nas versões da BemaFI32.dll.

versão 5.3.0.0

- Arquivo BemaFI32.ini

•

O arquivo de configuração da DLL não precisa estar no diretório de sistema do Windows (Windows\System ou Windows\System32). Ele pode ser distribuído, juntamente com a dll, no mesmo diretório da aplicação. Caso o arquivo BemaFI32.ini não esteja, juntamente com a dll, o default de procura será o diretório de sistema do Windows.

- Pacote JAVA atualizado

•

Foram implementadas melhorias na classe JAVA de acesso às impressoras fiscais Bematech, através da BemaFI32.dll. Agora, existe um pacote chamado Bematech.jar, o qual contém todas as classes utilizadas para realizar as operações com a impressora. Basta adicionar no projeto Java o arquivo Bematech.jar e a seguinte linha de código à classe do projeto: import bemajava.*;

- Log Diário

•

Foi criada a chave "LogDiario" no arquivo BemaFI32.ini que possibilita a geração do arquivo "BemaFI32.log" diariamente, ou seja, a dll irá criar um arquivo BemaFI32-AAAAMMDD.log com as operações realizadas entre sua aplicação -> dll -> impressora, permitindo uma maior depuração de possíveis erros que possam ocorrer. Serão mantidos apenas os 7 últimos logs gerados, sendo os anteriores apagados - sempre logs semanais. Essa configuração só terá efeito se a chave Log também estiver habilitada (Log=1).

- CrLfVinculado e CrLfGerencial

•

Criamos as chaves "CrLfVinculado" e "CrLfVinculado" no arquivo BemaFI32.ini que permite ativar ou desativar o envio dos caracteres LF+CR pela dll. Se sua aplicação já envia estes caracteres, juntamente com as linhas do texto para o cupom não fiscal vincula ou relatório gerencial, estas chaves podem ficar desativadas no arquivo BemaFI32.ini (CrLfVinculado=0 e CrLfVinculado=0). Mas, se você deseja que a dll controle o envio destes caracteres automaticamente, estas chaves devem estar ativadas. O envio destes caracteres para salto de linha, terá efeitos nas funções Bematech_FI_UsaComprovanteNaoFiscalVinculado e Bematech_FI_RelatorioGerencial.

- TimeOutGerencial

•

É possível controlar o timeout de retorno da dll, quando é realizada a impressão do relatório gerencial nas impressoras fiscais modelo MP-20 FI II e MP-40 FI II. Estes modelos imprimem uma Leitura X (exigido por lei) antes do inicio da impressão do relatório gerencial. O valor default é 40 segundos, podendo ser configurado até 120 segundos.

- Bematech_FI_EfetuaFormaPagamentoIndiceDescricaoForma

•

Função implementada para efetuar a forma de pagamento, através de seu índice, permitindo o envio de um texto adicional.

- Bematech_FI_AtivaDesativaCancelamentoCupom2HorasMFD

•

Função implementada para ativar ou desativar o cancelamento do cupom fiscal que é realizado pela impressora, automaticamente quando é impressa a redução Z, às 02:00 horas. Se esta opção for desativada, a impressora não cancelará o cupom fiscal que se encontra aberto, quando a mesma for emitir a redução Z às 02:00 horas (caso esteja habilitada para emitir a redução Z automaticamente), permitindo que a aplicação encerre o cupom para posteriormente emitir a redução Z. Esta função está disponível para a impressora fiscal térmica MP-2000 TH FI versão 01.03.03 e superior, ou MP-2100 TH FI.

- Bematech_FI_VerificaCancelamentoCupom2HorasMFD

•

Função implementada para verificar se o flag de cancelamento está habilitado ou não. Esta função está disponível para a impressora fiscal térmica MP-2000 TH FI versão 01.03.03 e superior, ou MP-2100 TH FI.

Bematech_FI_NumeroSerieCriptografado

•

Função implementada para retornar o número de série da impressora fiscal, já criptografado. Para os modelos MP-25 FI, MP-50 FI, MP-2000 TH FI, MP-2100 TH FI e MP-6000 TH FI, a chave "Impressora" deve estar igual a 1 (Impressora=1) no arquivo de configuração BemaFI32.ini para que o número de série retornado seja de 20 caracteres para a criptografia. Caso esta chave esteja igual a 0 (Impressora=0), serão retornados apenas 15 caracteres para a criptografia.

- Bematech_FI_NumeroSerieDescriptografado

•

Função implementada para descriptografar o número de série, criptografado a partir da função Bematech_FI_NumeroSerieCriptografado.

versão 5.3.1.0

•

Versão gerada após correção do erro de comunicação durante a leitura das formas de pagamento usando o emulado

versão 5.3.4.0

•

Alterada a variável de envio de comandos para o Bematech Monitor de global para local.

versão 5.3.5.0

•

Alterada a função Bematech_FI_VendaBruta para calcular a venda bruta lendo as informações dos totalizadores parciais, quando os dados da ultima redução z estiverem zerados.

•

Compatibilizada a função Bematech_FI_EfetuaFormaPagamentoImpAntiga e Bematech_FI_ReducaoZImpAntiga com as impressoras convenio 85.

versão 5.3.6.0

•

Implementado o fechamento e abertura da porta de comunicação quando ocorre erro ao enviar o comando para a impressora.

•

Melhorado o tratamento de timeout da redução z. Se for impressora Térmica desconsidera a configuração do ini (TimeOutZ), fica aguardando enquanto a impressora estiver retornando busy

versão 5.3.7.0

•

Implementado o suporte a MP-2100 TH FI nas funções Bematech_FI_RelatorioSintegraMFD e Bematech_FI_GeraRelatorioSintegraMFD.

•

Implementada a leitura múltipla de dados para melhorar o desempenho na utilização do Windows Terminal Service.

versão 5.4.0.0

•

Incluido suporte a impressora MP-3000 TH FI.

•

Atualizada a função Bematech_FI_DadosSintegraMFD para suportar novo layout da leitura da memória fiscal.

•

Atualizada a função Bematech_FI_ModeloImpressora para suportar a MP-3000 TH FI.

•

Atualizado o arquivo .inf do driver USB para reconhecer o novo Vendor ID da Bematech atualizado na MP-3000 TH FI.

•

Corrigido o erro de comunicação na interface USB.

versão 5.4.1.0

•

Incluido suporte ao emulador da impressora MP-3000 TH FI (Emul3000).

•

Corrigido erro de comunicação, na função de redução Z, para plataforma Windows Terminal Server.

versão 5.5.0.0

•

Incluido suporte a geração dos registro da portaria CAT-52 do estado de SP.

versão 5.5.0.1

•

Correções na função Bematech_FI_LeituraXSerial.

versão 5.6.0.0

•

Correções nas rotinas de geração da RFD.

versão 5.6.1.0

•

Correções nas rotinas de geração da RFD.

•

Correções nas rotinas de uso do Bematech Monitor.

•

Suporte de geração da RFD para o emulador.

versão 5.6.7.1

•

Correções nas rotinas de geração da RFD.

•

Implementação do controle e geração do arquivo da portaria CAT-52 quando é realizada a redução z automática em todas as situações.

versão 5.7.0.0

•

Correções nas rotinas de geração da RFD.

•

Implementada a função Bematech_FI_GeraRegistrosCAT52MFD.

•

Implementado no arquivo BemaFI32.ini as chaves "ForceWTSClient" e "RetriesWTSCmd" para utilização com o driver Bematech Monitor

versão 5.8.0.0

•

Correções nas rotinas de geração da RFD.

•

Implementada a função Bematech_FI_TotalIcmsCupom.

•

Correções na função Bematech_FI_GeraRegistrosCAT52MFD quando usada em VB.

•

Implementada a função Bematech_FI_GeraRegistrosCAT52MFDEx.

•

Implementado os índices das funções Bematech_FI_GeraRegistrosCAT52MFD e Bematech_FI_TotalIcmsCupom para o Bematech Monitor.

versão 5.8.0.2

•

Correção de data na geração do arquivo rfd para as impressoras matriciais.

•

Implementada o alias curto para a função Bematech_FI_GeraRegistrosCAT52MFD (Bema_FI_GeraRegCAT52MFD).

versão 5.8.0.3

•

Implementado controle da CAT-52 para a impressora MP-20 FI II códigos 4008 e 4108.

versão 5.8.0.4

•

Correção da rotina de download das impressoras MFD para geração do Ato Cotepe 17/04.

versão 5.9.0.0

•

Implementada a compatibilização com as impressora fiscais modelo MP-7000 TH FI e IBM 4610-KN4.

•

Implementada a função Bematech_FI_ViraChequeMFD específica para estes dois modelos.

•

Implementada a Bematech_FI_AvancaPapelAcionaGuilhotinaMFD específica para estes dois modelos.

•

Implementada a Bematech_FI_ImprimeChequeMFDEx específica para estes dois modelos.

versão 5.9.0.1

•

Ajuste no time-out de download da MFD em impressoras térmicas, eliminando erros de comunicação, no processo de geração do arquivo do Ato Cotepe 17/04 para a NF Paulista.

versão 5.9.2.0

•

Implementado suporte a geração da CAT-52 para as impressoras matricias Eagle (Printer 2000 e Printer 2002)

versão 5.9.3.0

•

Corrigido o erro de alíquota não programada quando utilizado o Bematech Monitor com a geração da CAT52 desabilitada (UF=). Se a geração da CAT52 estivesse habilitada (UF=SP) o erro não ocorria.

•

Corrigido o erro "Exception java.lang.UnsatisfiedLinkError: bemajava.Bematech.CGC_IE" durante a chamada da função CGC_IE no módulo java Bematech.jar.

versão 5.9.7.0

•

Após a emissão de cupom fiscal as informações da impressora páram de ser retornadas no arquivo retorno.txt quando as chaves "Retorno" e "CalculoIcmsCupom" estão configuradas com o valor 1 no arquivo BemaFI32.ini.

•

Ao configurar a chave "ForceWTSClient" com o valor 1 no arquivo BemaFI32.ini e executar qualquer comando, a dll gerava "Access Violation" no ambiente WTS (Windows Terminal Server).

•

Compatibilizada a função "Bematech_FI_VendeItemDepartamento" para a impressora MP-7000 TH FI

•

Impressora fiscal modelo MP-20 FI II código 4708 estava gerando o relatório da CAT-52 como impressora EAGLE.

versão 5.10.0.0

•

Implementado o modelo MP-4000 TH FI.

•

Implementadas as funções:

•

Bematech_FI_FlagsFiscais3MFD

•

Bematech_FI_VendeItemArredondamentoMFD

•

Bematech_FI_TotalIssCupomMFD

•

Bematech_FI_AbreSegundaViaNaoFiscalVinculadoMFD

•

Bematech_FI_AtivaDesativaGuilhotinaMFD

•

Bematech_FI_EstornoNaoFiscalVinculadoPosteriorMFD

•

Criada a chave HabilitaRFDImpMFD que permite a geração do arquivo .rfd para os modelos de impressoras fiscais térmicas.

versão 5.10.3.0

•

Foram atualizadas as seguintes funções:

•

Bematech_FI_GeraRegistrosCAT52MFDEx

•

Bematech_FI_TotalIcmsCupom

•

Realiza correção na função Bematech_FI_RetornoAliquotas para quando existem alíquotas "00,00%" cadastradas na impressora.

versão 5.10.4.3

•

Implementado Suporte a balanca Bematech SA-110.

•

Foram atualizadas as seguintes funções:

•

Bematech_FI_InfoBalanca

•

Implementadas as funções:

•

Bematech_FI_BaudRateBalanca

•

Bematech_FI_DataHoraGravacaoUsuarioSWBasicoMFAdicional

•

Implementado suporte RFD para todos os estados. Para gerar o arquivo .rfd, incluir no BemaFI32.ini a chave GerarRFD=0 na seção [Sistema].

versão 5.10.4.4

•

Geração RFD independente por estado. Implementação para suportar CAT52 no estado Alagoas.

•

Suporte a balança Bematech

•

Função para retornar a data do último usuário, a data do último sw básico e mf adicional (Bematech_FI_DataHoraGravacaoUsuarioSWBasicoMFAdicional)

versão 5.10.4.5

•

Correção bug na função Bematech_FI_ModeloImpressora que não identificava corretamente a impressora 4610 KN4 (IBM).

versão 5.10.4.6

•

Correção de bug na função Bematech_FI_DataHoraGravacaoUsuarioSWBasicoMFAdicional

versão 5.10.4.7

•

Compatibilidade da função Bematech_FI_DadosSintegraMFD para a impressora fiscal MP-4000 TH FI

versão 5.10.4.12

•

Implementado Alias com nomes curtos nas funções, para linguagens de programação que aceitam até 32 caracteres no nome

•

Compatibilidade da função Bematech_FI_DadosSintegraMFD na impressora fiscal MP-4000 TH FI

•

Correção no retorno da função Bematech_FI_StatusEstendidoMFD para o pacote Bematech.jar (Java)

•

Implementada a leitura arquivo BemaFI32.ini também para o diretório local

•

Alteração na abertura da porta serial da balança (função Bematech_FI_InfoBalanca) sem controle de fluxo

versão 5.10.6.1

•

Implementada as seguintes funções para o PAF-ECF:

- Bematech_FI_AbreDocumentoAuxiliarVenda

- Bematech_FI_UsaDocumentoAuxiliarVenda

- Bematech_FI_FechaDocumentoAuxiliarVenda

- Bematech_FI_TerminaFechamentoCupomPreVenda

- Bematech_FI_DAVEmitidosRelatorioGerencial

- Bematech_FI_DAVEmitidosArquivo

- Bematech_FI_LeituraMemoriaFiscalSerialDataPAFECF

- Bematech_FI_LeituraMemoriaFiscalSerialReducaoPAFECF

- Bematech_FI_EspelhoMFD

- Bematech_FI_ArquivoMFD

- Bematech_FI_IdentificacaoPAFECF

- Bematech_FI_GrandeTotalCriptografado

- Bematech_FI_GrandeTotalDescriptografado

- Bematech_FI_AbreRelatorioMeiosPagamento

- Bematech_FI_UsaRelatorioMeiosPagamento

•

Implementado controle para a emissão do total de ICMS no cupom fiscal, conforme exigência da legislação do Cupom Mania do estado do RJ.

versão 5.10.6.5

•

Funções modificadas:

- Bematech_FI_AbreDocumentoAuxiliarVenda

- Bematech_FI_DAVEmitidosRelatorioGerencial

- Bematech_FI_EspelhoMFD

- Bematech_FI_ArquivoMFD

- Bematech_FI_IdentificacaoPAFECF

- Bematech_FI_AbreRelatorioMeiosPagamaneto

- Bematech_FI_UsaRelatorioMeiosPagamaneto

- Bematech_FI_DataHoraGravacaoUsuarioSWBasicoMFAdicional

•

Funções implementadas:

- Bematech_FI_FechaRelatorioMeiosPagamento

- Bematech_FI_NomeiaRelatorioMeiosDePagamento

- Bematech_FI_NomeiaRelatorioDocumentoAuxiliarDeVenda

- Bematech_FI_NomeiaRelatorioDAVEmitidos

- Bematech_FI_NomeiaRelatorioIdentificacaoPAFECF

- Bematech_FI_NomeiaRelatoriosPAFECF

versão 5.10.6.7

- Correção na função Bematech_FI_IdentificacaoPAFECF referente a não impressão dos números de série quando não se tinha arquivos e md5s.

- Correção nas funções internas "BemaBPScale", "BemaCSScale" da balança.

- Correção nas funções Bematech_FI_GrandeTotalCriptografado e Bematech_FI_GrandeTotalDescriptografado para o Bematech Monitor.

versão 5.10.6.8

- Correções na função Bematech_FI_GrandeTotalCriptografado para Bematech Monitor

- Correções na função Bematech_FI_GeraRegistrosCAT52MFDEx para efetuar corretamente a assinatura digital dos arquivos gerados.

versão 5.10.6.9

- Corrigida função Bematech_FI_NomeiaRelatorioGerencialMFD, para tratar acentuação no nome de relatório gerencial.

- Implementado modelo MP-6000 TH FI na função Bematech_FI_DataHoraGravacaoUsuarioSwBasicoMFAdicional.

- Implementada a função Bematech_FI_AtivaDesativaSensorPoucoPapelMFD no pacote Bematech.jar.

- Incluido na geração do log as informações passadas como parâmetros nas funções Bematech_FI_ArquivoMFD e Bematech_FI_EspelhoMFD.

- Corrigida função Bematech_FI_DadosSintegraMFD para os modelos MP-2100 TH FI e MP-4000 TH FI.

- Correção na rotina de download que ocasionava problemas no Windows Vista e 7 (seven) pela USB.

- Funções de PAF-ECF atualizadas no pacote Java (Bematech.jar).

- Efetuada correção na dll BemaMFD2.dll, para gravar corretamente os dados dos registros E01 e E02 para o formato MF.

versão 5.10.7.0

- Implementada a função Bematech_FI_FormatoDadosMF

- Implementada a função Bematech_FI_GeraRegistrosSpedMFD

versão 5.10.8.0

- Melhoria na função Bematech_FI_GeraRegistrosSpedMFD modificando parâmetro Perfil de char para string.

- Correção na classe java para a função Bematech_FI_DataHoraGravacaoSWBasicoMFAdicional

- Melhorias na função Bematech_FI_GeraRelatorioSintegraMFD

- Melhoria na Bematech_FI_StatusEstendidoMFD para o status da impressora MP-4000 TH FI

versão 6.0.0.0

- Ato Cotepe 17/04: No relatório do tipo "MF" os campos "Nome" e "Endereço" do contribuinte serão preenchidos com espaços, pois estes dados são provenientes da MFD da impressora, não sendo informados para o tipo MF.

- Incluída rotina de verificação de assinatura digital do arquivo da CAT-52.

- Correção na função Bematech_FI_DataHoraGravacaoUsuarioSwBasicoMFAdicional quando usada com o Bematech Monitor.

- Criada a função Bematech_FI_GeraRegistrosSpedCompletoMFD.

versão 6.0.0.1

- Atualização do driver USB (USBIO.inf)

versão 6.1.0.0

- Melhoria nos registros gerados pela função de Sintegra - a função Bematech_FI_RelatorioSintegraMFD.

- Melhoria nos registros gerados pelas funções de SPED - as funções Bematech_FI_GeraRegistrosSpedMFD e Bematech_FI_GeraRegistrosSpedCompleto.

- Implementado o "Minas Legal".

versão 6.1.1.0

. Ajustes no layout do Minas Legal.

. Melhorias na função Bematech_FI_FlagsFiscais3MFD.

. Melhorias na identificação da impressora desligada.

. Ajustes no layout do Cupom Mania.

. Melhorias na função Bematech_FI_GeraRegistrosCAT52MFDEX com relação ao parâmetro Path.

. Atualização da nomenclatura do arquivo gerados pela função Bematech_FI_ArquivoMFD.

. Melhorias no layout da CAT52 (SP).

. Melhorias na função Bematech_FI_LeituraChequeMFD.

. Melhorias na função Bematech_FI_RelatorioSintegraMFD

. Melhorias nas funções de geração do SPED.

. Melhorias na função Bematech_FI_ArquivoMFD na geração dos arquivos do Ato Cotepe 17/04.

. Ajustes no layout do SPED.

versão 6.1.1.6

. Implementada a função Bematech_FI_VerificaZPendente.

. Implementada a função Bematech_FI_ArquivoMFDPath.

. Atualizada a função Bematech_FI_ArquivoMFD para geração do AC1704 por intervalor de RZ.

versão 6.1.2.0

. Melhorias na geração do arquivo .rfd para as impressoras matriciais.

. Melhorias na geração do retorno da função Bematech_FI_DataHoraGravacaoUsuarioSwBasicoMFAdicional

. Melhorias na função Bematech_FI_VerificaZPendente no pacote Bematech.jar.

. Melhorias na função Bematech_FI_FechamentoDoDia.

. Melhorias na função Bematech_FI_ArquivoMFD.

. Melhorias na função Bematech_FI_GeraRelatorioSintegraMFD.

. Criada funções para acesso direto.

versão 6.1.2.4

. Ajuste no Time out de impressão na função Bematech_FI_LeituraMemoriaFiscalReducaoMFD.

. Melhorias no download da MFD na USB.

. Melhorias na função de leitura do CMC-7.

. Melhorias na função Bematech_FI_ArquivoMFD quando usada com COO.

. Tratamento nas formas de pagamento que possuem acentuação.


Bematech_FI_AlteraSimboloMoeda

Bematech_FI_AlteraSimboloMoeda

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

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).

Observações:

· O cupom fiscal deve estar fechado.
· Será executada somente após uma Redução Z.
· Na impressora fiscal Bematech modelo MP-2100 TH FI, 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

Bematech_FI_EspacoEntreLinhas

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

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).

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_EspacoEntreLinhas(002)

// Exemplo em Delphi

iRetorno := Bematech_FI_EspacoEntreLinhas( 002 );


Bematech_FI_ForcaImpactoAgulhas

Bematech_FI_ForcaImpactoAgulhas

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

Parâmetro:

ForcaImpacto: INTEIRO com o valor da força de impacto das agulhas que pode ser:

1 &endash; Impacto fraco (default)

2 &endash; Impacto médio

3 &endash; 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).

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.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_ForcaImpactoAgulhas(2)

// Exemplo em Delphi

iRetorno := Bematech_FI_ForcaImpactoAgulhas( 2 );


Bematech_FI_LinhasEntreCupons

Bematech_FI_LinhasEntreCupons

Programa o espaçamento de linhas entre os cupons.

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).

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_LinhasEntreCupons(5)

// Exemplo em Delphi

iRetorno := Bematech_FI_LinhasEntreCupons( 5 );


Bematech_FI_NomeiaDepartamento

Bematech_FI_NomeiaDepartamento

Programa departamento na impressora.

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).

Observações:

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

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

Bematech_FI_NomeiaTotalizadorNaoSujeitoIcms

Programa Totalizador Não Sujeito ao ICMS.

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 ou antes do movimento de valor na impressora.
· Na impressora fiscal Bematech modelo MP-2100 TH FI o tamanho da descrição do totalizador foi reduzido para 15 caracteres. Para manter a compatibilidade, será aceito o tamanho de 19 caracteres, mas internamente a impressora registrará apenas os 15 primeiros caracteres.
· Na impressora fiscal Bematech modelo Mp-4200 TH FI somente será programado o totalizador na impressora a partir da posição "03", pois "01" corresponde ao "FUNDO DE TROCO" e "02" a "SANGRIA".

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

Bematech_FI_ProgramaAliquota

Programa alíquota tributária na Impressora Fiscal.

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).

Observações:

· O cupom fiscal deve estar fechado.
· 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

Bematech_FI_ProgramaArredondamento

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

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.
· 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

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.

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 haver 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

Bematech_FI_ProgramaTruncamento

Programa o modo truncamento na impressora.

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.
· 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

Bematech_FI_AbreCupom

Abre o cupom fiscal na impressora.

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ção:

· O cupom fiscal deve estar fechado.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_AbreCupom("11.111.111-11")

ou

iRetorno = Bematech_FI_AbreCupom("")

// Exemplo em Delphi

iRetorno := Bematech_FI_AbreCupom( pchar( cCPF ) );

ou

iRetorno := Bematech_FI_AbreCupom( pchar( '' ) );


Bematech_FI_AumentaDescricaoItem

Bematech_FI_AumentaDescricaoItem

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

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).

Observações:

· Esta função deve ser usada antes da função Bematech_FI_VendeItem
· Ela tem validade somente para a impressão de um item, voltando ao default que é de 29 caracteres na descrição do item.

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

Bematech_FI_UsaUnidadeMedida

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

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).

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.
· 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

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.

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.
· No modelo MP-4000 TH FI a unidade de medido padrão é "UN". Caso necessite informar outra sigla, utilize a função Bematech_FI_VendeItemDepartamento.

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

Bematech_FI_VendeItemDepartamento

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

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 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).

Observação:

· Obedece as mesmas situações descrita na função Bematech_FI_VendeItem.
· Deve ser informado "01" no parâmetro "IndiceDepartamento", obrigatoriamente, para os modelos de ECF térmicos, MP-25 FI e MP-50 FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_VendeItemDepartamento("123", "Caneta", "1200", "0,25", "10", "0", "0", "01", "UN")

// Exemplo em Delphi

cCodigo := '123';

cDescricao := 'Caneta';

cAliquota := '1200';

cValor := '0,250';

cQtde := '10,000';

cAcresc := '0';

cDesc := '0';

cIndice := '01';

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

Bematech_FI_CancelaItemAnterior

Cancela o último item vendido.

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 item 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

Bematech_FI_CancelaItemGenerico

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

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 item deve ter sido vendido
· O item não pode ter sido cancelado anteriormente e nem fora da faixa dos últimos itens vendidos.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_CancelaItemGenerico("005")

// Exemplo em Delphi

cNumeroItem := '005';

iRetorno := Bematech_FI_CancelaItemGenerico( pchar( cNumeroItem ) );


Bematech_FI_IniciaFechamentoCupom

Bematech_FI_IniciaFechamentoCupom

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

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.

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

Bematech_FI_EfetuaFormaPagamento

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.

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ção:

· O fechamento do cupom com formas de pagamento deve ter sido iniciado.

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

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.

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).

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.

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_EfetuaFormaPagamentoIndice

Bematech_FI_EfetuaFormaPagamentoIndice

Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s), através de seu(s) índice(s).

Parâmetros:

IndiceFormaPagamento: STRING com o índice da forma de pagamento com 2 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:

· 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_EfetuaFormaPagamentoIndice("01","75,00")

// Exemplo em Delphi

cIndiceFormaPgto := '01';

cValorPago := '75,00';

iRetorno := Bematech_FI_EfetuaFormaPagamentoIndice( pchar( cIndiceFormaPgto ), pchar( cValorPago ) );


Bematech_FI_EfetuaFormaPagamentoIndiceDescricaoForma

Bematech_FI_EfetuaFormaPagamentoIndiceDescricaoForma

Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s), atravé de seu índice, permite a impressão de comentários na(s) forma(s) de pagamento.

Parâmetros:

IndiceFormaPagamento: STRING com o índice da forma de pagamento com 2 caracteres.

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

DescricaoOpcional: STRING com um comentário 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).

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.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_EfetuaFormaPagamentoIndiceDescricaoForma("02","75,00","Vencimento em 15/02/02")

// Exemplo em Delphi

cFormaPgto := '02';

cValorPago := '75,00';

cDescricao := 'Vencimento em 15/02/02';

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


Bematech_FI_TerminaFechamentoCupom

Bematech_FI_TerminaFechamentoCupom

Termina o fechamento do cupom com mensagem promocional.

Importante:

· O campo referente a mensagem promocional também pode ser usado para imprimir a mensagem suplementar, conforme exigência do Convênio PAF-ECF.

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.
· Serão impressas 8 linhas de texto por 48 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

Bematech_FI_FechaCupom

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

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.

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

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.

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.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_FechaCupomResumido("Ticket", "Obrigado, volte sempre !!!")

// Exemplo em Delphi

cMsgPromocional := 'Obrigado, volte sempre !!!';

iRetorno := Bematech_FI_FechaCupomResumido( pchar( cFormaPgto ), pchar( cMsgPromocional ) );


Bematech_FI_CancelaCupom

Bematech_FI_CancelaCupom

Cancela o último cupom emitido.

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:

· Somente é permitido o cancelamento do cupom fiscal aberto ou imediatamente após o seu encerramento. Caso algum outro documento seja emitido, o cupom fiscal não será cancelado. Salvo se o documento for um Comprovante de Crédito/Débito e este tenha sido estornado.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_CancelaCupom()

// Exemplo em Delphi

iRetorno := Bematech_FI_CancelaCupom();


Bematech_FI_EstornoFormasPagamento

Bematech_FI_EstornoFormasPagamento

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

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).

Observação:

· O cupom fiscal deve estar encerrado.

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

Bematech_FI_LeituraX

Emite a Leitura X na impressora.

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

Bematech_FI_LeituraXSerial

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

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

Bematech_FI_LeituraMemoriaFiscalData

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

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

Bematech_FI_LeituraMemoriaFiscalReducao

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

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

Bematech_FI_LeituraMemoriaFiscalSerialData

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

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

Bematech_FI_LeituraMemoriaFiscalSerialReducao

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.

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

Bematech_FI_ReducaoZ

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

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.

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_AbreComprovanteNaoFiscalVinculado

Bematech_FI_AbreComprovanteNaoFiscalVinculado

Abre o comprovante não fiscal vinculado.

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.

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

Bematech_FI_UsaComprovanteNaoFiscalVinculado

Imprime o comprovante não fiscal vinculado.

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:

· 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.

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

Bematech_FI_FechaComprovanteNaoFiscalVinculado

Encerrar o comprovante não fiscal vinculado.

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_RelatorioGerencial

Bematech_FI_RelatorioGerencial

Imprime o relatório gerencial.

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.

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

Bematech_FI_FechaRelatorioGerencial

Encerra o relatório gerencial.

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_RecebimentoNaoFiscal

Bematech_FI_RecebimentoNaoFiscal

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

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_Sangria

Bematech_FI_Sangria

Faz uma sangria na impressora (retirada de dinheiro).

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_Suprimento

Bematech_FI_Suprimento

Faz um suprimento na impressora (entrada de dinheiro).

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).

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_Autenticacao

Bematech_FI_Autenticacao

Permite a autenticação de documentos.

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.
· 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".

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_Autenticacao()

// Exemplo em Delphi

iRetorno := Bematech_FI_Autenticacao();


Bematech_FI_ProgramaCaracterAutenticacao

Bematech_FI_ProgramaCaracterAutenticacao

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

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:

· 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.

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

Bematech_FI_AcionaGaveta

Abre a gaveta de dinheiro.

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

Bematech_FI_VerificaEstadoGaveta

Retorna se a gaveta está fechada ou aberta.

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 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.

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

Bematech_FI_Acrescimos

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

Parâmetro:

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

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(15)

iRetorno = Bematech_FI_Acrescimos(ValorAcrescimo)

// Exemplo em Delphi

for iConta := 1 to 15 do ValorAcrescimo := ValorAcrescimo + ' ';

iRetorno := Bematech_FI_Acrescimos( ValorAcrescimo );


Bematech_FI_Cancelamentos

Bematech_FI_Cancelamentos

Retorna o valor acumulado dos itens e dos cupons cancelados

Parâmetro:

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

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:

· É acrescido a este totalizador os cupons fiscais totalizados e cancelados.

Exemplo:

' Exemplo em Visual Basic

Cancelamentos = Space(15)

iRetorno = Bematech_FI_Cancelamentos(Cancelamentos)

// Exemplo em Delphi

for iConta := 1 to 15 do Cancelamentos := Cancelamentos + ' ';

iRetorno := Bematech_FI_Cancelamentos( Cancelamentos );


Bematech_FI_CGC_IE

Bematech_FI_CGC_IE

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

Parâmetros:

CGC: Variável string com 18 posições para receber o CGC + 1 posição para o NULL.

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

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(19)

IE = Space(16)

iRetorno = Bematech_FI_CGC_IE(CGC, IE)

// Exemplo em Delphi

for iConta := 1 to 19 do CGC := CGC + ' ';

for iConta := 1 to 16 do IE := IE + ' ';

iRetorno := Bematech_FI_CGC_IE( CGC, IE );


Bematech_FI_ClicheProprietario

Bematech_FI_ClicheProprietario

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

Parâmetro:

ClicheProprietario: Variável string com 186 posições para receber clichê cadastrado + 1 posição para o NULL.

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(187)

iRetorno = Bematech_FI_ClicheProprietario(ClicheProprietario)

// Exemplo em Delphi

for iConta := 1 to 187 do ClicheProprietario := ClicheProprietario + ' ';

iRetorno := Bematech_FI_ClicheProprietario( ClicheProprietario );


Bematech_FI_ContadorBilhetePassagem

Bematech_FI_ContadorBilhetePassagem

Retorna o número de bilhetes de passagem emitidos.

Parâmetro:

NumeroBilhetes: Variável string com 6 posições para receber o número de passagens emitidas + 1 posição para o NULL.

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

NumeroBilhetes = Space(7)

iRetorno = Bematech_FI_ContadorBilhetePassagem(NumeroBilhetes)

// Exemplo em Delphi

for iConta := 1 to 7 do NumeroBilhetes := NumeroBilhetes + ' ';

iRetorno := Bematech_FI_ContadorBilhetePassagem( NumeroBilhetes );


Bematech_FI_ContadoresTotalizadoresNaoFiscais

Bematech_FI_ContadoresTotalizadoresNaoFiscais

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

Parâmetro:

Contadores: Variável string com 44 posições para receber os contadores dos totalizadores + 1 posição para o NULL.

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írgula 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.

Exemplo:

' Exemplo em Visual Basic

Contadores = Space(45)

iRetorno = Bematech_FI_ContadoresTotalizadoresNaoFiscais(Contadores)

// Exemplo em Delphi

for iConta := 1 to 45 do Contadores := Contadores + ' ';

iRetorno := Bematech_FI_ContadoresTotalizadoresNaoFiscais( Contadores );


Bematech_FI_DadosUltimaReducao

Bematech_FI_DadosUltimaReducao

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

Parâmetro:

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

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:

· 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 (incluindo as 2 casas decimais)
Cancelamentos.............................: | 14 bytes (incluindo as 2 casas decimais)
Descontos.................................: | 14 bytes (incluindo as 2 casas decimais)
Tributos..................................: | 64 bytes (16 alíquotas X 4 dígitos cada)
Totalizadores Parciais Tributados.........: | 266 bytes (valor acumulado na alíquota, incluindo as de Isenção (II) de Não incidência (NN) e de Substituição Tributária (FF). São 16 alíquotas mais 3 (II, NN, FF), um total de 19 alíquotas. São 14 dígitos para o valor (incluindo as 2 casas decimais). 19x14 (19 Alíquotas de 14 dígitos cada uma) que estam na seguinte ordem: 16 Alíquotas (224 bytes) depois II, NN, FF (42 bytes))
Sangria...................................: | 14 bytes (incluindo as 2 casas decimais)
Suprimentos...............................: | 14 bytes (incluindo as 2 casas decimais)
Totalizadores não sujeitos ao ICMS........: | 126 bytes (9 Totalizadores Não Fiscais, com 14 dígitos (incluindo as 2 casas decimais))
Contadores dos TP's não sujeitos ao ICMS..: | 36 bytes (contador que indica quanto cada Totalizador Não Fiscal foi utilizado. 9x4 (9 totalizadores de 4 dígitos cada))
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 que foi concedido na venda do item ou no fechamento do cupom fiscal, com 14 dígitos (incluindo as 2 casas decimais))
Acréscimo financeiro......................: | 14 bytes (totalizador extinto nas versões 3.10 ou posterior, das Impressoras fiscals)

Exemplo:

' Exemplo em Visual Basic

DadosReducao = Space(632)

iRetorno = Bematech_FI_DadosUltimaReducao(DadosReducao)

// Exemplo em Delphi

for iConta := 1 to 632 do DadosReducao := DadosReducao + ' ';

iRetorno := Bematech_FI_DadosUltimaReducao( DadosReducao ) ;


Bematech_FI_DataHoraGravacaoUsuarioSWBasicoMFAdicional

Bematech_FI_DataHoraGravacaoUsuarioSWBasicoMFAdicional

Esta função retorna a data/hora de gravação do último usuário da impressora, data/hora de gravação do software básico da impressora e a sigla da MF adicional, caso exista.

Parâmetros:

DataHoraUsuario: variável STRING para receber a informação da data e hora de gravação do último usuário da impressora, com o tamanho de 20 bytes + 1 posição para o NULL.

DataHoraSWBasico: variável STRING para receber a informação da data e hora de gravação do software básico da impressora, com o tamanho de 20 bytes + 1 posição para o NULL.

MFAdicional: variável CHAR para receber a informação de Memória Fiscal adicional, com o tamanho de 2 bytes, caso exista. Se não houver MF adicional, o retorno será NULL.

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

1 - Ok.

-1 - Erro de execução.

Exemplo:

' Exemplo em Visual Basic

dataUsuario = Space(21)

dataSWBasico = space(21)

MFAdicional = Space(2)

iRetorno = Bematech_FI_DataHoraGravacaoUsuarioSWBasicoMFAdicional(dataUsuario, dataSWBasico, MFAdicional)

// Exemplo em Delphi

for iConta := 1 to 21 do

begin

dataUsuario := dataUsuario + ' ';

dataSWBasico := dataSWBasico + ' ';

end;

MFAdicional := ' ';

iRetorno := Bematech_FI_DataHoraGravacaoUsuarioSWBasicoMFAdicional( dataUsuario, dataSWBasico, MFAdicional );


Bematech_FI_DataHoraImpressora

Bematech_FI_DataHoraImpressora

Retorna a data e a hora atual da impressora.

Parâmetros:

Data: Variável string com 6 posições para receber a data atual da impressora no formato ddmmaa + 1 posição para o NULL.

Hora: Variável string com 6 posições para receber a hora atual da impressora no formato hhmmss + 1 posição para o NULL.

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(7)

Hora = Space(7)

iRetorno = Bematech_FI_DataHoraImpressora(Data, Hora)

// Exemplo em Delphi

for iConta := 1 to 7 do Data := Data + ' ';

for iConta := 1 to 7 do

iRetorno := Bematech_FI_DataHoraImpressora( Data, Hora );


Bematech_FI_DataHoraReducao

Bematech_FI_DataHoraReducao

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

Parâmetros:

DataReducao: Variável string com 6 posições para receber a data da última redução no formato ddmmaa + 1 posição para o NULL.

HoraReducao: Variável string com 6 posições parar receber a hora da última redução no formato hhmmss + 1 posição para o NULL.

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(7)

HoraReducao = Space(7)

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

Bematech_FI_DataMovimento

Retorna a data do último movimento.

Parâmetro:

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

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(7)

iRetorno = Bematech_FI_DataMovimento(DataMovimento)

// Exemplo em Delphi

for iConta := 1 to 7 do DataMovimento := DataMovimento + ' ';

iRetorno := Bematech_FI_DataMovimento( DataMovimento );


Bematech_FI_Descontos

Bematech_FI_Descontos

Retorna a valor acumulado dos descontos.

Parâmetro:

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

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(15)

iRetorno = Bematech_FI_Descontos(Descontos)

// Exemplo em Delphi

for iConta := 1 to 15 do Descontos := Descontos + ' ';

iRetorno := Bematech_FI_Descontos( Descontos );


Bematech_FI_FlagsFiscais

Bematech_FI_FlagsFiscais

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

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

Não utilizado 16

Permite cancelar cupom fiscal 32

Não utilizado 64

Memória fiscal sem espaço 128

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

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_FlagsVinculacaoIss

Bematech_FI_FlagsVinculacaoIss

Retorna os flags das alíquotas de vinculacao ao ISS.

Parâmetro:

FlagVincISS_1: Variável inteira para receber o flag 1, referente as alíquotas da posição 1 a 8.

FlagVincISS_2: Variável inteira para receber o flag 2, referente as alíquotas da posição 9 a 16.

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

0: Erro de comunicação.

1: OK.

-1: Erro de execuçã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 valores podem vir somados o que indica mais de uma alíquota vinculada.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_FlagsVinculacaoIss(FlagVincISS_1, FlagVincISS_2)

// Exemplo em Delphi

iRetorno := Bematech_FI_FlagsVinculacaoIss( FlagVincISS_1, FlagVincISS_2 );


Bematech_FI_GrandeTotal

Bematech_FI_GrandeTotal

Retorna o valor do Grande Total da impressora.

Parâmetro:

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

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(19)

iRetorno = Bematech_FI_GrandeTotal(GrandeTotal)

// Exemplo em Delphi

for iConta := 1 to 19 do GrandeTotal := GrandeTotal + ' ';

iRetorno := Bematech_FI_GrandeTotal( GrandeTotal );


Bematech_FI_GrandeTotalCriptografado

Bematech_FI_GrandeTotalCriptografado

Obtém o grande total (GT) criptografado.

Parâmetros:

GT: STRING para receber o GT criptografado. A variável deve ser inicializada com 21 espaços, sendo 20 para os dados + 1 para o NULL.

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

0: Erro de comunicação.

1: OK.

-1 - Erro de execução.

-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

cGT = space(21)

iRetorno := Bematech_FI_GrandeTotalCriptografado(cGT)

// Exemplo em Delphi

SetLength( cGT, 21 );

iRetorno := Bematech_FI_GrandeTotalCriptografado( cGT );


Bematech_FI_GrandeTotalDescriptografado

Bematech_FI_GrandeTotalCriptografado

Obtém o grande total (GT) descriptografado a partir do grande total criptografado informado.

Parâmetros:

GTCriptografado: STRING com o GT criptografado, com o tamanho de 20 caracteres.

GTDescriptografado: STRING para receber o GT descriptografado. A variável deve ser inicializada com 21 espaços, sendo 20 para os dados + 1 para o NULL.

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

0: Erro de comunicação.

1: OK.

-1 - Erro de execução.

-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

cGTCriptografado = "AFD536ERF8D5W9D554G8"

cGTDescriptografado = space(21)

iRetorno := Bematech_FI_GrandeTotalDescriptografado(cGTCriptografado, cGTDescriptografado)

// Exemplo em Delphi

cGTCriptografado = 'AFD536ERF8D5W9D554G8';

SetLength( cGTDescriptografado, 21 );

iRetorno := Bematech_FI_GrandeTotalDescriptografado( cGTCriptografado, cGTDescriptografado );


Bematech_FI_MinutosImprimindo

Bematech_FI_MinutosImprimindo

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

Parâmetro:

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

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.

Exemplo:

' Exemplo em Visual Basic

MinutosImprimindo = Space(5)

iRetorno = Bematech_FI_MinutosImprimindo(MinutosImprimindo)

// Exemplo em Delphi

for iConta := 1 to 5 do MinutosImprimindo := MinutosImprimindo + ' ';

iRetorno := Bematech_FI_MinutosImprimindo( MinutosImprimindo );


Bematech_FI_MinutosLigada

Bematech_FI_MinutosLigada

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

Parâmetro:

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

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

MinutosLigada = Space(5)

iRetorno = Bematech_FI_MinutosLigada(MinutosLigada)

// Exemplo em Delphi

for iConta := 1 to 5 do MinutosLigada := MinutosLigada + ' ';

iRetorno := Bematech_FI_MinutosLigada( MinutosLigada );


Bematech_FI_ModeloImpressora

Bematech_FI_ModeloImpressora

Retorna o modelo da impressora fiscal em uso.

Parâmetro:

Modelo: Variável string com 10 posições para receber o modelo da impressora + 1 posição para o NULL. O retorno da variável será: "MP20FI", "MP40FI", "MP25FI", "MP50FI", "MP2000FI", "MP3000FI", "MP4000FI", "MP6000FI", "MP2100FI", "4610-KR4", "4610-KN4" ou "4679-3B4".

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

0: Erro de comunicação.

1: OK.

-1: Erro de execução (impressora desconhecida).

-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

cModeloImp = space(11)

iRetorno = Bematech_FI_ModeloImpressora(cModeloImp)

// Exemplo em Delphi

iConta := 1 to 11 do cModeloImp := cModeloImp + ' ';

iRetorno := Bematech_FI_ModeloImpressora( cModeloImp );


Bematech_FI_MonitoramentoPapel

Bematech_FI_MonitoramentoPapel

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

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).

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_MonitoramentoPapel(LinhasImpressas)

// Exemplo em Delphi

iRetorno := Bematech_FI_MonitoramentoPapel( LinhasImpressas );


Bematech_FI_NumeroCaixa

Bematech_FI_NumeroCaixa

Retorna o número do caixa cadastrado na impressora.

Parâmetro:

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

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(5)

iRetorno = Bematech_FI_NumeroCaixa(NumeroCaixa)

// Exemplo em Delphi

for iConta := 1 to 5 do NumeroCaixa := NumeroCaixa + ' ';

iRetorno := Bematech_FI_NumeroCaixa( NumeroCaixa );


Bematech_FI_NumeroCupom

Bematech_FI_NumeroCupom

Retorna o número do cupom.

Parâmetro:

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

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(7)

iRetorno = Bematech_FI_NumeroCupom(NumeroCupom)

// Exemplo em Delphi

for iConta := 1 to 7 do NumeroCupom := NumeroCupom + ' ';

iRetorno := Bematech_FI_NumeroCupom( NumeroCupom );


Bematech_FI_NumeroCuponsCancelados

Bematech_FI_NumeroCuponsCancelados

Retorna o número de cupons cancelados.

Parâmetro:

CuponsCancelados: Variável STRING com o tamanho de 4 bytes para receber o número de cupons cancelados + 1 posição para o NULL.

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).

Exemplos:

' Exemplo em Visual Basic

Cupons = Space(5)

iRetorno = Bematech_FI_NumeroCuponsCancelados(Cupons)

// Exemplo em Delphi

for iConta := 1 to 5 do Cupons := Cupons + ' ';

iRetorno := Bematech_FI_NumeroCuponsCancelados( Cupons );


Bematech_FI_NumeroIntervencoes

Bematech_FI_NumeroIntervencoes

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

Parâmetro:

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

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(5)

iRetorno = Bematech_FI_NumeroIntervencoes(Intervencoes)

// Exemplo em Delphi

for iConta := 1 to 5 do Intervencoes := Intervencoes + ' ';

iRetorno := Bematech_FI_NumeroIntervencoes( Intervencoes );


Bematech_FI_NumeroLoja

Bematech_FI_NumeroLoja

Retorna o número da loja cadastrado na impressora.

Parâmetro:

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

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(5)

iRetorno = Bematech_FI_NumeroLoja(NumeroLoja)

// Exemplo em Delphi

for iConta := 1 to 5 do NumeroLoja := NumeroLoja + ' ';

iRetorno := Bematech_FI_NumeroLoja( NumeroLoja );


Bematech_FI_NumeroOperacoesNaoFiscais

Bematech_FI_NumeroOperacoesNaoFiscais

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

Parâmetro:

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

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

Operacoes = Space(7)

iRetorno = Bematech_FI_NumeroOperacoesNaoFiscais(Operacoes)

// Exemplo em Delphi

for iConta := 1 to 7 do Operacoes := Operacoes + ' ';

iRetorno := Bematech_FI_NumeroOperacoesNaoFiscais( Operacoes );


Bematech_FI_NumeroReducoes

Bematech_FI_NumeroReducoes

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

Parâmetro:

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

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(5)

iRetorno = Bematech_FI_NumeroReducoes(Reducoes)

// Exemplo em Delphi

for iConta := 1 to 5 do Reducoes := Reducoes + ' ';

iRetorno := Bematech_FI_NumeroReducoes( Reducoes );


Bematech_FI_NumeroSerie

Bematech_FI_NumeroSerie

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

Parâmetro:

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

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:

· 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(16)

iRetorno = Bematech_FI_NumeroSerie(NumeroSerie)

// Exemplo em Delphi

for iConta := 1 to 16 do NumeroSerie := NumeroSerie + ' ';

iRetorno := Bematech_FI_NumeroSerie( NumeroSerie );


Bematech_FI_NumeroSerieCriptografado

Bematech_FI_NumeroSerieCriptografado

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

Parâmetro:

NumeroSerie: Variável string com o tamanho de 15 posições para as impressoras do convênio 156/94 (MP-20 FI II e MP-40 FI II) ou 20 posições para as impressoras do convênio 85/01 (MP-25 FI, MP-50 FI, MP-2000 TH FI, MP-2100 TH FI e MP-600 TH FI) para receber o número de série criptografado + 1 posição para o NULL (veja observaçã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ção:

· Para os modelos MP-25 FI, MP-50 FI, MP-2000 TH FI, MP-2100 TH FI e MP-6000 TH FI, a chave "Impressora" deve estar igual a 1 (Impressora=1) no arquivo de configuração BemaFI32.ini para que o número de série retornado seja de 20 caracteres para a criptografia. Caso esta chave esteja igual a 0 (Impressora=0), serão retornados apenas 15 caracteres para a criptografia.

Exemplo:

' Exemplo em Visual Basic

NumeroSerie = Space(16)

iRetorno = Bematech_FI_NumeroSerieCriptografado(NumeroSerie)

// Exemplo em Delphi

for iConta := 1 to 16 do NumeroSerie := NumeroSerie + ' ';

iRetorno := Bematech_FI_NumeroSerieCriptografado( NumeroSerie );


Bematech_FI_NumeroSerieDescriptografado

Bematech_FI_NumeroSerieDescriptografado

Devolve o número de série da impressora descriptografado, a partir do número de série criptografado informado.

Parâmetros:

NumeroSerieCriptografado: Variável string com o número de série criptografado pela função Bematech_FI_NumeroSerieCriptografado.

NumeroSerieDescriptografado: Variável string para receber o número de série descriptografado + 1 posição para o NULL.

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:

· Deve-se informar o número de série criptografado pela função Bematech_FI_NumeroSerieCriptografado para que o mesmo possa ser descriptografado pela função Bematech_FI_NumeroSerieDescriptografado.

Exemplo:

' Exemplo em Visual Basic

NumeroSerieDescrip = Space(16)

iRetorno = Bematech_FI_NumeroSerieDescriptografado(NumeroSerie, NumeroSerieDescrip)

// Exemplo em Delphi

for iConta := 1 to 16 do NumeroSerieDescrip := NumeroSerieDescrip + ' ';

iRetorno := Bematech_FI_NumeroSerieCriptografado( pchar( NumeroSerie ), NumeroSerieDescrip );


Bematech_FI_NumeroSubstituicoesProprietario

Bematech_FI_NumeroSubstituicoesProprietario

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

Parâmetro:

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

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.

Exemplo:

' Exemplo em Visual Basic

Substituicoes = Space(5)

iRetorno = Bematech_FI_NumeroSubstituicoesProprietario(Substituicoes)

// Exemplo em Delphi

for iConta := 1 to 5 do Substituicoes := Substituicoes + ' ';

iRetorno := Bematech_FI_NumeroSubstituicoesProprietario( Substituicoes );


Bematech_FI_RetornoAliquotas

Bematech_FI_RetornoAliquotas

Retorna as alíquotas cadastradas na impressora.

Parâmetro:

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

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(80)

iRetorno = Bematech_FI_RetornoAliquotas(Aliquotas)

// Exemplo em Delphi

for iConta := 1 to 80 do Aliquotas := Aliquotas + ' ';

iRetorno := Bematech_FI_RetornoAliquotas( Aliquotas );


Bematech_FI_SimboloMoeda

Bematech_FI_SimboloMoeda

Retorna o símbolo da moeda cadastrado na impressora.

Parâmetro:

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

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(3)

iRetorno = Bematech_FI_SimboloMoeda(SimboloMoeda)

// Exemplo em Delphi

for iConta := 1 to 3 do SimboloMoeda := SimboloMoeda + ' ';

iRetorno := Bematech_FI_SimboloMoeda( SimboloMoeda );


Bematech_FI_SubTotal

Bematech_FI_SubTotal

Retorna o valor do subtotal do cupom.

Parâmetro:

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

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(15)

iRetorno = Bematech_FI_SubTotal(SubTotal)

// Exemplo em Delphi

for iConta := 1 to 15 do SubTotal := SubTotal + ' ';

iRetorno := Bematech_FI_SubTotal( SubTotal );


Bematech_FI_TotalIcmsCupom

Bematech_FI_TotalIcmsCupom

Retorna a valor total do ICMS pago no cupom fiscal.

Parâmetro:

ValorICMS: Variável string com 14 posições para receber o valor total do ICMS + 1 posição para o NULL.

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:

· Para que esta função tenha efeito, a chave CalculoIcmsCupom deve existir no arquivo BemaFI32.ini, na seção [Sistema] e habilitada (CalculoIcmsCupom=1) para que a dll possa atender a solicitação na portaria 40888/07 do RJ.

Exemplo:

' Exemplo em Visual Basic

ValorICMS = Space(15)

iRetorno = Bematech_FI_TotalIcmsCupom(ValorICMS)

// Exemplo em Delphi

for iConta := 1 to 15 do ValorICMS := ValorICMS + ' ';

iRetorno := Bematech_FI_TotalIcmsCupom( ValorICMS );


Bematech_FI_UltimoItemVendido

Bematech_FI_UltimoItemVendido

Retorna o número do último item vendido.

Parâmetro:

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

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

UltimoItem = Space(5)

iRetorno = Bematech_FI_UltimoItemVendido(UltimoItem)

// Exemplo em Delphi

iConta := 1 to 5 do

iRetorno := Bematech_FI_UltimoItemVendido( UltimoItem );


Bematech_FI_ValorFormaPagamento

Bematech_FI_ValorFormaPagamento

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 + 1 posição para o NULL.

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(15)

iRetorno = Bematech_FI_ValorFormaPagamento("Cheque", Valor)

// Exemplo em Delphi

cFormaPgto := 'Cheque';

for iConta := 1 to 15 do Valor := Valor + ' ';

iRetorno := Bematech_FI_ValorFormaPagamento( pchar( cFormaPgto ), Valor );


Bematech_FI_ValorPagoUltimoCupom

Bematech_FI_ValorPagoUltimoCupom

Retorna o valor pago no último cupom.

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).

Observação:

· Valor pago no último cupom é diferente do valor total do cupom.

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

iRetorno := Bematech_FI_ValorPagoUltimoCupom( Valor );


Bematech_FI_ValorTotalizadorNaoFiscal

Bematech_FI_ValorTotalizadorNaoFiscal

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

Parâmetro:

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 + 1 posição para o NULL.

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(15)

iRetorno = Bematech_FI_ValorTotalizadorNaoFiscal("Rec. Prestacao", Valor)

// Exemplo em Delphi

cDescTot := 'Rec. Prestacao';

for iConta := 1 to 15 do Valor := Valor + ' ';

iRetorno := Bematech_FI_ValorTotalizadorNaoFiscal( pchar( cDescTot ), Valor );


Bematech_FI_VendaBruta

Bematech_FI_VendaBruta

Retorna o valor da venda bruta do dia.

Parâmetros:

Valor: Variável STRING com 18 posições para receber a informação + 1 posição para o NULL.

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(19)

iRetorno = Bematech_FI_VendaBruta(Valor)

// Exemplo em Delphi

for iConta := 1 to 19 do Valor := Valor + ' ';

iRetorno := Bematech_FI_VendaBruta( Valor );


Bematech_FI_VerificaAliquotasIss

Bematech_FI_VerificaAliquotasIss

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

Parâmetro:

AliquotasIss: Variável string com 79 posições para receber as alíquotas vinculadas ao ISS + 1 posição para o NULL.

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(80)

iRetorno = Bematech_FI_VerificaAliquotasIss(AliquotasIss)

// Exemplo em Delphi

for iConta := 1 to 80 AliquotasIss := AliquotasIss + ' ';

iRetorno := Bematech_FI_VerificaAliquotasIss( AliquotasIss );


Bematech_FI_VerificaDepartamentos

Bematech_FI_VerificaDepartamentos

Retorna os departamentos e seus valores acumulados.

Parâmetro:

Departamentos: Variável string com 1019 posições para receber as informações dos departamentos + 1 posição para o NULL.

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 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:

' Exemplo em Visual Basic

Departamentos = Space(1020)

iRetorno = Bematech_FI_VerificaDepartamentos(Departamentos)

// Exemplo em Delphi

for iConta := 1 to 1020 do Departamentos := Departamentos + ' ';

iRetorno := Bematech_FI_VerificaDepartamentos( Departamentos );


Bematech_FI_VerificaEpromConectada

Bematech_FI_VerificaEpromConectada

Verifica se a Eprom está conectada.

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

Bematech_FI_VerificaEstadoImpressora

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.

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

Bematech_FI_VerificaFormasPagamento

Retorna as formas de pagamento e seus valores acumulados.

Parâmetro:

FormasPagamento: Variável string com 3016 posições para receber as formas programadas + 1 posição para o NULL.

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:

Descrição 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é 49 formas de pagamento, sendo que a forma de pagamento "01" é sempre "Dinheiro". As formas de pagamento que não estiverem programadas estarão com os valores zerados e a descrição em branco (veja exemplo acima).
· Nas impressoras fiscais MP-25 FI, MP-50 FI e térmicas 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(3017)

iRetorno = Bematech_FI_VerificaFormasPagamento(FormasPagamento)

// Exemplo em Delphi

for iConta := 1 to 3017 do FormasPagamento := FormasPagamento + ' ';

iRetorno := Bematech_FI_VerificaFormasPagamento( FormasPagamento );


Bematech_FI_VerificaIndiceAliquotasIss

Bematech_FI_VerificaIndiceAliquotasIss

Retorna os índices das alíquotas de ISS.

Parâmetro:

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

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(49)

iRetorno = Bematech_FI_VerificaIndiceAliquotasIss(IndiceAliquotas)

// Exemplo em Delphi

for iConta := 1 to 49 do IndiceAliquotas := IndiceAliquotas + ' ';

iRetorno := Bematech_FI_VerificaIndiceAliquotasIss( IndiceAliquotas );


Bematech_FI_VerificaModoOperacao

Bematech_FI_VerificaModoOperacao

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

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

Bematech_FI_VerificaRecebimentoNaoFiscal

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

Parâmetro:

Recebimentos: Variável string com 2200 posições para receber as informações + 1 posição para o NULL.

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

0: Erro de comunicação.

1: OK.

-1: Erro de execução da função.

-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).
· 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(2201)

iRetorno = Bematech_FI_VerificaRecebimentoNaoFiscal(Recebimento)

// Exemplo em Delphi

for iConta := 1 to 2201 do Recebimento := Recebimento + ' ';

iRetorno := Bematech_FI_VerificaRecebimentoNaoFiscal( Recebimento );


Bematech_FI_VerificaReducaoZAutomatica

Bematech_FI_VerificaReducaoZAutomatica

Verifica se a última Redução Z foi executada automaticamente na impressora.

Parâmetro:

Flag: Variável int (short) para receber a informação. Onde 1 (um) é Redução Z automática e 0 (zero) por comando.

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

Flag = 0

iRetorno = Bematech_FI_VerificaReducaoZAutomatica(Flag)

// Exemplo em Delphi

Flag = 0;

iRetorno := Bematech_FI_VerificaReducaoZAutomatica( Flag );


Bematech_FI_VerificaTipoImpressora

Bematech_FI_VerificaTipoImpressora

Retorna o tipo de impressora.

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ção.

2 - Impressora fiscal, gaveta, cutter.

3 - Impressora fiscal, presenter, autenticação.

4 - Impressora fiscal, presenter, cutter.

5 - Impressora bilhete de passagem, gaveta, autenticação.

6 - Impressora bilhete de passagem, gaveta, cutter.

7 - Impressora bilhete de passagem, presenter, autenticação.

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

Bematech_FI_VerificaTotalizadoresNaoFiscais

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

Parâmetro:

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

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.

Exemplo:

' Exemplo em Visual Basic

Totalizadores = Space(180)

iRetorno = Bematech_FI_VerificaTotalizadoresNaoFiscais(Totalizadores)

// Exemplo em Delphi

for iConta := 1 to 180 do Totalizadores := Totalizadores + ' ';

iRetorno := Bematech_FI_VerificaTotalizadoresNaoFiscais( Totalizadores );


Bematech_FI_VerificaTotalizadoresParciais

Bematech_FI_VerificaTotalizadoresParciais

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

Parâmetro:

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

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(446)

iRetorno = Bematech_FI_VerificaTotalizadoresParciais(Totalizadores)

// Exemplo em Delphi

for iConta := 1 to 446 do Totalizadores := Totalizadores + ' ';

iRetorno := Bematech_FI_VerificaTotalizadoresParciais( Totalizadores );


Bematech_FI_VerificaTruncamento

Bematech_FI_VerificaTruncamento

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

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).

Exemplo:

' Exemplo em Visual Basic

FlagTruncamento = " "

iRetorno = Bematech_FI_VerificaTruncamento(FlagTruncamento)

// Exemplo em Delphi

FlagTruncamento := ' ';

iRetorno := Bematech_FI_VerificaTruncamento( FlagTruncamento );


Bematech_FI_VersaoFirmware

Bematech_FI_VersaoFirmware

Retorna a versão do firmware da impressora.

Parâmetro:

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

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:

· 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(5)

iRetorno = Bematech_FI_VersaoFirmware(VersaoFirmware)

// Exemplo em Delphi

for iConta := 1 to 5 do VersaoFirmware := VersaoFirmware + ' ';

iRetorno := Bematech_FI_VersaoFirmware( VersaoFirmware );


Bematech_FI_VerificaZPendente

Bematech_FI_VerificaZPendente

Retorna se a redução Z está ou não pendente no ECF.

Parâmetro:

StatusRZ: STRING com uma posição para receber "1" (RZ pendente) ou "0" (RZ emitida).

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:

· Função específica para os modelos de impressoras fiscais térmicas.

Exemplo:

' Exemplo em Visual Basic

StatusRZ = Space(1)

iRetorno = Bematech_FI_VerificaZPendente(StatusRZ)

// Exemplo em Delphi

StatusRZ := ' ';

iRetorno := Bematech_FI_VerificaZPendente( StatusRZ );


Bematech_FI_ProgramaMoedaSingular

Bematech_FI_ProgramaMoedaSingular

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

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.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_ProgramaMoedaSingula("Real")

// Exemplo em Delphi

cMoedaSingular := 'Real';

iRetorno := Bematech_FI_ProgramaMoedaSingula( ( cMoedaSingular ) );


Bematech_FI_ProgramaMoedaPlural

Bematech_FI_ProgramaMoedaPlural

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

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.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_ProgramaMoedaPlural("Reais")

// Exemplo em Delphi

cMoedaPlural := 'Reais';

iRetorno := Bematech_FI_ProgramaMoedaPlural( ( cMoedaPlural ) );


Bematech_FI_IncluiCidadeFavorecido

Bematech_FI_IncluiCidadeFavorecido

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

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.

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 ),


Bematech_FI_VerificaStatusCheque

Bematech_FI_VerificaStatusCheque

Verifica o status do cheque.

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.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_VerificaStatusCheque(iStatusCheque)

// Exemplo em Delphi

iRetorno := Bematech_FI_VerificaStatusCheque( iStatusCheque );


Bematech_FI_ImprimeCheque

Bematech_FI_ImprimeCheque

Imprime cheque na impressora MP-40 FI II Bematech.

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.

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

Bematech_FI_ImprimeCopiaCheque

Imprime cópia do último cheque impresso.

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.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_ImprimeCopiaCheque()

// Exemplo em Delphi

iRetorno := Bematech_FI_ImprimeCopiaCheque();


Bematech_FI_CancelaImpressaoCheque

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.

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:

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

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_CancelaImpressaoCheque()

// Exemplo em Delphi

iRetorno := Bematech_FI_CancelaImpressaoCheque();


Bematech_FI_IniciaModoTEF

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

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.

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.

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

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.

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 relatório 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

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

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.

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( ( cValor ), pchar( cFormaPgto ) );


Bematech_FI_AbreBilhetePassagem

Bematech_FI_AbreBilhetePassagem

Abre o cupom na impressora bilhete de passagem.

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).

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 (em um 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.

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_AbrePortaSerial

Bematech_FI_AbrePortaSerial

Abre a porta serial para comunicação entre a impressora e o computador.

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

Bematech_FI_DadosSintegra

Esta função retorna informações da memória fiscal utilizadas na geração do relatório Sintegra.

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

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.

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

Bematech_FI_FechaPortaSerial

Fecha a porta serial.

Parâmetro:

Não há.

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

1: OK.

0: Erro ao fechar a porta.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_FechaPortaSerial()

// Exemplo em Delphi

iRetorno := Bematech_FI_FechaPortaSerial();


Bematech_FI_ImpressaoCarne

Bematech_FI_ImpressaoCarne

Imprime um carnê de pagamento.

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á igual 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 seja 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

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.

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

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.

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.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_ImprimeDepartamentos()

// Exemplo em Delphi

iRetorno := Bematech_FI_ImprimeDepartamentos();


Bematech_FI_InfoBalanca

Bematech_FI_InfoBalanca

Retorna informações da balança pela serial.

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

3: SA-110 com protocolo da balança igual a 0 (zero)

4: SA-110 com protocolo da balança igual a 4 (quatro)

Peso: STRING iniciada com 6 espaços para o retorno do peso medido pela balança no formato "KKggg" (Ex: "01200" igual à 1Kg e 200g) + 1 posição para o NULL. Para as balanças da família BP é "SKKggg" (Ex: "013200" igual à 13Kg e 200g e "-00020" igual à &endash;20g).

PrecoKilo: STRING iniciada com 6 espaços para o retorno do preço por kilo, configurado na balança, no formato "RRRCC" (Ex: "01234" igual à R$12,34/Kg) + 1 posição para o NULL. Informação não retornada pelas balanças da família BP.

Total: STRING iniciada com 6 espaços para o retorno do preço total do produto no formato "RRRCCC" + 1 posição para o NULL. 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.

Observações:

· É importante verificar o tipo de protocolo que se encontra a balança SA-110 Bematech para que a função possa retornar corretamente as informações.
· O recomendado é usar o protocolo 4 configurado na balança SA-110 Bematech.

Exemplo:

' Exemplo em Visual Basic

cPeso = Space(7)

cPrecoKilo = Space(7)

cTotal = Space(7)

iRetorno = Bematech_FI_InfoBalanca("COM3", 1, cPeso, cPrecoKilo, cTotal)

// Exemplo em Delphi

for iConta := 1 to 7 do begin

cPeso := cPeso + ' ';

cPrecoKilo := cPrecoKilo + ' ';

cTotal := cTotal + ' ';

end;

cPorta := 'COM3';

iRetorno := Bematech_FI_InfoBalanca( pchar( cPorta ), 1, cPeso, cPrecoKilo, cTotal );


Bematech_FI_BaudRateBalanca

Bematech_FI_BaudRateBalanca

Configura Baud Rate para a comunicação serial da balança.

Parâmetro:

BaudRate: INTEGER com o valor da velocidade a ser configurado na balança, compreendido entre 2400, 4800, 9600 ou 19200.

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

0 - Erro de comunicação.

1 - Ok.

-1 - Erro de execução.

-2 - Erro de parametros.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_BaudRateBalanca(2400)

// Exemplo em Delphi

iRetorno := Bematech_FI_BaudRateBalanca( 2400 );


Bematech_FI_MapaResumo

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:\).

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

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 |
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 |
 | 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

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:\).

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

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:\).

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.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_RelatorioTipo60Mestre()

// Exemplo em Delphi

iRetorno := Bematech_FI_RelatorioTipo60Mestre();


Bematech_FI_ResetaImpressora

Bematech_FI_ResetaImpressora

Reseta a impressora em caso de erro.

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:

· Será executada somente se a impressora estiver em erro.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_ResetaImpressora()

// Exemplo em Delphi

iRetorno := Bematech_FI_ResetaImpressora();


Bematech_FI_RetornoImpressora

Bematech_FI_RetornoImpressora

Lê o retorno da impressora referente ao último comando enviado.

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

Bematech_FI_VerificaImpressoraLigada

Verifica se a impressora está ligada ou conectada no computador.

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

Bematech_FI_VersaoDll

Esta função retorna a versão atual da BemaFI32.dll.

Parâmetro:

Versao: variável STRING com o tamanho de 9 bytes, para receber a versão da dll + 1 posição para o NULL.

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

1 - Ok.

-1 - Erro de execução.

Exemplo:

' Exemplo em Visual Basic

cVersao = Space(10)

iRetorno = Bematech_FI_VersaoDll(cVersao)

// Exemplo em Delphi

for iConta := 1 to 10 do cVersao := cVersao + ' ';

iRetorno := Bematech_FI_VersaoDll( cVersao );


importante

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

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, MP-2100 TH FI e MP-4000 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_AtivaDesativaAlinhamentoEsquerdaMFD(1)

// Exemplo em Delphi

iFlag := 1;

iRetorno := Bematech_FI_AtivaDesativaAlinhamentoEsquerdaMFD( iFlag );


Bematech_FI_AtivaDesativaCancelamentoCupom2HorasMFD

Bematech_FI_AtivaDesativaCancelamentoCupom2HorasMFD

Ativar ou desativar o cancelamento automático do cupom às duas horas da manhã.

Parâmetro:

iFlag: INTEGER com 1 para habilitar ou 0 para desabilitar o cancelamento automático do cupom as 2 horas da manhã.

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.03.03, MP-2100 TH FI ou MP-4000 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_AtivaDesativaCancelamentoCupom2HorasMFD(1)

// Exemplo em Delphi

iRetorno := Bematech_FI_AtivaDesativaCancelamentoCupom2HorasMFD( 1 );


Bematech_FI_AtivaDesativaTratamentoONOFFLineMFD

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): ativa

1 (um): desativa

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, MP-2100 TH FI e MP-4000 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_AtivaDesativaTratamentoONOFFLineMFD(1)

// Exemplo em Delphi

iRetorno := Bematech_FI_AtivaDesativaTratamentoONOFFLineMFD( 1 );


Bematech_FI_AtivaDesativaVendaUmaLinhaMFD

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, MP-2100 TH FI e MP-4000 TH FI.
· Para que o item possa ser impresso em uma única linha, o seu código e sua descrição (juntos) não podem ultrapassar 16 caracteres; a quantidade deve possuir até 2 dígitos (entre 1 e 99) e o valor unitário deve possuir até 3 dígitos inteiros (entre 0,01 e 999,99).

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_AtivaDesativaVendaUmaLinhaMFD(1)

// Exemplo em Delphi

iRetorno := Bematech_FI_AtivaDesativaVendaUmaLinhaMFD( 1 );


Bematech_FI_AtivaDesativaSensorPoucoPapelMFD

Bematech_FI_AtivaDesativaSensorPoucoPapelMFD

Ativa ou desativa o sensor de pouco papel.

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, MP-2100 TH FI e MP-4000 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_AtivaDesativaSensorPoucoPapelMFD(1)

// Exemplo em Delphi

iRetorno := Bematech_FI_AtivaDesativaSensorPoucoPapelMFD( 1 );


Bematech_FI_AtivaDesativaCorteTotalMFD

Bematech_FI_AtivaDesativaCorteTotalMFD

Ativa ou desativa o corte total do papel.

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, MP-2100 TH FI ou MP-4000 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_AtivaDesativaCorteTotalMFD(1)

// Exemplo em Delphi

iRetorno := Bematech_FI_AtivaDesativaCorteTotalMFD( 1 );


Bematech_FI_NomeiaRelatorioGerencialMFD

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.
· Na impressora fiscal Bematech modelo MP-2100 TH FI ou MP-4000 TH FI o tamanho da descrição dos relatórios gerenciais foi reduzido de 17 para 15 caracteres. Para manter a compatibilidade, será aceito o tamanho de 17 caracteres, mas internamente a impressora registrará apenas os 15 primeiros caracteres.

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_AbreCupomMFD

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.
· Na impressora fiscal Bematech modelo MP-2100 TH FI e MP-4000 TH FIo tamanho da descrição do endereço, impresso no cabeçalho do cupom fiscal, foi reduzido de 80 para 79 caracteres. Para manter a compatibilidade, será aceito o tamanho de 80 caracteres, mas internamente a impressora registrará apenas os 79 primeiros caracteres.

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

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_AcrescimoDescontoSubtotalMFD

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_CancelaAcrescimoDescontoItemMFD

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_CancelaAcrescimoDescontoSubtotalMFD

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_CancelaCupomMFD

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_CupomAdicionalMFD

Bematech_FI_CupomAdicionalMFD

Emite um cupom adicional com as informações do COO e valor do cupom fiscal anteriormente impresso. Para os modelos MP-2100 TH FI, MP-3000 TH FI, MP-4000 TH FI e MP-7000 TH FI somente o CCF e COO do cupom fiscal são impressos.

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_EfetuaFormaPagamentoIndiceMFD

Bematech_FI_EfetuaFormaPagamentoIndiceMFD

Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s), através de seu(s) índice(s).

Parâmetros:

IndiceFormaPagamento: STRING com o índice da forma de pagamento com 2 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_EfetuaFormaPagamentoIndiceMFD("01", "50,00", "2", "Compra parcelada")

// Exemplo em Delphi

cIndiceFormaPgto := '01';

cValorPago := '50,00';

cNumeroParcelas := '2';

cMsg := 'Compra parcelada';

iRetorno := Bematech_FI_EfetuaFormaPagamentoMFD( pchar( cIndiceFormaPgto ), pchar( cValorPago ), pchar( cNumeroParcelas ), pchar( cMsg ) );


Bematech_FI_EfetuaFormaPagamentoMFD

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_IniciaFechamentoCupomMFD

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

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)

Observação:

· Na impressora fiscal Bematech modelo MP-2100 TH FI e MP-4000 TH FI o tamanho da descrição das formas de pagamento foi reduzido de 16 para 15 caracteres. Para manter a compatibilidade, será aceito o tamanho de 16 caracteres, mas internamente a impressora registrará apenas os 15 primeiros caracteres.

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_SubTotalizaCupomMFD

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_TerminaFechamentoCupomCodigoBarrasMFD

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_TotalizaCupomMFD

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_VendeItemArredondamentoMFD

Bematech_FI_VendeItemArredondamentoMFD

Vende item com arredondamento ou truncamento.

Parâmetros:

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

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

Aliquota: STRING com o índice (99) ou valor (99,99) da alíquota tributária.

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

QtdFracionaria: STRING com a quantidade fracionaria com até 7 caracteres (9.999,999).

VlrUnitario: STRING com o valor unitário com 3 casas decimais com até 8 caracteres (99.999,999).

Acrescimo: STRING com o acréscimo percentual (99,99) ou por valor com 2 casas decimais (999.999,99).

Desconto: STRING com o desconto percentual (99,99) ou por valor com 2 casas decimais (999.999,99).

Arredonda: BOOL com "true" para arredondar ou "false" para truncar o cálculo da quantidade pelo valor unitário.

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.
· Esta função está disponível apenas para os modelos MP-4000 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_VendeItemArredondamentoMFD("123", "Caneta", "1200", "UN", "1,000", "0,250", "00,00", "00,00", true)

// Exemplo em Delphi

cCodigo := '123';

cDescricao := 'Caneta';

cAliquota := '1200';

cUnidade := 'UN';

cQtde := '1,000';

cValor := '0,250';

cValorDesc := '00,00';

cValorAcre := '00,00';

iRetorno := Bematech_FI_VendeItemArredondamentoMFD( pchar( cCodigo ), pchar( cDescricao ), pchar( cAliquota ), pchar( cUnidade ), pchar( cQtde ), pchar( cValor ), pchar( cValorDesc ), pchar( cValorAcre ), true );


Bematech_FI_LeituraMemoriaFiscalDataMFD

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

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

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

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_AbreRelatorioGerencialMFD

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

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

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_AbreComprovanteNaoFiscalVinculadoMFD

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

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

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_CancelaItemNaoFiscalMFD

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_AcrescimoItemNaoFiscalMFD

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_CancelaAcrescimoNaoFiscalMFD

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

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_AcrescimoDescontoSubtotalRecebimentoMFD

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_CancelaAcrescimoDescontoSubtotalRecebimentoMFD

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

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

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

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

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_AbreSegundaViaNaoFiscalVinculadoMFD

Bematech_FI_AbreSegundaViaNaoFiscalVinculadoMFD

Abre a segunda via do comprovante não fiscal vinculado para impressão de texto diferente da primeira via já impressa.

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:

· Deve ser executada imediatamente após a emissão da primeira via.
· Para a impressão do texto, use a função Bematech_FI_UsaComprovanteNaoFiscalVinculado.
· Para fechar o comprovante, use a função Bematech_FI_FechaComprovanteNaoFiscalVinculado.
· Esta função está disponível apenas para os modelos MP-4000 TH FI e MP-7000 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_AbreSegundaViaNaoFiscalVinculadoMFD()

// Exemplo em Delphi

iRetorno := Bematech_FI_AbreSegundaViaNaoFiscalVinculadoMFD();


Bematech_FI_EstornoNaoFiscalVinculadoMFD

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

cNomeCliente := 'Fulano de Tal';

cEnderecoCliente := 'R. Sem Fim, 1000';

iRetorno := Bematech_FI_EstornoNaoFiscalVinculadoMFD( pchar( cCPF ),pchar( cNomeCliente ),pchar( cEnderecoCliente ) );


Bematech_FI_EstornoNaoFiscalVinculadoPosteriorMFD

Bematech_FI_EstornoNaoFiscalVinculadoPosteriorMFD

Estorna um Comprovante de Débito e Crédito mesmo não imediatamente após o cupom fiscal.

Parâmetros:

FormaPagamento: STRING com até 16 caracteres com a descrição da forma de pagamento.

Valor: STRING com até 14 caracteres com o valor pago.

COOCupom: STRING com até 6 caracteres com o COO do cupom fiscal.

COOCDC: STRING com até 6 caracteres com o COO do Comprovante de Débito e Crédito a ser estornado.

CPF: STRING com até 29 caracteres com o CPF do cliente.

Nome: STRING com até 30 caracteres com o nome do cliente.

Endereco: STRING com até 80 caracteres com o endereco 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.
· Função disponível a partir da impressora fiscal modelo MP-4000 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_EstornoNaoFiscalVinculadoPosteriorMFD("Cartao", "50,00", "000159", "000161", "11.111.111-11", "Fulano de Tal", "R. Sem Fim, 1000")

// Exemplo em Delphi

cFormaPagamento := 'Cartao';

cValorPago := '50,00';

cCOOCupom := '000159';

cCOOCDC := '000161';

cCPF := '11.111.111-11';

cNomeCliente := 'Fulano de Tal';

cEnderecoCliente := 'R. Sem Fim, 1000';

iRetorno := Bematech_FI_EstornoNaoFiscalVinculadoPosteriorMFD( pchar( cFormaPagamento ), pchar( cValorPago ), pchar( cCOOCupom ), pchar( cCOOCDC ), pchar( cCPF ), pchar( cNomeCliente ), pchar( cEnderecoCliente ) );


Bematech_FI_ReimpressaoNaoFiscalVinculadoMFD

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

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çã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_SegundaViaNaoFiscalVinculadoMFD()

// Exemplo em Delphi

iRetorno := Bematech_FI_SegundaViaNaoFiscalVinculadoMFD();


Bematech_FI_AutenticacaoMFD

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é 47 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

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 + 1 posição para o NULL.

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(21)

iRetorno = Bematech_FI_CNPJMFD(sCNPJ)

// Exemplo em Delphi

for iConta := 1 to 21 do sCNPJ := sCNPJ + ' ';

iRetorno := Bematech_FI_CNPJMFD( sCNPJ );


Bematech_FI_ComprovantesNaoFiscaisNaoEmitidosMFD

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 + 1 posição para o NULL.

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:

· Este número de comprovantes não fiscais não emitidos corresponde a quantidade de comprovantes que não foram impressos para as formas de pagamento que permitiam esta impressão, e que foram usadas em cupons fiscal, ou seja, formas de pagamento que possuíam a flag "TEF" igual a "S", que por sua vez, não tiveram o comprovante de débito e crédito (cupom não fiscal vinculado) impresso.

Exemplo:

' Exemplo em Visual Basic

sComp = space(5)

iRetorno = Bematech_FI_ComprovantesNaoFiscaisNaoEmitidosMFD(sComp)

// Exemplo em Delphi

for iConta := 1 to 5 sComp := sComp + ' ';

iRetorno := Bematech_FI_ComprovantesNaoFiscaisNaoEmitidosMFD( sComp );


Bematech_FI_ContadorComprovantesCreditoMFD

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 + 1 posição para o NULL.

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(5)

iRetorno = Bematech_FI_ContadorComprovantesCreditoMFD(sComp)

// Exemplo em Delphi

for iConta := 1 to 5 do sComp := sComp + ' ';

iRetorno := Bematech_FI_ContadorComprovantesCreditoMFD( sComp );


Bematech_FI_ContadorCupomFiscalMFD

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 + 1 posição para o NULL.

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(7)

iRetorno = Bematech_FI_ContadorCupomFiscalMFD(sCupom)

// Exemplo em Delphi

for iConta := 1 to 7 do sCupom := sCupom + ' ';

iRetorno := Bematech_FI_ContadorCupomFiscalMFD( sCupom );


Bematech_FI_ContadoresTotalizadoresNaoFiscaisMFD

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 + 1 posição para o NULL.

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

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 + 1 posição para o NULL.

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(7)

iRetorno = Bematech_FI_ContadorFitaDetalheMFD(sCont)

// Exemplo em Delphi

for iConta := 1 to 7 do sCont := sCont + ' ';

iRetorno := Bematech_FI_ContadorFitaDetalheMFD( sCont );


Bematech_FI_ContadorOperacoesNaoFiscaisCanceladasMFD

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 + 1 posição para o NULL.

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(5)

iRetorno = Bematech_FI_ContadorOperacoesNaoFiscaisCanceladasMFD(sOp)

// Exemplo em Delphi

for iConta := 1 to 5 do sOp := sOp + ' ';

iRetorno := Bematech_FI_ContadorOperacoesNaoFiscaisCanceladasMFD( sOp );


Bematech_FI_ContadorRelatoriosGerenciaisMFD

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 + 1 posição para o NULL.

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(7)

iRetorno = Bematech_FI_ContadorRelatoriosGerenciaisMFD(sRel)

// Exemplo em Delphi

for iConta := 1 to 7 do sRel := sRel + ' ';

iRetorno := Bematech_FI_ContadorRelatoriosGerenciaisMFD( sRel );


Bematech_FI_DadosUltimaReducaoMFD

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 + 1 posição para o NULL.

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 reinício de operação: 4 bytes

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

(São 30 contadores com 4 dígitos cada um)

Contadores específicos de relatórios gerenciais: 120 bytes

(São 30 contadores com 4 dígitos cada um)

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

Contador de comprovantes de débito ou crédito cancelados: 4 bytes

Totalizador geral: 18 bytes

Totalizadores Parciais Tributados: 224 bytes

(Valor acumulado na alíquota. São 16 alíquotas com 14 dígitos do valor (incluíndo as 2 casas decimais). Então, 16x14 (16 Alíquotas de 14 dígitos cada uma)

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

(São 28 totalizadores com 14 dígitos cada um, incluindo 2 casas decimais)

Totalizador de sangria: 14 bytes

Totalizador de suprimento: 14 bytes

Totalizador de descontos de não fiscais: 14 bytes

Totalizador de acréscimos de não fiscais: 14 bytes

Totalizador de cancelamentos de não fiscais: 14 bytes

Alíquotas tributárias: 64 bytes

(São 16 alíquotas 4 dígitos cada uma, representando seu percentual)

Data do movimento: 6 bytes

Exemplo:

' Exemplo em Visual Basic

sDados = space(1279)

iRetorno = Bematech_FI_DadosUltimaReducaoMFD(sDados)

// Exemplo em Delphi

for iConta := 1 to 1279 do

iRetorno := Bematech_FI_DadosUltimaReducaoMFD( sDados );


Bematech_FI_DataHoraUltimoDocumentoMFD

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 + 1 posição para o NULL.

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(13)

iRetorno = Bematech_FI_DataHoraUltimoDocumentoMFD(sDataHora)

// Exemplo em Delphi

for iConta := 1 to 13 do sDataHora := sDataHora + ' ';

iRetorno := Bematech_FI_DataHoraUltimoDocumentoMFD( sDataHora );


Bematech_FI_DataMovimentoUltimaReducaoMFD

Bematech_FI_DataMovimentoUltimaReducaoMFD

Retorna a data do movimento da última redução Z.

Parâmetro:

cDataMovimento: Variável STRING com o tamanho de 6 posições para receber a informação + 1 posição para o NULL.

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 e MP-4000 TH FI.

Exemplo:

' Exemplo em Visual Basic

cDataMovimento = space(7)

iRetorno = Bematech_FI_DataMovimentoUltimaReducaoMFD(cDataMovimento)

// Exemplo em Delphi

for iConta := 1 to 7 do cDataMovimento := cDataMovimento + ' ';

iRetorno := Bematech_FI_DataMovimentoUltimaReducaoMFD( cDataMovimento );


Bematech_FI_FlagsFiscais3MFD

Bematech_FI_FlagsFiscais3MFD

Retorna os flags fiscais III das impressoras fiscais térmicas.

Parâmetro:

Flag: Variável INT para receber o byte referente aos flags fiscais III.

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:

· Discriminação dos valores para o flag fiscal:
Descrição | Valor
Impressora com pouco papel | 1
Sensor de pouco papel habilitado | 2
Cancelamento automático de cupom às duas horas habilitado | 4
0: desconto em issqn desabilitado 1: desconto em issqn habilitado | 8
0: RZ automática desabilita 1: RZ automática habilitada | 16
0: impressora ON-LINE 1: impressora OFF-LINE | 32
NÃO UTILIZADO | 64
NÃO UTILIZADO | 128
· Os valores podem vir somados o que indica mais de um estado.
· Esta função está disponível apenas para os modelos MP-4000 TH FI e MP-7000 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_FlagsFiscais3MFD(iFlag)

// Exemplo em Delphi

iRetorno := Bematech_FI_FlagsFiscais3MFD( iFlag );


Bematech_FI_GrandeTotalUltimaReducaoMFD

Bematech_FI_GrandeTotalUltimaReducaoMFD

Retorna o grande total (GT) da última redução Z.

Parâmetro:

cGT: Variável STRING com o tamanho de 18 posições para receber a informação + 1 posição para o NULL.

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(19)

iRetorno = Bematech_FI_GrandeTotalUltimaReducaoMFD(cGT)

// Exemplo em Delphi

for iConta := 1 to 19 do cGT := cGT + ' ';

iRetorno := Bematech_FI_GrandeTotalUltimaReducaoMFD( cGT );


Bematech_FI_InicioFimCOOsMFD

Bematech_FI_InicioFimCOOsMFD

Retorna o COO (Contador de Ordem de Operação) inicial e final.

Parâmetros:

cCOOInicial: Variável STRING com o tamanho de 6 posições para receber a informação do COO inicial + 1 posição para o NULL.

cCOOFinal: Variável STRING com o tamanho de 6 posições para receber a informação do COO final + 1 posição para o NULL.

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(7)

cCOOFinal = space(7)

iRetorno = Bematech_FI_InicioFimCOOsMFD(cCOOInicial, cCOOFinal)

// Exemplo em Delphi

for iConta := 1 to 7 do

begin

cCOOInicial := cCOOInicial + ' ';

cCOOFinal := cCOOFinal + ' ';

end;

iRetorno := Bematech_FI_InicioFimCOOsMFD( cCOOInicial, cCOOFinal );


Bematech_FI_InicioFimGTsMFD

Bematech_FI_InicioFimGTsMFD

Retorna o valor do grande total (GT) inicial e final.

Parâmetros:

cGTInicial: Variável STRING com o tamanho de 18 posições para receber a informação do GT inicial + 1 posição para o NULL.

cGTFinal: Variável STRING com o tamanho de 18 posições para receber a informação do GT final + 1 posição para o NULL.

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(19)

cGTFinal = space(19)

iRetorno = Bematech_FI_InicioFimGTsMFD(cGTInicial, cGTFinal)

// Exemplo em Delphi

for iConta := 1 to 19 do

begin

cGTInicial := cGTInicial + ' ';

cGTFinal := cGTFinal + ' ';

end;

iRetorno := Bematech_FI_InicioFimGTsMFD( cGTInicial, cGTFinal );


Bematech_FI_InscricaoEstadualMFD

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 + 1 posição para o NULL.

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

forto 20 do sInscricaoEstadual := sInscricaoEstadual + ' ';

iRetorno := Bematech_FI_InscricaoEstadualMFD( sInscricaoEstadual );


Bematech_FI_InscricaoMunicipalMFD

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 + 1 posição para o NULL.

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(21)

iRetorno = Bematech_FI_InscricaoMunicipalMFD(sInscricaoMunicipal)

// Exemplo em Delphi

for iConta := 1 to 21 do sInscricaoMunicipal := sInscricaoMunicipal + ' ';

iRetorno := Bematech_FI_InscricaoMunicipalMFD( sInscricaoMunicipal );


Bematech_FI_MarcaModeloTipoImpressoraMFD

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 + 1 posição para o NULL.

Modelo: Variável STRING com 20 posições para receber o modelo + 1 posição para o NULL.

Tipo: Variável STRING com 7 posições para receber o tipo da impressora + 1 posição para o NULL.

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(16)

sModelo = space(21)

sTipo = space(8)

iRetorno = Bematech_FI_MarcaModeloTipoImpressoraMFD(sMarca,sModelo,sTipo)

// Exemplo em Delphi

for iConta := 1 to 16 do sMarca := sMarca + ' ';

for iConta := 1 to 21 do sModelo := sModelo + ' ';

for iConta := 1 to 8 do sTipo := sTipo + ' ';

iRetorno := Bematech_FI_MarcaModeloTipoImpressoraMFD( sMarca, sModelo, sTipo );


Bematech_FI_MinutosEmitindoDocumentosFiscaisMFD

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 + 1 posição para o NULL.

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(5)

iRetorno = Bematech_FI_MinutosEmitindoDocumentosFiscaisMFD(sTempo)

// Exemplo em Delphi

for iConta := 1 to 5 do sTempo := sTempo + ' ';

iRetorno := Bematech_FI_MinutosEmitindoDocumentosFiscaisMFD( sTempo );


Bematech_FI_NumeroSerieMemoriaMFD

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 + 1 posição para o NULL.

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(21)

iRetorno = Bematech_FI_NumeroSerieMemoriaMFD(sMFD)

// Exemplo em Delphi

iConta := 1 to 21 do sMFD := sMFD + ' ';

iRetorno := Bematech_FI_NumeroSerieMemoriaMFD( sMFD );


Bematech_FI_NumeroSerieMFD

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 + 1 posição para o NULL.

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(21)

iRetorno = Bematech_FI_NumeroSerieMFD(sNumeroSerie)

// Exemplo em Delphi

for iConta := 1 to 21 sNumeroSerie := sNumeroSerie + ' ';

iRetorno := Bematech_FI_NumeroSerieMFD(sNumeroSerie);


Bematech_FI_PercentualLivreMFD

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 + 1 posição para o NULL.

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(7)

iRetorno = Bematech_FI_PercentualLivreMFD(sMemoriaLivre)

// Exemplo em Delphi

iConta := 1 to 7 do sMemoriaLivre := sMemoriaLivre + ' ';

iRetorno := Bematech_FI_PercentualLivreMFD( sMemoriaLivre );


Bematech_FI_ReducoesRestantesMFD

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 + 1 posição para o NULL.

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(5)

iRetorno = Bematech_FI_ReducoesRestantesMFD(sRed)

// Exemplo em Delphi

for iConta := 1 to 5 do sRed := sRed + ' ';

iRetorno := Bematech_FI_ReducoesRestantesMFD( sRed );


Bematech_FI_StatusEstendidoMFD

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 e MP-4000 TH FI.

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_SubTotalComprovanteNaoFiscalMFD

Bematech_FI_SubTotalComprovanteNaoFiscalMFD

Retorna o subtotal do comprovante não fiscal não vinculado (recebimento).

Parâmetro:

cSubtotal: Variável STRING com o tamanho de 14 posições para receber a informação + 1 posição para o NULL.

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 e MP-4000 TH FI.

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_TamanhoTotalMFD

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 + 1 posição para o NULL.

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(11)

iRetorno = Bematech_FI_TamanhoTotalMFD(sMemoriaLivre)

// Exemplo em Delphi

for iConta := 1 to 11 do sMemoriaLivre := sMemoriaLivre + ' ';

iRetorno := Bematech_FI_TamanhoTotalMFD( sMemoriaLivre );


Bematech_FI_TempoOperacionalMFD

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 + 1 posição para o NULL.

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(5)

iRetorno = Bematech_FI_TempoOperacionalMFD(sTempo)

// Exemplo em Delphi

for iConta := 1 to 5 do sTempo := sTempo + ' ';

iRetorno := Bematech_FI_TempoOperacionalMFD( sTempo );


Bematech_FI_TempoRestanteComprovanteMFD

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 com o tamanho de 4 posições para receber a informação + 1 posição para o NULL.

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 e MP-4000 TH FI.

Exemplo:

' Exemplo em Visual Basic

cTempo = space(5)

iRetorno = Bematech_FI_TempoRestanteComprovanteMFD(cTempo)

// Exemplo em Delphi

for iConta := 1 to 5 cTempo := cTempo + ' ';

iRetorno := Bematech_FI_TempoRestanteComprovanteMFD( cTempo );


Bematech_FI_TotalIssCupomMFD

Bematech_FI_TotalIssCupomMFD

Retorna o valor de ISS recolhido no cupom fiscal.

Parâmetro:

ISS: Variável STRING com o tamanho de 14 posições para receber o valor do ISS + 1 posição para o NULL.

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 está disponível apenas para os modelos MP-4000 TH FI e MP-7000 TH FI.

Exemplo:

' Exemplo em Visual Basic

cISS = space(15)

iRetorno = Bematech_FI_TotalIssCupomMFD(cISS)

// Exemplo em Delphi

iConta := 1 to 15 do cISS := cISS + ' ';

iRetorno := Bematech_FI_TotalIssCupomMFD( cISS );


Bematech_FI_TotalLivreMFD

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 + 1 posição para o NULL.

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(11)

iRetorno = Bematech_FI_TotalLivreMFD(sMemoriaLivre)

// Exemplo em Delphi

for iConta := 1 to 11 do sMemoriaLivre := sMemoriaLivre + ' ';

iRetorno := Bematech_FI_TotalLivreMFD( sMemoriaLivre );


Bematech_FI_UFProprietarioMFD

Bematech_FI_UFProprietarioMFD

Retorna a UF do proprietário cadastrada na impressora.

Parâmetro:

cUF: Variável STRING com o tamanho de 2 posições para receber a informação + 1 posição para o NULL.

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).

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, e MP-4000 TH FI.

Exemplo:

' Exemplo em Visual Basic

cUF = space(3)

iRetorno = Bematech_FI_UFProprietarioMFD(cUF)

// Exemplo em Delphi

for iConta := 1 to 3 do cUF := cUF + ' ';

iRetorno := Bematech_FI_UFProprietarioMFD( cUF );


Bematech_FI_ValorFormaPagamentoMFD

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 + 1 posição para o NULL.

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(15)

iRetorno = Bematech_FI_ValorFormaPagamentoMFD("Cheque", Valor)

// Exemplo em Delphi

cFormaPgto := 'Cheque';

for iConta := 1 to 15 do Valor := Valor + ' ';

iRetorno := Bematech_FI_ValorFormaPagamentoMFD( pchar( cFormaPgto ), Valor );


Bematech_FI_ValorTotalizadorNaoFiscalMFD

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 + 1 posição para o NULL.

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(15)

iRetorno = Bematech_FI_ValorTotalizadorNaoFiscalMFD("Rec. Prestacao", Valor)

// Exemplo em Delphi

cTotalizador := 'Cheque';

for iConta := 1 to 15 do Valor := Valor + ' ';

iRetorno := Bematech_FI_ValorTotalizadorNaoFiscalMFD( pchar( cTotalizador ), Valor );


Bematech_FI_VerificaCancelamentoCupom2HorasMFD

Bematech_FI_VerificaCancelamentoCupom2HorasMFD

Verificar se o cancelamento automático do cupom às duas horas está habilitado ou desabilitado.

Parâmetro:

cFlag: Variável STRING para receber a informação, onde:

0: cancelamento desabilitado.

1: cancelamento habilitado.

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 texto

-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.03.03 ou MP-2100 TH FI e MP-4000 TH FI.

Exemplo:

' Exemplo em Visual Basic

cFlag = " "

iRetorno = Bematech_FI_VerificaCancelamentoCupom2HorasMFD( cFlag )

// Exemplo em Delphi

cFlag := ' ';

iRetorno := Bematech_FI_VerificaCancelamentoCupom2HorasMFD( cFlag );


Bematech_FI_VerificaEstadoImpressoraMFD

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_VerificaFlagCorteMFD

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 e MP-4000 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_VerificaFlagCorteMFD(iFlag)

// Exemplo em Delphi

iRetorno := Bematech_FI_VerificaFlagCorteMFD( iFlag );


Bematech_FI_VerificaFormasPagamentoMFD

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 + 1 posição para o NULL.

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:

Descrição 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

· A impressora MFD permite programar até 19 formas de pagamento, sendo que a forma de pagamento "01" é sempre "Dinheiro", e essas formas não são mais apagadas na redução Z (conforme ocorria na impressora MP-20 FI II). As formas que não estiverem programadas estarão com os valores zerados e a descrição em branco.

Exemplo:

' Exemplo em Visual Basic

sFgto = space(920)

iRetorno = Bematech_FI_VerificaFormasPagamentoMFD(sFgto)

// Exemplo em Delphi

for iConta := 1 to 920 do sFgto := sFgto + ' ';

iRetorno := Bematech_FI_VerificaFormasPagamentoMFD( sFgto );


Bematech_FI_VerificaRecebimentoNaoFiscalMFD

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 + 1 posição para o NULL.

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(1078)

iRetorno = Bematech_FI_VerificaRecebimentoNaoFiscalMFD(sRec)

// Exemplo em Delphi

for iConta := 1 to 1078 do sRec := sRec + ' ';

iRetorno := Bematech_FI_VerificaRecebimentoNaoFiscalMFD( sRec );


Bematech_FI_VerificaRelatorioGerencialMFD

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 + 1 posição para o NULL.

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(660)

iRetorno = Bematech_FI_VerificaRelatorioGerencialMFD(sRec)

// Exemplo em Delphi

for iConta := 1 to 660 do sRel := sRel + ' ';

iRetorno := Bematech_FI_VerificaRelatorioGerencialMFD( sRec );


Bematech_FI_VerificaSensorPoucoPapelMFD

Bematech_FI_VerificaSensorPoucoPapelMFD

Verificar se o sensor de pouco papel está habilitado ou desabilitado.

Parâmetro:

cFlag: Variável STRING para receber a informacao, onde:

0: sensor desabilitado.

1: sensor habilitado.

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.03.03 ou MP-2100 TH FI e MP-4000 TH FI.

Exemplo:

' Exemplo em Visual Basic

cFlag = " "

iRetorno = Bematech_FI_VerificaSensorPoucoPapelMFD( cFlag )

// Exemplo em Delphi

cFlag := ' ';

iRetorno := Bematech_FI_VerificaSensorPoucoPapelMFD( cFlag );


Bematech_FI_VerificaTotalizadoresNaoFiscaisMFD

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 + 1 posição para o NULL.

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(600)

iRetorno = Bematech_FI_VerificaTotalizadoresNaoFiscaisMFD(sTot)

// Exemplo em Delphi

for iConta := 1 to 600 do sTot := sTot + ' ';

iRetorno := Bematech_FI_VerificaTotalizadoresNaoFiscaisMFD( sTot );


Bematech_FI_VerificaTotalizadoresParciaisMFD

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: 420 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

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 + 1 posição para o NULL.

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(7)

iRetorno = Bematech_FI_VersaoFirmwareMFD(sVersaoFirmware)

// Exemplo em Delphi

for iConta := 1 to 7 do sVersaoFirmware := sVersaoFirmware + ' ';

iRetorno := Bematech_FI_VersaoFirmwareMFD( sVersaoFirmware );


Bematech_FI_ImprimeChequeMFD

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_ImprimeChequeMFDEx

Bematech_FI_ImprimeChequeMFDEx

Monta e imprime o cheque na impressora MP-7000 TH FI ou IBM 4610 KN4 de acordo com as coordenadas no arquivo BemaFI32.ini.

Parâmetros:

cNumBanco: variável STRING com o numero do banco até 3 caracteres.

cValor: variável STRING com o Valor do cheque até 14 caracteres.

cFavorecido: variável STRING com o Favorecido até 80 caracteres.

cCidade: variável STRING com a Cidade até 27 caracteres.

cData: variável STRING com a Data no formato DD/MM/AA ou DD/MM/AAAA.

cMsg: variável STRING com a Mensagem até 240 caracteres.

cFonte: variável STRING para definir a fonte de impressão, onde: Fonte normal "0" ou fonte grande "1".

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_ImprimeChequeMFDEx("001", "50,00", "Fulano de Tal", "Curitiba", "18/04/02", "Bom para 30/04/02", "0")

// Exemplo em Delphi

cCodigoBanco := '001';

cValor := '50,00';

cFavorecido := 'Fulano de Tal';

cCidade := 'Curitiba';

cData := '18/04/02';

cMsg := 'Bom para 30/04/02';

cFonte := '0';

iRetorno := Bematech_FI_ImprimeChequeMFDEx( pchar( cCodigoBanco ), pchar( cValor ), pchar( cFavorecido ), pchar( cCidade ), pchar( cData ), pchar( cMsg ), pchar( cFonte ) );


Bematech_FI_ImprimeInformacaoChequeMFD

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_LeituraChequeMFD

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.

-9 - Time-out na leitura do cheque.

-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_ViraChequeMFD

Bematech_FI_ViraChequeMFD

Vira o cheque para impressão de texto no verso.

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:

· Função disponível para as impressoras fiscais térmicas MP-7000 TH FI e IBM 4610-KN4.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_ViraChequeMFD()

// Exemplo em Delphi

iRetorno := Bematech_FI_ViraChequeMFD();


Bematech_FI_ConfiguraCodigoBarrasMFD

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ções:

· 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

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

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

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

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

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

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

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 90000")

// Exemplo em Delphi

cCodigo := '1-56592-292-X 90000';

iRetorno := Bematech_FI_CodigoBarrasISBNMFD( pchar( cCodigo ) );


Bematech_FI_CodigoBarrasITFMFD

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

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

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

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

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

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

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 &endash; 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_AcionaGuilhotinaMFD

Bematech_FI_AcionaGuilhotinaMFD

Aciona a guilhotina para o corte do papel, nas impressoras fiscais térmicas MFD.

Parâmetros:

iTipoCorte: variável INTEIRA para definir o tipo de corte do papel. Onde:

0: para corte parcial ou;

1: para corte total.

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:

· A função só terá efeito dentro do Comprovante Não Fiscal Vinculado e Relatório Gerencial.
· Função disponível para a impressora fiscal térmica MP-2000 TH FI versão 01.00.02 ou 01.01.01, MP-2100 TH FI, MP-4000 TH FI e MP-7000 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_AcionaGuilhotinaMFD(1)

// Exemplo em Delphi

iRetorno := Bematech_FI_AcionaGuilhotinaMFD( 1 );


Bematech_FI_AtivaDesativaCorteProximoMFD

Bematech_FI_AtivaDesativaCorteProximoMFD

Ativa ou desativa o corte do papel (acionamento da guilhotina) para o documento impresso.

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:

· Esta função ativará ou desativará o corte do papel, do documento que será impresso, retornando ao default que é sempre ativo.
· Função disponível para a impressora fiscal térmica MP-2000 TH FI versão 01.00.02 ou 01.01.01, MP-2100 TH FI, MP-4000 TH FI e MP-7000 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_AtivaDesativaCorteProximoMFD()

// Exemplo em Delphi

iRetorno := Bematech_FI_AtivaDesativaCorteProximoMFD();


Bematech_FI_AtivaDesativaGuilhotinaMFD

Bematech_FI_AtivaDesativaGuilhotinaMFD

Ativa ou desativa a guilhotina, nas impressoras fiscais térmicas MFD que possuem guilhotina.

Parâmetros:

Tipo: variável INTEIRA para ativar ou desativar a guilhotina. Onde:

0: desativa.

1: 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ções:

· Esta função está disponível apenas para os modelos MP-2100 TH FI versão 01.01.01, MP-4000 TH FI e MP-7000 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_AtivaDesativaGuilhotinaMFD(1)

// Exemplo em Delphi

iRetorno := Bematech_FI_AtivaDesativaGuilhotinaMFD( 1 );


Bematech_FI_AvancaPapelAcionaGuilhotinaMFD

Bematech_FI_AvancaPapelAcionaGuilhotinaMFD

Avança a bobina antes de cortar o papel.

Parâmetros:

iLinhas: variável INTEIRA com o número de linhas para avançar bobina antes do corte do papel, compreendido entre 0 e 255.

iTipoCorte: variável INTEIRA para definir o tipo de corte do papel. Onde:

0: para corte total ou;

1: para corte parcial ou;

2: sem corte.

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:

· Função disponível para as impressoras fiscais térmicas MP-7000 TH FI e IBM 4610-KN4.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_AvancaPapelAcionaGuilhotinaMFD(10, 1)

// Exemplo em Delphi

iRetorno := Bematech_FI_AvancaPapelAcionaGuilhotinaMFD( 10, 1 );


Bematech_FI_ConfiguraCorteGuilhotinaMFD

Bematech_FI_ConfiguraCorteGuilhotinaMFD

Configurar o corte parcial na guilhotina, nas impressoras fiscais térmicas MFD.

Parâmetros:

iTempo: variável INTEIRA para definir o tempo de acionamento da guilhotina. Valor compreendido entre 0 e 254 ms

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 texto

-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Observações:

· A função só terá efeito dentro do Comprovante Não Fiscal Vinculado e Relatório Gerencial.
· Função disponível para a impressora fiscal térmica MP-2000 TH FI versão 01.00.02 ou 01.01.01, MP-2100 TH FI, MP-4000 TH FI e MP-7000 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_ConfiguraCorteGuilhotinaMFD(100)

// Exemplo em Delphi

iRetorno := Bematech_FI_ConfiguraCorteGuilhotinaMFD( 100 );


Bematech_FI_DadosSintegraMFD

Bematech_FI_DadosSintegraMFD

Esta função retorna informações da memória fiscal utilizadas na geração do relatório Sintegra, para as impressoras no convênio ICMS 85/01.

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;
Cancelamentos ISS | : 12 bytes
Descontos | : 12 bytes;
Descontos ISS | : 12 bytes;
Acréscimos | : 12 bytes;
Acréscimos ISS | : 12 bytes;
Operação Não Fiscal | : 12 bytes;
F (Substituição Tributária) | : 12 bytes;
FI (Substituição ISS) | : 12 bytes;
I (Isenção) | : 12 bytes;
II (Isenção ISS) | : 12 bytes;
N (Não Incidência) | : 12 bytes;
NI (Não Incidência ISS) | : 12 bytes;
ISS | : 12 bytes;
Situação Tributária (valor percentual da alíquota) 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.
· 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_DadosSintegraMFD("010104", "310104")

// Exemplo em Delphi

DataInicial := '010104';

DataFinal := '310104';

iRetorno := Bematech_FI_DadosSintegraMFD( pchar( DataInicial ), pchar( DataFinal ) );


Bematech_FI_DownloadMF

Bematech_FI_DownloadMF

Realiza o download da MF (Memória Fiscal) das impressoras fiscais do convênio ICMS 85.

Parâmetro:

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 e BemaMFD2.dll para o diretório de sistema de seu Windows.
· No emulador da impressora, para que a função tenha efeito, é obrigatório que a comunicação seja realizada através de um cabo serial fisicamente conectado ao micro (COM1 <-> COM2, por exemplo). A pinagem deste cabo está descrito no arquivo de ajuda do emulador.

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

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 DDMMAAAA, COO com no máximo 6 dígitos).

cDadoFinal: STRING com a data ou o COO final (data no formato DDMMAA ou DDMMAAAA, 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 e BemaMFD2.dll para o diretório de sistema de seu Windows.
· No emulador da impressora, para que a função tenha efeito, é obrigatório que a comunicação seja realizada através de um cabo serial fisicamente conectado ao micro (COM1 <-> COM2, por exemplo). A pinagem deste cabo está descrito no arquivo de ajuda do emulador.

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_DownloadSB

Bematech_FI_DownloadSB

Realiza o download da Software Básico das impressoras fiscais do convênio ICMS 85.

Parâmetros:

cArquivo: STRING com o nome do arquivo que será gerado, exemplo: "DOWNLOAD.bin".

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

0: Erro de comunicação.

1: OK.

-5: Erro ao abrir a porta de comunicação.

-8: Erro ao criar ou gravar no arquivo STATUS.TXT ou RETORNO.TXT.

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_DownloadSB( "DOWNLOAD.bin" );

// Exemplo em Delphi

cArquivo := 'DOWNLOAD.bin';

iRetorno := Bematech_FI_DownloadSB( pchar( cArquivo ) );


Bematech_FI_FormatoDadosMFD

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 DDMMAAAA, COO com no máximo 6 dígitos).

cDadoFinal: STRING com a data ou o COO final (data no formato DDMMAA ou DDMMAAAA, 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.
· 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 as dlls "BemaMFD.dll" e "BemaMFD2.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 VB

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_FormatoDadosMF

Bematech_FI_FormatoDadosMF

Gera os dados da MF (Memória Fiscal) em formato TXT ou RTF.

Parâmetros:

cArquivoOrigem: STRING com o nome do arquivo MF contendo o download dos dados da memória fiscal, exemplo: "C:\DOWNLOAD.MF".

cDestino: STRING com o nome do arquivo que será gerado, exemplo: "SAIDA.TXT".

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)

cTipoLeitura: STRING com o tipo da leitura da MF, onde:

"C" = completa

"S" = simplificada

cTipoDownload: STRING com o tipo de download, onde:

"D" = download por data

"C" = download por CRZ (Contador de Redução Z)

cDadoInicial: STRING com a data ou o CRZ inicial (data no formato DDMMAA ou DDMMAAAA, CRZ com no máximo 6 dígitos).

cDadoFinal: STRING com a data ou o CRZ final (data no formato DDMMAA ou DDMMAAAA, CRZ com no máximo 6 dígitos).

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.
· Esta função não retornará os status ACK, ST1 e ST2 da impressora, pois ela é utiliza apenas para converter o download da MF nos formatos citados acima.
· Não esqueça de copiar as dlls "BemaMFD.dll" e "BemaMFD2.dll" para o diretório de sistema de seu Windows.
· O arquivo MF de origem, deve ser gerado através da função Bematech_FI_DownloadMF.

Exemplo:

' Exemplo em VB

iRetorno = Bematech_FI_FormatoDadosMF("C:\DOWNLOAD.MF", "C:\SAIDA.TXT", "0", "C", "C", "000150", "000250")

// Exemplo em Delphi

cArquivoOrigem := 'C:\DOWNLOAD.MF';

cArquivoDestino := 'C:\SAIDA.TXT';

cFormatoDados := '0';

cTipoLeitura := 'C';

cTipoDownload := 'C';

cDadoInicial := '000150';

cDadoFinal := '000250';

iRetorno := Bematech_FI_FormatoDadosMF( pchar( cArquivoOrigem ), pchar( cArquivoDestino ), pchar( cFormatoDados ), pchar( cTipoLeitura ), pchar( cTipoDownload ), pchar( cDadoInicial ), pchar( cDadoFinal ) );


Bematech_FI_GeraRelatorioSintegraMFD

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 os registros do Sintegra pertinentes ao ECF

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 os registros do Sintegra pertinentes ao ECF

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_HabilitaDesabilitaRetornoEstendidoMFD

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
209 | ALÍQUOTA DE ISS NÃO PERMITIDA SEM INSCRIÇÃO MUNICIPAL
210 | RETORNO PACOTE CLICHE FORA DA SEQUÊNCIA
211 | ESPAÇO PARA ARMAZENAMENTO DO CLICHE ESGOTADO
212 | CLICHE GRÁFICO NÃO DISPONÍVEL PARA CONFIRMAÇÃO
213 | CRC DO CLICHE GRÁFICO DIFERENTE DO INFORMADO
214 | INTERVALO INVÁLIDO
215 | USUÁRIO JÁ PROGRAMADO
217 | DETECTADA ABERTURA DO EQUIPAMENTO
218 | CANCELAMENTO DE ACRÉSCIMO/DESCONTO NÃO PERMITIDO


Bematech_FI_ImprimeClicheMFD

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

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 ICMS...: 11,14

Cancelamentos ISSQN..: 0,00

Acrescimos ICMS......: 2,33

Acrescimos ISSQN.....: 0,00

Descontos ICMS.......: 7,09

Descontos ISSQN......: 0,00

Substituicao ICMS....: 23,55

Substituicao ISSQN...: 0,00

Isencao ICMS.........: 0,00

Isencao ISSQN........: 0,00

Nao incidencia ICMS..: 0,00

Nao incidencia ISSQN.: 0,00

1200.................: 0,00

1700.................: 0,00

ISS..................: 0,00

· Após a linha "Nao incidencia ISSQN" 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_ProgramaIdAplicativoMFD

Bematech_FI_ProgramaIdAplicativoMFD

Programa a identificação do aplicativo no cupom fiscal e comprovante não fiscal.

Importante:

· Esta função também pode ser usada para imprimir a mensagem complementar, conforme exigência do Convênio PAF-ECF.

Parâmetro:

cAplicativo: Variável string com até 84 caracteres, para identificar o nome do aplicativo.

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 o cupom fiscal esteja fechado.
· Não será necessário sua execução a cada início de dia.
· Função disponível para as impressoras fiscais térmica MP-2100 TH FI, MP-4000 TH FI e MP-7000 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_ProgramaIdAplicativoMFD("APPTESTE.EXE")

// Exemplo em Delphi

cAplicativo := "APPTESTE.EXE";

iRetorno := Bematech_FI_ProgramaIdAplicativoMFD( pchar( cAplicativo ) );


Bematech_FI_RelatorioSintegraMFD

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 MSJET35.dll, e copiar as dlls BemaMFD.dll e BemaMFD2.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).
· No emulador da impressora, para que a função tenha efeito, é obrigatório que a comunicação seja realizada através de um cabo serial fisicamente conectado ao micro (COM1 <-> COM2, por exemplo). A pinagem deste cabo está descrito no arquivo de ajuda do emulador.

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, ( 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

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

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 );


Bematech_FI_NomeiaRelatorioGerencialCV0909

Bematech_FI_NomeiaRelatorioGerencialCV0909

Esta função cria um relatório gerencial na impressora fiscal.

Parâmetros:

Índice: variável STRING com o índice do relatório gerencial no tamanho de até 2 bytes entre "02" e "30".

Descrição: variável STRING com a descrição do relatório gerencial no tamanho de até 15 bytes. O tamanho mínimo para este parâmetro é 4 bytes.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_NomeiaRelatorioGerencialCV0909("02", "Identificação PAF-ECF")

// Exemplo em Delphi

cIndice := '02';

cDescricao := 'Identificação PAF-ECF';

iRetorno := Bematech_FI_NomeiaRelatorioGerencialCV0909( pchar( cIndice ), pchar( cDescricao ) );


Bematech_FI_NomeiaTotalizadorNaoSujeitoIcmsCV0909

Bematech_FI_NomeiaTotalizadorNaoSujeitoIcmsCV0909

Esta função cria um totalizador não sujeito ao ICMS na impressora fiscal.

Parâmetros:

Índice: variável INT com o índice do totalizador no tamanho de até 2 bytes entre "03" e "30".

Descrição: variável STRING com a descrição do totalizador no tamanho de até 15 bytes. O tamanho mínimo para este parâmetro é 4 bytes.

Situação: variável STRING com a situação do totalizador, onde "E" é para operações de entrada ou "S" para operações de saída.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.
· Somente será programado o totalizador na impressora a partir da posição "03", pois "01" corresponde ao "FUNDO DE TROCO" e "02" a "SANGRIA".

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_NomeiaTotalizadorNaoSujeitoIcmsCV0909(3, "REC. PRESTACAO", "E")

// Exemplo em Delphi

iIndice := 3;

cDescricao := 'REC. PRESTACAO';

cSituacao := 'E';

iRetorno := Bematech_FI_NomeiaTotalizadorNaoSujeitoIcmsCV0909( iIndice, pchar( cDescricao ), pchar( cSituacao ) );


Bematech_FI_ProgramaAliquotaCV0909

Bematech_FI_ProgramaAliquotaCV0909

Esta função programa a alíquota de ICMS ou ISSQN na impressora fiscal.

Parâmetros:

Valor: variável STRING com o valor percentual da alíquota que será programa na impressora fiscal com o tamanho de 4 bytes.

Tipo: variável INT com o tipo da alíquota, sendo 0 (zero) para ICMS ou 1 (um) para ISSQN.

Índice: variável STRING com o índice (posição) da alíquota que será programada na impressora fiscal com o tamanho de 2 bytes e compreendido entre "01" a "30".

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_ProgramaAliquotaCV0909("1800", 0, "01")

// Exemplo em Delphi

cValor := '1800';

cIndice := "01";

iRetorno := Bematech_FI_ProgramaAliquotaCV0909( pchar( cValor ), 0, pchar( cIndice ) );


Bematech_FI_ProgramaFormaPagamentoCV0909

Bematech_FI_ProgramaFormaPagamentoCV0909

Esta função programa a forma de pagamento na impressora fiscal.

Parâmetros:

Índice: variável STRING com o índice (posição) da forma de pagamento que será programada na impressora fiscal com o tamanho de 2 bytes e compreendido entre "02" a "20", sendo que a forma de pagamento "01" é default "Dinheiro".

Descrição: variável STRING com a descrição da forma de pagamento com o tamanho compreendido entre 4 e 15 bytes.

Vinculo: variável INT para definir se a forma de pagamento irá permitir a emissão do comprovante não fiscal vinculado (CDC), sendo 1 para SIM ou 0 para NÃO.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_ProgramaFormaPagamentoCV0909("02", "Cartao", 1)

// Exemplo em Delphi

cIndice := '02';

cDescricao := 'Cartao';

iVinculo := 1;

iRetorno := Bematech_FI_ProgramaFormaPagamentoCV0909( pchar( cIndice ), pchar( cDescricao ), iVinculo );


Bematech_FI_ProgramaHorarioVeraoCV0909

Bematech_FI_ProgramaHorarioVeraoCV0909

Esta função programa/desprograma o horário de verão na impressora fiscal.

Parâmetros:

Modo: variável INT para programa/desprogramar o horário de verão na impressora fiscal, sendo 0 para desprogramar e 1 para programar.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.
· Deve ser executada somente após a redução Z. Para programar o horário de verão, basta executar a função logo após a redução Z. Para desprogramar o horário de verão, basta executar a função 1 hora após a emissão da redução Z e no mesmo dia de movimento.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_ProgramaHorarioVeraoCV0909(1)

// Exemplo em Delphi

iRetorno := Bematech_FI_ProgramaHorarioVeraoCV0909( 1 );


Bematech_FI_AbreCupomCV0909

Bematech_FI_AbreCupomCV0909

Esta função abre o cupom fiscal na impressora fiscal.

Parâmetros:

CNPJ/CPF do Cliente: variável STRING com o CNPJ ou CPF do cliente no tamanho de até 14 bytes, podendo ser NULL.

Nome do Cliente: variável STRING com o nome do cliente no tamanho de até 30 bytes, podendo ser NULL.

Endereço do Cliente: variável STRING com o endereço do cliente no tamanho de até 79 caracteres, podendo ser NULL.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_AbreCupomCV0909("999.999.999-99", "Fulano de Tal", "Rua sem fim, 1000")

// Exemplo em Delphi

cCPF := '999.999.999-99';

cNome := 'Fulano de Tal';

cEndereco := 'Rua sem fim, 1000';

iRetorno := Bematech_FI_AbreCupomCV0909( pchar( cCPF ), pchar( cNome ), pchar( cEndereco ) );


Bematech_FI_AcrescimoDescontoItemCV0909

Bematech_FI_AcrescimoDescontoItemCV0909

Esta função efetua um acréscimo ou desconto no item do cupom fiscal.

Parâmetros:

Item: variável STRING com o código do item que receberá o acréscimo ou o desconto, com o tamanho de até 3 bytes.

Tipo: variável STRING para definir o acréscimo ou desconto, sendo "A" para acréscimo ou "D" para desconto.

Formato: variável STRING para definir o formato percentual ou valor, sendo "%" para percentual ou "$" para valor.

Valor: variável STRING com o valor do acréscimo ou desconto no formato máximo de 13 bytes para valor ou 4 bytes para percentual, sem a 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,0 (Ack, St1, St2 e St3)

Observação:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_AcrescimoDescontoItemCV0909("003", "D", "%", "0500")

// Exemplo em Delphi

cItem := '003';

cTipo := 'D';

cFormato := '%';

cValor := '0500';

iRetorno := Bematech_FI_AcrescimoDescontoItemCV0909( pchar( cItem ), pchar( cTipo ), pchar( cFormato ), pchar( cValor ) );


Bematech_FI_AcrescimoDescontoSubtotalCV0909

Bematech_FI_AcrescimoDescontoSubtotalCV0909

Esta função efetua um acréscimo ou desconto no subtotal do cupom fiscal.

Parâmetros:

Tipo: variável STRING para definir o acréscimo ou desconto, sendo "A" para acréscimo ou "D" para desconto.

Formato: variável STRING para definir o formato percentual ou valor, sendo "%" para percentual ou "$" para valor.

Valor: variável STRING com o valor do acréscimo ou desconto no formato máximo de 13 bytes para valor ou 4 bytes para percentual, sem a 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,0 (Ack, St1, St2 e St3)

Observação:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_AcrescimoDescontoSubtotalCV0909("D", "%", "0500")

// Exemplo em Delphi

cTipo := 'D';

cFormato := '%';

cValor := '0500';

iRetorno := Bematech_FI_AcrescimoDescontoSubtotalCV0909( pchar( cTipo ), pchar( cFormato ), pchar( cValor ) );


Bematech_FI_CancelaAcrescimoDescontoItemCV0909

Bematech_FI_CancelaAcrescimoDescontoItemCV0909

Esta função cancela um acréscimo ou desconto no item do cupom fiscal.

Parâmetros:

Tipo: variável STRING para definir o acréscimo ou desconto, sendo "A" para acréscimo ou "D" para desconto.

Item: variável STRING com o código do item que receberá o cancelamento do acréscimo ou do desconto, com o tamanho de até 3 bytes.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_CancelaAcrescimoDescontoItemCV0909("D", "003")

// Exemplo em Delphi

cItem := '003';

cTipo := 'D';

iRetorno := Bematech_FI_CancelaAcrescimoDescontoItemCV0909( pchar( cTipo ), pchar( cItem ) );


Bematech_FI_CancelaAcrescimoDescontoSubtotalCV0909

Bematech_FI_CancelaAcrescimoDescontoSubtotalCV0909

Esta função cancela um acréscimo ou desconto no subtotal do cupom fiscal.

Parâmetros:

Tipo: variável STRING para definir o acréscimo ou desconto, sendo "A" para acréscimo ou "D" para 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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_CancelaAcrescimoDescontoSubtotalCV0909("D")

// Exemplo em Delphi

cTipo := 'D';

iRetorno := Bematech_FI_CancelaAcrescimoDescontoSubtotalCV0909( pchar( cTipo ) );


Bematech_FI_CancelaCupomAtualCV0909

Bematech_FI_CancelaCupomAtualCV0909

Esta função cancela o cupom fiscal em impressão na impressora fiscal.

Parâmetros:

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_CancelaCupomAtualCV0909()

// Exemplo em Delphi

iRetorno := Bematech_FI_CancelaCupomAtualCV0909();


Bematech_FI_CancelaCupomCV0909

Bematech_FI_CancelaCupomCV0909

Esta função cancela um cupom fiscal através de seu COO.

Parâmetros:

COO: variável STRING com o número COO do cupom fiscal que se deseja cancelar, com no máximo 9 bytes.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_CancelaCupomCV0909("000000150")

// Exemplo em Delphi

cCOO := '000000150';

iRetorno := Bematech_FI_CancelaCupomAtualCV0909( pchar( cCOO ) );


Bematech_FI_EfetuaFormaPagamentoIndiceCV0909

Bematech_FI_EfetuaFormaPagamentoIndiceCV0909

Esta função efetua a forma de pagamento no cupom fiscal através do índice da forma previamente programada na impressora fiscal.

Parâmetros:

Índice da Forma de Pagamento: variável STRING com o índice da forma de pagamento com o tamanho de até 2 bytes, entre "01" a "20".

Valor: variável STRING com o valor da forma de pagamento com o tamanho de até 13 bytes.

Parcela: variável STRING com o número de parcelas com o tamanho de até 2 bytes, entre "01" a "99".

Observação da Forma de Pagamento: variável STRING com um descritivo para a forma de pagamento utilizada com o tamanho de até 84 bytes, podendo ser NULL.

Código da Forma de Pagamento: variável STRING com o código da forma de pagamento usada para o CFe com o tamanho de 2 bytes, sendo:

"01": Dinheiro

"02": Cheque

"03": Cartão de Crédito

"04": Cartão de Débito

"05": Cartão Refeição/Alimentação

"06": Vale Refeição/Alimentação (em papel)

"07": Outros

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_EfetuaFormaPagamentoIndiceCV0909("01", "20,00", "01", "", "01")

// Exemplo em Delphi

cIndice := '01';

cValor := '20,00';

cParcela := '01';

cObs := '';

cCodigo := '01';

iRetorno := Bematech_FI_EfetuaFormaPagamentoIndiceCV0909( pchar( cIndice ), pchar( cValor ), pchar( cParcela ), pchar( cObs ), pchar( cCodigo ) );


Bematech_FI_TerminaFechamentoCupomCV0909

Bematech_FI_TerminaFechamentoCupomCV0909

Esta função encerra o cupom fiscal imprimindo a mensagem promocional na impressora fiscal.

Parâmetros:

Mensagem: variável STRING com a mensagem a ser impressora no encerramento do cupom fiscal com até 1024 bytes.

Imprime Cupom Adicional: variável INT para imprimir ou não ao cupom adicional, sendo 0 não imprime ou 1 imprime.

Guilhotina: variável INT para ativar/desativar o acionamento da guilhotina, sendo 0 para não acionar ou 1 para acionar.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_TerminaFechamentoCupomCV0909("Obrigado, volte sempre!", 0, 1)

// Exemplo em Delphi

cMensagem := 'Obrigado, volte sempre!';

iRetorno := Bematech_FI_TerminaFechamentoCupomCV0909( pchar( cMensagem ), 0, 1 );


Bematech_FI_VendeItemCV0909

Bematech_FI_VendeItemCV0909

Esta função vende um item na impressora fiscal.

Parâmetros:

Código: variável STRING com o código do item no tamanho entre 3 a 14 bytes.

Descrição: variável STRING com a descrição do item no tamanho de até 233 bytes.

Alíquota: variável STRING com o índice da alíquota previamente cadastrada na impressora com o tamanho de até 4 bytes, sendo que a alíquota deve começar com T (tributado), S (serviço), I (isento), F (substituição), N (não incidência), IS (isento em serviço), FS (substituição em serviço) ou NS (não incidência em serviço) seguido pelo índice da alíquota. Para as alíquotas T e S, o índice está entre 01 e 30. Para as demais, o índice pode ser 1, 2 ou 3.

Quantidade: variável STRING com a quantidade do item com o tamanho de até 7 bytes.

Casas Decimais na Quantidade: variável INT para definir o número de casas decimais da quantidade, entre 0 e 6.

Valor: variável STRING para o valor unitário do item com o tamanho de até 8 bytes.

Unidade de Medida: variável STRING com a unidade de medida do item com o tamanho de até 3 bytes.

Casas Decimais no Valor: variável STRING para definir o número de casas decimais do valor, entre 0 e 6.

Modo de Cálculo: variável STRING com o modo de cálculo, sendo "A" para arredondamento ou "T" para truncamento..

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_VendeItemCV0909("12345678901234", "Item de Teste", "T01", "10", 2, "5,00", "UN", "2", "A")

// Exemplo em Delphi

cCodigo := '12345678901234';

cDescricao := 'Item de Teste';

cAliquota := 'T01";

cQtde := '10';

cValor := '5,00';

cUnidade := 'UN";

cCasasValor := '2';

cModo := "A";

iRetorno := Bematech_FI_VendeItemCV0909( pchar( cCodigo ), pchar( cDescricao ), pchar( cAliquota ), pchar( cQtde ), 2, pchar( cValor ), pchar( cUnidade ), pchar( cCasasValor ), pchar( cModo ) );


Bematech_FI_BufferRespostaCV0909

Bematech_FI_BufferRespostaCV0909

Esta função retorna os dados da impressora fiscal após execução dos comandos do convênio ICMS 09/09.

Parâmetros:

Buffer: variável STRING para receber os dados da impressora fiscal iniciada com 4096 caracteres brancos.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

cBuffer = space(4096)

iRetorno = Bematech_FI_BufferRespostaCV0909(cBuffer)

// Exemplo em Delphi

for iConta := 1 to 4096 do cBuffer := cBuffer + ' ';

iRetorno := Bematech_FI_BufferRespostaCV0909( cBuffer );


Bematech_FI_DadosUltimaReducaoCV0909

Bematech_FI_DadosUltimaReducaoCV0909

Esta função retorna os dados da última redução Z emitida no ECF.

Parâmetros:

Dados: variável STRING para receber os dados da última redução Z, iniciada com 879 caracteres brancos.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.
· Os dados retornados são separados por pipe line ("|"), na seguinte estrutura:
· CRZ
· Data Movimento (ddmmaaaa)
· Data da gravação (ddmmaaaahhmmssf)
· CRO
· COO inicial (RZ anterior + 1)
· COO da RZ
· Número do Usuário
· VB (Venda Bruta)
· Desconto ICMS
· Acréscimo ICMS
· Cancelamentos ICMS
· Desconto ISSQN
· Acréscimo ISSQN
· Cancelamento ISSQN
· Total acumulador de Não Fiscais
· Quantidade de acumuladores fiscais parciais
· Tipo acumulador|Alíquota|Base de cálculo| (se repete para cada acumulador fiscal)
· Versão do Software básico (no formato XX.XX.XX)
· CNPJ
· I.E.
· I.M.

Exemplo:

' Exemplo em Visual Basic

cDados = space(879)

iRetorno = Bematech_FI_DadosUltimaReducaoCV0909(cDados)

// Exemplo em Delphi

for iConta := 1 to 879 do cDados := cDados + ' ';

iRetorno := Bematech_FI_DadosUltimaReducaoCV0909( cDados );


Bematech_FI_MinutosEmitindoDocumentosFiscaisCV0909

Bematech_FI_MinutosEmitindoDocumentosFiscaisCV0909

Esta função retorna os minutos em que a impressora fiscal emitiu documentos fiscais.

Parâmetros:

Minutos: variável STRING para receber os minutos, iniciada com 8 caracteres brancos.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

cMinutos = space(8)

iRetorno = Bematech_FI_MinutosEmitindoDocumentosFiscaisCV0909(cMinutos)

// Exemplo em Delphi

for iConta := 1 to 8 do cMinutos := cMinutos + ' ';

iRetorno := Bematech_FI_MinutosEmitindoDocumentosFiscaisCV0909( cMinutos );


Bematech_FI_NumeroCupomCV0909

Bematech_FI_NumeroCupomCV0909

Esta função retorna o número do último documento emitido na impressora fiscal.

Parâmetros:

cNumero: variável STRING para receber o número do documento emitido, iniciada com 9 caracteres brancos.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

cNumero = space(9)

iRetorno = Bematech_FI_NumeroCupomCV0909(cNumero)

// Exemplo em Delphi

for iConta := 1 to 9 do cNumero := cNumero + ' ';

iRetorno := Bematech_FI_NumeroCupomCV0909( cNumero );


Bematech_FI_NumeroOperacoesNaoFiscaisCV0909

Bematech_FI_NumeroOperacoesNaoFiscaisCV0909

Esta função retorna o número de operações não fiscais emitidas na impressora fiscal.

Parâmetros:

cNumero: variável STRING para receber o número de operações não fiscais, iniciada com 9 caracteres brancos.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

cNumero = space(9)

iRetorno = Bematech_FI_NumeroOperacoesNaoFiscaisCV0909(cNumero)

// Exemplo em Delphi

for iConta := 1 to 9 do cNumero := cNumero + ' ';

iRetorno := Bematech_FI_NumeroOperacoesNaoFiscaisCV0909( cNumero );


Bematech_FI_NumeroSerieCV0909

Bematech_FI_NumeroSerieCV0909

Esta função retorna o número serial da impressora fiscal.

Parâmetros:

Numero: variável STRING para receber o número serial da impressora fiscal, iniciada com 20 caracteres brancos.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

cNumero = space(20)

iRetorno = Bematech_FI_NumeroSerieCV0909(cNumero)

// Exemplo em Delphi

for iConta := 1 to 20 do cNumero := cNumero + ' ';

iRetorno := Bematech_FI_NumeroSerieCV0909( cNumero );


Bematech_FI_RetornoAliquotasCV0909

Bematech_FI_RetornoAliquotasCV0909

Esta função retorna as alíquotas cadastradas na impressora fiscal.

Parâmetros:

Alíquotas: variável STRING para receber as alíquotas cadastradas na impressora fiscal, iniciada com 299 caracteres brancos.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

cAliquota = space(299)

iRetorno = Bematech_FI_RetornoAliquotasCV0909(cAliquota)

// Exemplo em Delphi

for iConta := 1 to 299 do cAliquota := cAliquota + ' ';

iRetorno := Bematech_FI_RetornoAliquotasCV0909( cAliquota );


Bematech_FI_RetornoImpressoraCV0909

Bematech_FI_RetornoImpressoraCV0909

Esta função retorna o status da impressora fiscal após a execução do comando enviado.

Parâmetros:

CAT: variável INT para receber o CAT.

RET1: variável INT para receber o RET1.

RET2: variável INT para receber o RET1.

RET3: variável INT para receber o RET1.

RET4: variável INT para receber o RET1.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iCAT = 0

iRET1 = 0

iRET2 = 0

iRET3 = 0

iRET4 = 0

iRetorno = Bematech_FI_RetornoImpressoraCV0909(iCAT, iRET1, iRET2, iRET3, iRET4)

// Exemplo em Delphi

iCAT := 0;

iRET1 := 0;

iRET2 := 0;

iRET3 := 0;

iRET4 := 0;

iRetorno := Bematech_FI_RetornoImpressoraCV0909(iCAT, iRET1, iRET2, iRET3, iRET4);


Bematech_FI_TempoEmitindoOperacionalCV0909

Bematech_FI_TempoEmitindoOperacionalCV0909

Esta função retorna o tempo emitindo os documentos fiscais, além do tempo operacional.

Parâmetros:

Tempo1: variável STRING para receber o tempo emitindo documentos fiscais iniciada com 6 caracteres brancos.

Tempo2: variável STRING para receber o tempo operacional da impressora fiscal iniciada com 6 caracteres brancos.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

cTempo1 = space(6)

cTempo2 = space(6)

iRetorno = Bematech_FI_TempoEmitindoOperacionalCV0909(cTempo1, cTempo2)

// Exemplo em Delphi

for iConta := 1 to 6 do

begin

cTempo1 := cTempo1 + ' ';

cTempo2 := cTempo2 + ' ';

end;

iRetorno := Bematech_FI_TempoEmitindoOperacionalCV0909( cTempo1, cTempo2 );


Bematech_FI_VerificaFormasPagamentoCV0909

Bematech_FI_VerificaFormasPagamentoCV0909

Esta função retorna as formas de pagamentos cadastradas na impressora fiscal.

Parâmetros:

Formas: variável STRING para receber os valores das formas de pagamentos utilizadas na impressora fiscal, iniciada com 440 caracteres brancos.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

cForma = space(440)

iRetorno = Bematech_FI_VerificaFormasPagamentoCV0909(cForma)

// Exemplo em Delphi

for iConta := 1 to 440 do

cForma := cForma + ' ';

iRetorno := Bematech_FI_VerificaFormasPagamentoCV0909( cForma );


Bematech_FI_VerificaIndiceAliquotasIssCV0909

Bematech_FI_VerificaIndiceAliquotasIssCV0909

Esta função retorna o índice de cada alíquota ISS cadastrada na impressora fiscal.

Parâmetros:

Índice: variável STRING para receber os índices das alíquotas de ISS cadastradas na impressora fiscal iniciada com 89 caracteres brancos.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

cIndices = space(89)

iRetorno = Bematech_FI_VerificaIndiceAliquotasIssCV0909(cIndices )

// Exemplo em Delphi

for iConta := 1 to 89 do

cIndices := cIndices + ' ';

iRetorno := Bematech_FI_VerificaIndiceAliquotasIssCV0909( cIndices );


Bematech_FI_VerificaRecebimentoNaoFiscalCV0909

Bematech_FI_VerificaRecebimentoNaoFiscalCV0909

Esta função retorna os recebimentos não fiscais cadastrados na impressora fiscal.

Parâmetros:

Recebimentos: variável STRING para receber os recebimentos não fiscais cadastrados na impressora fiscal iniciada com 479 caracteres brancos. Serão retornados a quantidade de vezes que o totalizador foi utilizado no dia com seu valor respectivo, separados por 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,0 (Ack, St1, St2 e St3)

Observações:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.
· O primeiro e o segundo totalizador são "FUNDO DE TROCO" e "SANGRIA", "01" e "02", respectivamente.

Exemplo:

' Exemplo em Visual Basic

cRecebimentos = space(479)

iRetorno = Bematech_FI_VerificaRecebimentoNaoFiscalCV0909(cRecebimentos)

// Exemplo em Delphi

for iConta := 1 to 479 do

cRecebimentos := cRecebimentos + ' ';

iRetorno := Bematech_FI_VerificaRecebimentoNaoFiscalCV0909( cRecebimentos );


Bematech_FI_VerificaTotalizadoresNaoFiscaisCV0909

Bematech_FI_VerificaTotalizadoresNaoFiscaisCV0909

Esta função retorna a descrição dos totalizadores não fiscais cadastrados na impressora fiscal, como FUNDO DE TROCO, SANGRIA, etc.

Parâmetros:

Recebimentos: variável STRING para receber os totalizadores não fiscais cadastrados na impressora fiscal iniciada com 599 caracteres brancos.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

cTotalizadores = space(599)

iRetorno = Bematech_FI_VerificaTotalizadoresNaoFiscaisCV0909(cTotalizadores)

// Exemplo em Delphi

for iConta := 1 to 599 do

cTotalizadores := cTotalizadores + ' ';

iRetorno := Bematech_FI_VerificaTotalizadoresNaoFiscaisCV0909( cTotalizadores );


Bematech_FI_VersaoFirmwareCV0909

Bematech_FI_VersaoFirmwareCV0909

Esta função retorna a versão do software básico (firmware) da impressora fiscal.

Parâmetros:

Recebimentos: variável STRING para receber a versão do software básico da impressora fiscal iniciada com 6 caracteres brancos.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

cFirmware = space(6)

iRetorno = Bematech_FI_VersaoFirmwareCV0909(cFirmware)

// Exemplo em Delphi

for iConta := 1 to 6 do

cFirmware := cFirmware + ' ';

iRetorno := Bematech_FI_VersaoFirmwareCV0909( cFirmware );


Bematech_FI_AbreComprovanteNaoFiscalVinculadoCV0909

Bematech_FI_AbreComprovanteNaoFiscalVinculadoCV0909

Esta função abre o comprovante não fiscal vinculado (CDC) na impressora fiscal.

Parâmetros:

Seqüência do Pagamento: variável INT com a seqüência de pagamento no tamanho de 2 dígitos, podendo ser NULL.

Índice da Forma de Pagamento: variável STRING com o índice da forma de pagamento utilizada no cupom fiscal ou recebimento não fiscal com o tamanho de 2 caracteres, compreendido entre entre "02" e "30".

Quantidade de Parcelas: variável INT com a quantidade de parcelas com o tamanho de 2 dígitos. Se o pagamento foi realizado em "Dinheiro" este parâmetro deve receber 1.

Número da Parcela: variável INT com o número da parcela com o tamanho de 2 dígitos, podendo ser NULL.

CNPJ/CPF do Cliente: variável STRING com o CNPJ ou CPF do cliente no tamanho de até 14 bytes, podendo ser NULL.

Nome do Cliente: variável STRING com o nome do cliente no tamanho de até 30 bytes, podendo ser NULL.

Endereço do Cliente: variável STRING com o endereço do cliente no tamanho de até 79 caracteres, podendo ser NULL.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_AbreComprovanteNaoFiscalVinculadoCV0909(1, "02", 1, 1, "999.999.999-99", "Fulano de Tal", "Rua sem fim, 1000")

// Exemplo em Delphi

iSeqPGTO := 1;

cIndicePGTO := '02';

iQTDParcela := 1;

iNumParcela := 1;

cCPF := '999.999.999-99';

cNome := 'Fulano de Tal';

cEndereco := 'Rua sem fim, 1000';

iRetorno := Bematech_FI_AbreComprovanteNaoFiscalVinculadoCV0909( iSeqPGTO, pchar( cIndicePGTO ), iQTDParcela, iNumParcela, pchar( cCPF ), pchar( cNome ), pchar( cEndereco ) );


Bematech_FI_AbreRecebimentoNaoFiscalCV0909

Bematech_FI_AbreRecebimentoNaoFiscalCV0909

Esta função abre o recebimento não fiscal na impressora fiscal.

Parâmetros:

CNPJ/CPF do Cliente: variável STRING com o CNPJ ou CPF do cliente no tamanho de até 14 bytes, podendo ser NULL.

Nome do Cliente: variável STRING com o nome do cliente no tamanho de até 30 bytes, podendo ser NULL.

Endereço do Cliente: variável STRING com o endereço do cliente no tamanho de até 79 caracteres, podendo ser NULL.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_AbreRecebimentoNaoFiscalCV0909("999.999.999-99", "Fulano de Tal", "Rua sem fim, 1000")

// Exemplo em Delphi

cCPF := '999.999.999-99';

cNome := 'Fulano de Tal';

cEndereco := 'Rua sem fim, 1000';

iRetorno := Bematech_FI_AbreRecebimentoNaoFiscalCV0909( pchar( cCPF ), pchar( cNome ), pchar( cEndereco ) );


Bematech_FI_AbreRelatorioGerencialCV0909

Bematech_FI_AbreRelatorioGerencialCV0909

Esta função abre o relatório gerencial na impressora fiscal.

Parâmetros:

Índice do Relatório Gerencial: variável STRING com o índice do relatório gerencial previamente cadastrado na impressora com o tamanho de 2 caracteres, compreendido entre "01" a "30".

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_AbreRelatorioGerencialCV0909("01")

// Exemplo em Delphi

cIndice := '01';

iRetorno := Bematech_FI_AbreRelatorioGerencialCV0909( pchar( cIndice ) );


Bematech_FI_EfetuaRecebimentoNaoFiscalCV0909

Bematech_FI_EfetuaRecebimentoNaoFiscalCV0909

Esta função efetua o recebimento não fiscal na impressora fiscal.

Parâmetros:

Índice do Recebimento: variável STRING com o índice do recebimento previamente cadastrado na impressora fiscal com o tamanho de até 2 bytes, entre "03" a "30".

Valor: variável STRING com o valor do recebimento com o tamanho de até 13 bytes.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_EfetuaRecebimentoNaoFiscalCV0909("03", "50,00")

// Exemplo em Delphi

cIndice := '03';

cValor := '50,00';

iRetorno := Bematech_FI_EfetuaRecebimentoNaoFiscalCV0909( pchar( cIndice ), pchar( cValor ) );


Bematech_FI_EstornoFormasPagamentoCV0909

Bematech_FI_EstornoFormasPagamentoCV0909

Esta função efetua o estorno de formas de pagamento na impressora fiscal.

Parâmetros:

Forma de Pagamento de Origem: variável STRING com o índice da forma de pagamento de origem, com o tamanho de 2 bytes, entre "01" e "20".

Forma de Pagamento de Destino: variável STRING com o índice da forma de pagamento de destino, com o tamanho de 2 bytes, entre "01" e "20".

Valor a ser estornado: variável STRING com o valor da forma de pagamento que será estornada, com o tamanho de 13 bytes.

Parcela: variável INT com o número da parcela a ser estornada, entre 1 e 99.

Observação: variável STRING com uma observação sobre o estorno, como tamanho de até 1024 bytes, podendo ser NULL.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_EstornoFormasPagamentoCV0909("02", "03", "50,00", "01", "Estorno de forma de pagamento.")

// Exemplo em Delphi

cFormaOrigem := '02';

cFormaDestino := '03';

cValor := '50,00';

cParcela := '01';

cObs := 'Estorno de forma de pagamento.';

iRetorno := Bematech_FI_EstornoFormasPagamentoCV0909( pchar( cFormaOrigem ), pchar( cFormaDestino ), pchar( cValor ), pchar( cParcela ), pchar( cObs ) );


Bematech_FI_EstornoNaoFiscalVinculadoCV0909

Bematech_FI_EstornoNaoFiscalVinculadoCV0909

Esta função efetua o estorno do comprovante não fiscal vinculado (CDC) na impressora fiscal.

Parâmetros:

CPF do cliente: variável STRING com o CPF do cliente com o tamanho de até 14 bytes, podendo ser NULL.

Nome do cliente: variável STRING com o nome do cliente com o tamanho de até 30 caracteres, podendo ser NULL.

Endereço do cliente: variável STRING com o endereço com o tamanho de até 79 bytes, podendo ser NULL.

COO: variável STRING com o COO do comprovante não fiscal que será estornado com o tamanho de 9 bytes.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_EstornoNaoFiscalVinculadoCV0909("999.999.999-99", "Fulano de Tal", "Rua sem fim, 1000", "000000500", )

// Exemplo em Delphi

cCPF := '999.999.999-99';

cNome := 'Fulano de Tal';

cEndereco := 'Rua sem fim, 1000';

cCOO := '000000500';

iRetorno := Bematech_FI_EstornoNaoFiscalVinculadoCV0909( pchar( cCPF ), pchar( cNome ), pchar( cEndereco ), pchar( cCOO ) );


Bematech_FI_FechaRecebimentoNaoFiscalCV0909

Bematech_FI_FechaRecebimentoNaoFiscalCV0909

Esta função fecha o recebimento não fiscal na impressora fiscal.

Parâmetros:

Mensagem: variável STRING com a mensagem que será impressa no fechamento do recebimento não fiscal com até 1024 bytes, podendo ser NULL.

Guilhotina: variável INT para definir o acionamento da guilhotina após o fechamento do recebimento não fiscal, sendo 0 para não acionada ou 1 para acionada.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_FechaRecebimentoNaoFiscalCV0909("Obrigado, volte sempre!", 1)

// Exemplo em Delphi

cMensagem := 'Obrigado, volte sempre!';

iRetorno := Bematech_FI_FechaRecebimentoNaoFiscalCV0909( pchar( cMensagem ), 1 );


Bematech_FI_FechaRelatorioGerencialCV0909

Bematech_FI_FechaRelatorioGerencialCV0909

Esta função fecha o relatório gerencial na impressora fiscal.

Parâmetros:

Guilhotina: variável INT para definir o acionamento da guilhotina após o fechamento do relatório gerencial, sendo 0 para não acionada ou 1 para acionada.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_FechaRelatorioGerencialCV0909(1)

// Exemplo em Delphi

iRetorno := Bematech_FI_FechaRelatorioGerencialCV0909( 1 );


Bematech_FI_SangriaCV0909

Bematech_FI_SangriaCV0909

Esta função emite uma sangria na impressora fiscal.

Parâmetros:

Valor: variável STRING com o valor da sangria, no tamanho máxima de 14 bytes (formato 99999999999,99).

Comentário: variável STRING com uma descrição da sangria, com o tamanho máximo de 1024 bytes.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_SangriaCV0909("50,00", "Saída de valor do caixa.")

// Exemplo em Delphi

cValor := '50,00';

cDescicao := 'Saída de valor do caixa';

iRetorno := Bematech_FI_SangriaCV0909( pchar( cValor ), pchar( cDescricao ) );


Bematech_FI_SuprimentoCV0909

Bematech_FI_SuprimentoCV0909

Esta função emite uma suprimento na impressora fiscal.

Parâmetros:

Valor: variável STRING com o valor da suprimento, no tamanho máxima de 14 bytes (formato 99999999999,99).

Comentário: variável STRING com uma descrição da suprimento, com o tamanho máximo de 1024 bytes.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_SuprimentoCV0909("50,00", "Entrada de valor no caixa.")

// Exemplo em Delphi

cValor := '50,00';

cDescicao := 'Entrada de valor no caixa';

iRetorno := Bematech_FI_SuprimentoCV0909( pchar( cValor ), pchar( cDescricao ) );


Bematech_FI_SegundaViaNaoFiscalVinculadoCV0909

Bematech_FI_SegundaViaNaoFiscalVinculadoCV0909

Esta função imprime a segunda via do comprovante não fiscal vinculado (CDC) na impressora fiscal.

Parâmetros:

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_SegundaViaNaoFiscalVinculadoCV0909()

// Exemplo em Delphi

iRetorno := Bematech_FI_SegundaViaNaoFiscalVinculadoCV0909();


Bematech_FI_ReimpressaoNaoFiscalVinculadoCV0909

Bematech_FI_ReimpressaoNaoFiscalVinculadoCV0909

Esta função reimprime o comprovante não fiscal vinculado (CDC) na impressora fiscal.

Parâmetros:

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_ReimpressaoNaoFiscalVinculadoCV0909()

// Exemplo em Delphi

iRetorno := Bematech_FI_ReimpressaoNaoFiscalVinculadoCV0909();


Bematech_FI_UsaRelatorioGerencialCV0909

Bematech_FI_UsaRelatorioGerencialCV0909

Esta função imprime uma mensagem dentro do relatório gerencial na impressora fiscal.

Parâmetros:

Mensagem: variável STRING com a mensagem a ser impressora no encerramento do cupom fiscal com até 1024 bytes.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_UsaRelatorioGerencialCV0909("Informe o texto a ser impresso aqui...")

// Exemplo em Delphi

cMensagem := 'Informe o texto a ser impresso aqui...';

iRetorno := Bematech_FI_UsaRelatorioGerencialCV0909( pchar( cMensagem ) );


Bematech_FI_LeituraMemoriaFiscalDataCV0909

Bematech_FI_LeituraMemoriaFiscalDataCV0909

Esta função imprime a leitura da memória fiscal da impressora por intervalo de datas.

Parâmetros:

Data Inicial: variável STRING com a data inicial no formato DDMMAA, DD/MM/AA, DDMMAAAA ou DD/MM/AAAA.

Data Final: variável STRING com a data final no formato DDMMAA, DD/MM/AA, DDMMAAAA ou DD/MM/AAAA.

Tipo: variável STRING com o tipo de leitura, sendo "C" para completa ou "S" para simplificada.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_LeituraMemoriaFiscalDataCV0909("01/02/2013", "28/02/2013", "C")

// Exemplo em Delphi

cDataInicial := '01/02/2013';

cDataFinal := '28/02/2013';

cTipo := 'C';

iRetorno := Bematech_FI_LeituraMemoriaFiscalDataCV0909( pchar( cDataInicial ), pchar( cDataFinal ), pchar( cTipo ) );


Bematech_FI_LeituraMemoriaFiscalReducaoCV0909

Bematech_FI_LeituraMemoriaFiscalReducaoCV0909

Esta função imprime a leitura da memória fiscal da impressora por intervalo de redução Z.

Parâmetros:

Redução Inicial: variável STRING com a redução inicial com o tamanho de 4 bytes.

Redução Final: variável STRING com a redução final com o tamanho de 4 bytes.

Tipo: variável STRING com o tipo de leitura, sendo "C" para completa ou "S" para simplificada.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_LeituraMemoriaFiscalReducaoCV0909("000010", "000015", "C")

// Exemplo em Delphi

cReducaoInicial := '000010';

cReducaoFinal := '000015';

cTipo := 'C';

iRetorno := Bematech_FI_LeituraMemoriaFiscalReducaoCV0909( pchar( cReducaoInicial ), pchar( cReducaoFinal ), pchar( cTipo ) );


Bematech_FI_LeituraMemoriaFiscalSerialDataCV0909

Bematech_FI_LeituraMemoriaFiscalSerialDataCV0909

Esta função retorna no arquivo Retorno.txt a leitura da memória fiscal da impressora por intervalo de datas.

Parâmetros:

Data Inicial: variável STRING com a data inicial no formato DDMMAA, DD/MM/AA, DDMMAAAA ou DD/MM/AAAA.

Data Final: variável STRING com a data final no formato DDMMAA, DD/MM/AA, DDMMAAAA ou DD/MM/AAAA.

Tipo: variável STRING com o tipo de leitura, sendo "C" para completa ou "S" para simplificada.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_LeituraMemoriaFiscalSerialDataCV0909("01/02/2013", "28/02/2013", "C")

// Exemplo em Delphi

cDataInicial := '01/02/2013';

cDataFinal := '28/02/2013';

cTipo := 'C';

iRetorno := Bematech_FI_LeituraMemoriaFiscalSerialDataCV0909( pchar( cDataInicial ), pchar( cDataFinal ), pchar( cTipo ) );


Bematech_FI_LeituraMemoriaFiscalSerialReducaoCV0909

Bematech_FI_LeituraMemoriaFiscalSerialReducaoCV0909

Esta função retorna para o arquivo Retorno.txt a leitura da memória fiscal da impressora por intervalo de redução Z.

Parâmetros:

Redução Inicial: variável STRING com a redução inicial com o tamanho de 6 bytes.

Redução Final: variável STRING com a redução final com o tamanho de 6 bytes.

Tipo: variável STRING com o tipo de leitura, sendo "C" para completa ou "S" para simplificada.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_LeituraMemoriaFiscalSerialReducaoCV0909("000010", "000015", "C")

// Exemplo em Delphi

cReducaoInicial := '000010';

cReducaoFinal := '000015';

cTipo := 'C';

iRetorno := Bematech_FI_LeituraMemoriaFiscalSerialReducaoCV0909( pchar( cReducaoInicial ), pchar( cReducaoFinal ), pchar( cTipo ) );


Bematech_FI_ReducaoZCV0909

Bematech_FI_ReducaoZCV0909

Esta função emite a redução na impressora fiscal encerrando o movimento do dia.

Parâmetros:

Data: variável STRING com a data no formato "DDMMAAAA" ou "DD/MM/AAAA".

Hora: variável STRING com a hora no formato "HHMMSS" ou "HH:MM:SS".

Situação: variável INT para definir se os dados da redução Z serão transmitidos para a SEFAZ, sendo 0 para não transmitir ou 1 para transmitir.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.
· É permitido um ajuste de até 5 minutos para mais ou para menos aplicado ao horário atual da impressora.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_ReducaoZCV0909("28/02/2013", "18:30:00", 1)

// Exemplo em Delphi

cData := '28/02/2013';

cHora := '18:30:00';

iRetorno := Bematech_FI_ReducaoZCV0909( pchar( cData ), pchar( cHora ), 1 );


Bematech_FI_AcionaGuilhotinaCV0909

Bematech_FI_AcionaGuilhotinaCV0909

Esta função aciona a guilhotina na impressora fiscal.

Parâmetros:

Modo: variável INT para definir o modo do acionamento da guilhotina, sendo 0 para corta total, 1 para corte parcial e 2 sem corte.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.
· Pode ser utilizada dentro do relatório gerencial ou comprovante não fiscal vinculado (CDC).

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_AcionaGuilhotinaCV0909(1)

// Exemplo em Delphi

iRetorno := Bematech_FI_AcionaGuilhotinaCV0909( 1 );


Bematech_FI_DownloadMFCV0909

Bematech_FI_DownloadMFCV0909

Esta função realiza o download da MF (Memória Fiscal) da impressora fiscal.

Parâmetros:

Nome do Arquivo: variável STRING com o path + nome do arquivo .MF que será gerado com o download da MF da impressoras fiscal com no máximo 512 bytes.

Tipo: variável STRING com o tipo do download, sendo "1" para data, "2" para RZ ou "3" para total.

Dado inicial: variável STRING com o dado para o início do download, sendo por data ou RZ com o tamanho de 8 bytes. Este parâmetro será NULL para o tipo "3".

Dado final: variável STRING com o dado para o final do download, sendo por data ou RZ com o tamanho de 8 bytes. Este parâmetro será NULL para o tipo "3".

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_DownloadMFCV0909("C:\TEMP\DOWNLOAD.MF", "1", "01/02/13", "28/02/13")

// Exemplo em Delphi

cArquivo := 'C:\TEMP\DOWNLOAD.MF';

cTipo := '1';

cDadoInicial := '01/02/13';

cDadoFinal := '28/02/13';

iRetorno := Bematech_FI_DownloadMFCV0909( pchar( cArquivo ), pchar( cTipo ), pchar( cDadoInicial ), pchar( cDadoFinal ) );


Bematech_FI_DownloadMFDCV0909

Bematech_FI_DownloadMFDCV0909

Esta função realiza o download da MFD (Memória de Fita Detalhe) da impressora fiscal.

Parâmetros:

Nome do Arquivo: variável STRING com o path + nome do arquivo .MF que será gerado com o download da MF da impressoras fiscal com no máximo 512 bytes.

Tipo: variável STRING com o tipo do download, sendo "1" para data, "2" para RZ, "3" para COO ou "4" para total.

Dado inicial: variável STRING com o dado para o início do download, sendo por data ou RZ com o tamanho de 9 bytes. Este parâmetro será NULL para o tipo "4".

Dado final: variável STRING com o dado para o final do download, sendo por data ou RZ com o tamanho de 9 bytes. Este parâmetro será NULL para o tipo "4".

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_DownloadMFDCV0909("C:\TEMP\DOWNLOAD.MFD", "1", "01/02/13", "28/02/13")

// Exemplo em Delphi

cArquivo := 'C:\TEMP\DOWNLOAD.MFD';

cTipo := '1';

cDadoInicial := '01/02/13';

cDadoFinal := '28/02/13';

iRetorno := Bematech_FI_DownloadMFDCV0909( pchar( cArquivo ), pchar( cTipo ), pchar( cDadoInicial ), pchar( cDadoFinal ) );


Bematech_FI_DownloadSBCV0909

Bematech_FI_DownloadSBCV0909

Esta função realiza o download do software básico (firmware) da impressora fiscal.

Parâmetros:

Nome do Arquivo: variável STRING com o path + nome do arquivo .MF que será gerado com o download da MF da impressoras fiscal com no máximo 512 bytes.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_DownloadSBCV0909("C:\TEMP\DOWNLOAD.SB")

// Exemplo em Delphi

cArquivo := 'C:\TEMP\DOWNLOAD.SB';

iRetorno := Bematech_FI_DownloadSBCV0909( pchar( cArquivo ) );


Bematech_FI_ImpressaoFitaDetalheCV0909

Bematech_FI_ImpressaoFitaDetalheCV0909

Esta função imprime a fita detalhe (segunda via) dos documentos armazenados na memória MFD da impressora fiscal.

Parâmetros:

Tipo: variável STRING com o tipo de intervalo que deseja utilizar, sendo "1" para data ou "2" para COO.

Dado Inicial: variável STRING com o dado inicial com o tamanho de 9 bytes.

Dado final: variável STRING com o dado final com o tamanho de 9 bytes.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_ImpressaoFitaDetalheCV0909( "1", "01/02/13", "28/02/13")

// Exemplo em Delphi

cTipo := '1';

cDadoInicial := '01/02/13";

cDadoFinal := '28/02/13';

iRetorno := Bematech_FI_ImpressaoFitaDetalheCV0909( pchar( cTipo ), pchar( cDadoInicial ), pchar( cDadoFinal ) );


Bematech_FI_ImprimeRTDCV0909

Bematech_FI_ImprimeRTDCV0909

Esta função imprime a a RTD (Recibo de Transmissão de Dados) durante a impressão da RZ (Redução Z).

Parâmetros:

Mensagem: variável STRING com a mensagem a ser impressa no tamanho de até 1024 bytes, podendo ser NULL.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_ImprimeRTDCV0909( "Teste de impressão de RTD.")

// Exemplo em Delphi

cMensagem := 'Teste de impressora de RTD.';

iRetorno := Bematech_FI_ImprimeRTDCV0909( pchar( cMensagem ) );


Bematech_FI_InterrompeLeiturasCV0909

Bematech_FI_InterrompeLeiturasCV0909

Esta função interrompe a leitura dos dados da porta serial.

Parâmetros:

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_InterrompeLeiturasCV0909()

// Exemplo em Delphi

iRetorno := Bematech_FI_InterrompeLeiturasCV0909();


Bematech_FI_ProgramaIdAplicativoCV0909

Bematech_FI_ProgramaIdAplicativoCV0909

Esta função programa o ID do aplicativo PAF na impressora fiscal.

Parâmetros:

Descrição: variável STRING com a identificação do aplicativo PAF com até 84 bytes.

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:

· Função disponível apenas para a impressora fiscal modelo MP-4200 TH FI.

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FI_ProgramaIdAplicativoCV0909("Aplicativo PAC-ECF")

// Exemplo em Delphi

cNome := 'Aplicativo PAF-ECF';

iRetorno := Bematech_FI_ProgramaIdAplicativoCV0909( pchar( cNome ) );


Bematech_FI_TerminaFechamentoCupomPreVenda

Bematech_FI_TerminaFechamentoCupomPreVenda

Fecha o cupom fiscal com informações referentes a pré-venda.

Parâmetros:

MD5: STRING com o MD5 do principal aplicativo executável, com o tamanho de 32 caracteres.

NumeroPreVenda: STRING com o número da pré-venda, com o tamanho de até 13 caracteres.

MensagemPromocional: STRING com a mensagem promocional do cupom fiscal, com até 288 caracteres.

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

0: Erro de comunicação.

1: OK.

-1 - Erro de execução.

-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:

· Esta função pode ser usada em substituição a função Bematech_FI_TerminaFechamentoCupom, caso o cupom fiscal emitido seja referente a DAV emitida.
· O MD5 do arquivo executável da aplicação deve ser previamente gerado pela função md5FromFile.

Exemplo:

' Exemplo em Visual Basic

iRetorno := Bematech_FI_TerminaFechamentoCupomPreVenda("D4F15R15E1515H1J5K15L1515Q84A96Q", "123", "Obrigado, volte sempre !!!")

// Exemplo em Delphi

cMD5 := 'D4F15R15E1515H1J5K15L1515Q84A96Q';

cNumero := '123';

cMSG := 'Obrigado, volte sempre !!!';

iRetorno := Bematech_FI_TerminaFechamentoCupomPreVenda( pchar( cMD5 ), pchar( cNumero ), pchar( cMSG ) );


Bematech_FI_AbreDocumentoAuxiliarVenda

Bematech_FI_AbreDocumentoAuxiliarVenda

Faz a abertura da DAV (Documento Auxiliar de Venda).

Parâmetros:

IndiceGerencial: STRING com o índice do Relatório Gerencial, com até 2 caracteres.

TituloDAV: STRING com o título do DAV, com até 24 caracteres.

NumeroDAV: STRING com o numero do DAV, com o tamanho de até 13 caracteres.

NomeEmitente: STRING com o nome do emitente, com o tamanho de até 34 caracteres.

CNPJ_CPF: STRING com o CNPJ ou CPF do emitente, com o tamanho de até 18 caracteres.

NomeDestinatario: STRING com o nome do destinatário, com o tamanho de até 34 caracteres.

CNPJ_CPF: STRING com o CNPJ ou CPF do destinatário, com o tamanho de até 18 caracteres.

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

0: Erro de comunicação.

1: OK.

-1 - Erro de execução.

-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:

· É necessário programar, previamente, um relatório gerencial na impressora com a descrição "DAV". Para isso, basta utilizar a função "Bematech_FI_NomeiaRelatorioGerencialMFD" ou "Bematech_FI_NomeiaRelatorioDocumentoAuxiliarDeVenda", diretamente.

Exemplo:

' Exemplo em Visual Basic

iRetorno := Bematech_FI_AbreDocumentoAuxiliarVenda("01", "Pedido de Orçamento", "123", "Nome Remetente", "1234567890", "Nome Destino", "0987654321" )

// Exemplo em Delphi

cIndiceGerencial := '01';

cTituloDAV := 'Pedido de Orçamento';

cNumeroDAV := '123';

cNomeRemetente := 'Nome Remetente';

cCPFRemetente := '1234567890';

cNomeDestino := 'Nome Destino';

cCPFDestino := '0987654321';

iRetorno := Bematech_FI_AbreDocumentoAuxiliarVenda( pchar( cIndiceGerencial ), pchar( cTituloDAV ), pchar( cNumeroDAV ), pchar( cNomeRemetente ), pchar( cCPFRemetente ), pchar( cNomeDestino ), pchar( cCPFDestino ) );


Bematech_FI_UsaDocumentoAuxiliarVenda

Bematech_FI_UsaDocumentoAuxiliarVenda

Usa a DAV (Documento Auxiliar de Venda), imprimindo o item referente a pré-venda.

Parâmetros:

DescricaoItem: STRING com a descrição do item, com o tamanho de até 20 caracteres.

ValorUnitario: STRING com o valor unitário do item, com o tamanho de até 10 caracteres.

ValorTotal: STRING com o valor total do item, com o tamanho de até 14 caracteres.

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

0: Erro de comunicação.

1: OK.

-1 - Erro de execução.

-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_UsaDocumentoAuxiliarVenda("Produto de Teste", "1,50", "5,00" )

// Exemplo em Delphi

cProduto := 'Produto de Teste';

cVlUnitario := '1,50';

cVlTotal := '5,00';

iRetorno := Bematech_FI_UsaDocumentoAuxiliarVenda( pchar( cProduto ), pchar( cVlUnitario ), pchar( cVlTotal ) );


Bematech_FI_FechaDocumentoAuxiliarVenda

Bematech_FI_FechaDocumentoAuxiliarVenda

Fecha a DAV (Documento Auxiliar de Venda).

Parâmetros:

Total: STRING com o valor total da DAV, com o tamanho de até 14 caracteres.

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

0: Erro de comunicação.

1: OK.

-1 - Erro de execução.

-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_FechaDocumentoAuxiliarVenda("5,00" )

// Exemplo em Delphi

cVlTotal := '5,00';

iRetorno := Bematech_FI_FechaDocumentoAuxiliarVenda( pchar( cVlTotal ) );


Bematech_FI_DAVEmitidosRelatorioGerencial

Bematech_FI_DAVEmitidosRelatorioGerencial

Imprime as DAVs emitidas no período especificado.

Parâmetros:

IndiceGerencial: STRING com o índice do Relatório Gerencial, com até 2 caracteres.

DataInicial: STRING com a data inicial do periodo, com o formato DD/MM/AAAA.

DataFinal: STRING com a data final do periodo, com o formato DD/MM/AAAA.

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

0: Erro de comunicação.

1: OK.

-1 - Erro de execução.

-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:

· Esta função está disponível apenas para os modelos térmicos das impressoras fiscais.
· É necessário programar, previamente, um relatório gerencial na impressora com a descrição "DAV EMITIDOS". Para isso, basta utilizar a função "Bematech_FI_NomeiaRelatorioDAVEmitidos", diretamente.

Exemplo:

' Exemplo em Visual Basic

iRetorno := Bematech_FI_DAVEmitidosRelatorioGerencial("01", "01/08/2009", "31/08/2009")

// Exemplo em Delphi

cIndiceGerencial := '01';

cDataInicial := '01/08/2009';

cDataFinal := '31/08/2009';

iRetorno := Bematech_FI_DAVEmitidosRelatorioGerencial( pchar( cIndiceGerencial ), pchar( cDataInicial ), pchar( cDataFinal ) );


Bematech_FI_DAVEmitidosArquivo

Bematech_FI_DAVEmitidosArquivo

Retorna as DAVs emitidas no período especificado em arquivo, assinando-o digitalmente.

Parâmetros:

NomeArquivo: STRING com o path + nome do arquivo txt a ser gerado, com o tamanho de até 512 caracteres.

DataInicial: STRING com a data inicial do periodo, com o formato DD/MM/AAAA.

DataFinal: STRING com a data final do periodo, com o formato DD/MM/AAAA.

ChavePublica: STRING com a chave pública para assinatura do arquivo, com 256 caracteres.

ChavePrivada: STRING com a chave privada para assinatura do arquivo, com 256 caracteres.

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

0: Erro de comunicação.

1: OK.

-1 - Erro de execução.

-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:

· As chaves pública e privada devem estar previamente geradas pelas função genkkey.
· Esta função está disponível apenas para os modelos térmicos das impressoras fiscais.

Exemplo:

' Exemplo em Visual Basic

iRetorno := Bematech_FI_DAVEmitidosArquivo("C:\TESTE.TXT", "01/08/2009", "31/08/2009", "A499F300F731F6892F44B83A5DD9D97CFFFD0ABE96E29B4B4B4EB2F9E5BCFFCF0A52EAFDF05779F90B3A199BE5776B13373CB2E71D8AB67F4080CE27B226FFF032B6A7182C90C935EF2F4D343A743B60307EE4961F0C5EB02B1CEEF48D647C02E9BE164DC404B833F80C5B4268C04039547E7D5E242537B02360674B569208BD", "D19598300478932ACFFE16CB6903552F15FDBD2D3B9659FAD79C3603C07B875919E9D8B28919B8F4C20C6AE23268A636D1206F5E6BC79D89B6152804B15A9781C90E0A2D5064FB5B7CC01048AD8C66768F76D71647E7D39F8EDD714044CEA68F2A40106849132B01D14DDEB3FBA6FC1A9FBE9EA71BAB9293707A4EAD29CB6F3D")

// Exemplo em Delphi

cArquivo := 'C:\TESTE.TXT';

cDataInicial := '01/08/2009';

cDataFinal := '31/08/2009';

cChavePublica := 'A499F300F731F6892F44B83A5DD9D97CFFFD0ABE96E29B4B4B4EB2F9E5BCFFCF0A52EAFDF05779F90B3A199BE5776B13373CB2E71D8AB67F4080CE27B226FFF032B6A7182C90C935EF2F4D343A743B60307EE4961F0C5EB02B1CEEF48D647C02E9BE164DC404B833F80C5B4268C04039547E7D5E242537B02360674B569208BD';

cChavePrivada := 'D19598300478932ACFFE16CB6903552F15FDBD2D3B9659FAD79C3603C07B875919E9D8B28919B8F4C20C6AE23268A636D1206F5E6BC79D89B6152804B15A9781C90E0A2D5064FB5B7CC01048AD8C66768F76D71647E7D39F8EDD714044CEA68F2A40106849132B01D14DDEB3FBA6FC1A9FBE9EA71BAB9293707A4EAD29CB6F3D';

iRetorno := Bematech_FI_DAVEmitidosArquivo( pchar( cArquivo ), pchar( cDataInicial ), pchar( cDataFinal ), pchar( cChavePublica ), pchar( cChavePrivada ) );


Bematech_FI_LeituraMemoriaFiscalSerialDataPAFECF

Bematech_FI_LeituraMemoriaFiscalSerialDataPAFECF

Efetua a leitura da memoria fiscal por data e assina digitalmente o arquivo gerado.

Parâmetros:

DataInicial: STRING com a data inicial do periodo, com o formato DD/MM/AAAA.

DataFinal: STRING com a data final do periodo, com o formato DD/MM/AAAA.

TipoLeitura: STRING com o identificador de leitura, onde "s" é leitura simplificada ou "c" é leitura completa.

ChavePublica: STRING com a chave pública para assinatura do arquivo, com 256 caracteres.

ChavePrivada: STRING com a chave privada para assinatura do arquivo, com 256 caracteres.

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

0: Erro de comunicação.

1: OK.

-1 - Erro de execução.

-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:

· As chaves pública e privada devem estar previamente geradas pelas função .

Exemplo:

' Exemplo em Visual Basic

iRetorno := Bematech_FI_LeituraMemoriaFiscalSerialDataPAFECF("01/08/2009", "31/08/2009", "c", "A499F300F731F6892F44B83A5DD9D97CFFFD0ABE96E29B4B4B4EB2F9E5BCFFCF0A52EAFDF05779F90B3A199BE5776B13373CB2E71D8AB67F4080CE27B226FFF032B6A7182C90C935EF2F4D343A743B60307EE4961F0C5EB02B1CEEF48D647C02E9BE164DC404B833F80C5B4268C04039547E7D5E242537B02360674B569208BD", "D19598300478932ACFFE16CB6903552F15FDBD2D3B9659FAD79C3603C07B875919E9D8B28919B8F4C20C6AE23268A636D1206F5E6BC79D89B6152804B15A9781C90E0A2D5064FB5B7CC01048AD8C66768F76D71647E7D39F8EDD714044CEA68F2A40106849132B01D14DDEB3FBA6FC1A9FBE9EA71BAB9293707A4EAD29CB6F3D")

// Exemplo em Delphi

cDataInicial := '01/08/2009';

cDataFinal := '31/08/2009';

cTipo := 'c';

cChavePublica := 'A499F300F731F6892F44B83A5DD9D97CFFFD0ABE96E29B4B4B4EB2F9E5BCFFCF0A52EAFDF05779F90B3A199BE5776B13373CB2E71D8AB67F4080CE27B226FFF032B6A7182C90C935EF2F4D343A743B60307EE4961F0C5EB02B1CEEF48D647C02E9BE164DC404B833F80C5B4268C04039547E7D5E242537B02360674B569208BD';

cChavePrivada := 'D19598300478932ACFFE16CB6903552F15FDBD2D3B9659FAD79C3603C07B875919E9D8B28919B8F4C20C6AE23268A636D1206F5E6BC79D89B6152804B15A9781C90E0A2D5064FB5B7CC01048AD8C66768F76D71647E7D39F8EDD714044CEA68F2A40106849132B01D14DDEB3FBA6FC1A9FBE9EA71BAB9293707A4EAD29CB6F3D';

iRetorno := Bematech_FI_LeituraMemoriaFiscalSerialDataPAFECF( pchar( cDataInicial ), pchar( cDataFinal ), pchar( cTipo ), pchar( cChavePublica ), pchar( cChavePrivada ) );


Bematech_FI_LeituraMemoriaFiscalSerialReducaoPAFECF

Bematech_FI_LeituraMemoriaFiscalSerialReducaoPAFECF

Efetua a leitura da memoria fiscal por redução e assina digitalmente o arquivo gerado.

Parâmetros:

ReducaoInicial: STRING com a redução inicial do periodo, com o tamanho de 4 caracteres.

ReducaoFinal: STRING com a redução final do periodo, com o tamanho de 4 caracteres.

TipoLeitura: STRING com o identificador de leitura, onde "s" é leitura simplificada ou "c" é leitura completa.

ChavePublica: STRING com a chave pública para assinatura do arquivo, com 256 caracteres.

ChavePrivada: STRING com a chave privada para assinatura do arquivo, com 256 caracteres.

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

0: Erro de comunicação.

1: OK.

-1 - Erro de execução.

-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:

· As chaves pública e privada devem estar previamente geradas pelas função genkkey.

Exemplo:

' Exemplo em Visual Basic

iRetorno := Bematech_FI_LeituraMemoriaFiscalSerialDataPAFECF("0001", "0010", "c", "A499F300F731F6892F44B83A5DD9D97CFFFD0ABE96E29B4B4B4EB2F9E5BCFFCF0A52EAFDF05779F90B3A199BE5776B13373CB2E71D8AB67F4080CE27B226FFF032B6A7182C90C935EF2F4D343A743B60307EE4961F0C5EB02B1CEEF48D647C02E9BE164DC404B833F80C5B4268C04039547E7D5E242537B02360674B569208BD", "D19598300478932ACFFE16CB6903552F15FDBD2D3B9659FAD79C3603C07B875919E9D8B28919B8F4C20C6AE23268A636D1206F5E6BC79D89B6152804B15A9781C90E0A2D5064FB5B7CC01048AD8C66768F76D71647E7D39F8EDD714044CEA68F2A40106849132B01D14DDEB3FBA6FC1A9FBE9EA71BAB9293707A4EAD29CB6F3D")

// Exemplo em Delphi

cReducaoInicial := '0001';

cReducaoFinal := '0010';

cTipo := 'c';

cChavePublica := 'A499F300F731F6892F44B83A5DD9D97CFFFD0ABE96E29B4B4B4EB2F9E5BCFFCF0A52EAFDF05779F90B3A199BE5776B13373CB2E71D8AB67F4080CE27B226FFF032B6A7182C90C935EF2F4D343A743B60307EE4961F0C5EB02B1CEEF48D647C02E9BE164DC404B833F80C5B4268C04039547E7D5E242537B02360674B569208BD';

cChavePrivada := 'D19598300478932ACFFE16CB6903552F15FDBD2D3B9659FAD79C3603C07B875919E9D8B28919B8F4C20C6AE23268A636D1206F5E6BC79D89B6152804B15A9781C90E0A2D5064FB5B7CC01048AD8C66768F76D71647E7D39F8EDD714044CEA68F2A40106849132B01D14DDEB3FBA6FC1A9FBE9EA71BAB9293707A4EAD29CB6F3D';

iRetorno := Bematech_FI_LeituraMemoriaFiscalSerialDataPAFECF( pchar( cReducaoInicial ), pchar( cReducaoFinal ), pchar( cTipo ), pchar( cChavePublica ), pchar( cChavePrivada ) );


Bematech_FI_EspelhoMFD

Bematech_FI_EspelhoMFD

Gera o espelho MFD.

Parâmetros:

NomeArquivo: STRING com o path + nome do arquivo txt a ser gerado, com o tamanho de até 512 caracteres.

DadoInicial: STRING com o dado inicial para o download da MFD, com o formato DD/MM/AAAA para data ou "999999" para COO.

DadoFinal: STRING com o dado final para o download da MFD, com o formato DD/MM/AAAA para data ou "999999" para COO.

TipoDownload: STRING indicando o tipo de download, onde:

"D": download por data.

"C": download por COO.

Usuario: STRING contendo a identificacao do usuario, com o tamanho de até 1 caracter.

ChavePublica: STRING com a chave pública para assinatura do arquivo, com 256 caracteres.

ChavePrivada: STRING com a chave privada para assinatura do arquivo, com 256 caracteres.

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

0: Erro de comunicação.

1: OK.

-1 - Erro de execução.

-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:

· As chaves pública e privada devem estar previamente geradas pelas função genkkey.

Exemplo:

' Exemplo em Visual Basic

iRetorno := Bematech_FI_EspelhoMFD("C:\TESTE.TXT", "01/08/2009", "31/08/2009", "D", "1", "A499F300F731F6892F44B83A5DD9D97CFFFD0ABE96E29B4B4B4EB2F9E5BCFFCF0A52EAFDF05779F90B3A199BE5776B13373CB2E71D8AB67F4080CE27B226FFF032B6A7182C90C935EF2F4D343A743B60307EE4961F0C5EB02B1CEEF48D647C02E9BE164DC404B833F80C5B4268C04039547E7D5E242537B02360674B569208BD", "D19598300478932ACFFE16CB6903552F15FDBD2D3B9659FAD79C3603C07B875919E9D8B28919B8F4C20C6AE23268A636D1206F5E6BC79D89B6152804B15A9781C90E0A2D5064FB5B7CC01048AD8C66768F76D71647E7D39F8EDD714044CEA68F2A40106849132B01D14DDEB3FBA6FC1A9FBE9EA71BAB9293707A4EAD29CB6F3D")

// Exemplo em Delphi

cArquivo := 'C:\TESTE.TXT';

cDataInicial := '01/08/2009';

cDataFinal := '31/08/2009';

cTipo := 'D';

cUsuario := '1';

cChavePublica := 'A499F300F731F6892F44B83A5DD9D97CFFFD0ABE96E29B4B4B4EB2F9E5BCFFCF0A52EAFDF05779F90B3A199BE5776B13373CB2E71D8AB67F4080CE27B226FFF032B6A7182C90C935EF2F4D343A743B60307EE4961F0C5EB02B1CEEF48D647C02E9BE164DC404B833F80C5B4268C04039547E7D5E242537B02360674B569208BD';

cChavePrivada := 'D19598300478932ACFFE16CB6903552F15FDBD2D3B9659FAD79C3603C07B875919E9D8B28919B8F4C20C6AE23268A636D1206F5E6BC79D89B6152804B15A9781C90E0A2D5064FB5B7CC01048AD8C66768F76D71647E7D39F8EDD714044CEA68F2A40106849132B01D14DDEB3FBA6FC1A9FBE9EA71BAB9293707A4EAD29CB6F3D';

iRetorno := Bematech_FI_EspelhoMFD( pchar( cArquivo ), pchar( cDataInicial ), pchar( cDataFinal ), pchar( cTipo ), pchar( cUsuario ), pchar( cChavePublica ), pchar( cChavePrivada ) );


Bematech_FI_ArquivoMFD

Bematech_FI_ArquivoMFD

Gera o ArqMFD no formato do Ato Cotepe 17/04.

Parâmetros:

ArquivoOrigem: STRING com o path + nome do arquivo de origem, com o tamanho de até 512 caracteres, podendo ser NULL caso o parâmetro seja usado como opcional, sendo assim a dll usará como base a MFD da impressora.

DadoInicial: STRING com o dado inicial para o download da MFD. Para data no formato "DD/MM/AAAA", para COO no formato "999999" e para RZ no formato "9999".

DadoFinal: STRING com o dado final para o download da MFD. Para data no formato "DD/MM/AAAA", para COO no formato "999999" e para RZ no formato "9999".

TipoDownload: STRING indicando o tipo de download, onde: "D" é por Data, "C" é por COO ou "Z" é por RZ.

Usuario: STRING com o número do usuário, com até 2 caracteres.

TipoGeracao: INTEGER indicando a parametrização a ser feita no arquivo, onde:

0 = MF

1 = MFD

2 = TDM

3 = RZ

4 = RFD

ChavePublica: STRING com a chave pública para assinatura do arquivo, com 256 caracteres.

ChavePrivada: STRING com a chave privada para assinatura do arquivo, com 256 caracteres.

UnicoArquivo: INTEGER indicando se a geração do Arquivo MFD por intervalo de data, ficará em um único arquivo ou em múltiplos arquivos (arquivos diários), onde:

1 = único arquivo

0 = múltiplos arquivos

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

0: Erro de comunicação.

1: OK.

-1 - Erro de execução.

-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:

- As chaves pública e privada devem estar previamente geradas pelas função genkkey.

Exemplo:

' Exemplo em Visual Basic

iRetorno := Bematech_FI_ArquivoMFD("", "01/08/2009", "31/08/2009", "D", "01", 2 "A499F300F731F6892F44B83A5DD9D97CFFFD0ABE96E29B4B4B4EB2F9E5BCFFCF0A52EAFDF05779F90B3A199BE5776B13373CB2E71D8AB67F4080CE27B226FFF032B6A7182C90C935EF2F4D343A743B60307EE4961F0C5EB02B1CEEF48D647C02E9BE164DC404B833F80C5B4268C04039547E7D5E242537B02360674B569208BD", "D19598300478932ACFFE16CB6903552F15FDBD2D3B9659FAD79C3603C07B875919E9D8B28919B8F4C20C6AE23268A636D1206F5E6BC79D89B6152804B15A9781C90E0A2D5064FB5B7CC01048AD8C66768F76D71647E7D39F8EDD714044CEA68F2A40106849132B01D14DDEB3FBA6FC1A9FBE9EA71BAB9293707A4EAD29CB6F3D", 1)

// Exemplo em Delphi

cTipoDownload := 'D';

cUsuario := '01';

iTipoGeracao := 2;

cDadoInicial := '01/08/2009';

cDadoFinal := '31/08/2009';

cChavePublica := 'A499F300F731F6892F44B83A5DD9D97CFFFD0ABE96E29B4B4B4EB2F9E5BCFFCF0A52EAFDF05779F90B3A199BE5776B13373CB2E71D8AB67F4080CE27B226FFF032B6A7182C90C935EF2F4D343A743B60307EE4961F0C5EB02B1CEEF48D647C02E9BE164DC404B833F80C5B4268C04039547E7D5E242537B02360674B569208BD';

cChavePrivada := 'D19598300478932ACFFE16CB6903552F15FDBD2D3B9659FAD79C3603C07B875919E9D8B28919B8F4C20C6AE23268A636D1206F5E6BC79D89B6152804B15A9781C90E0A2D5064FB5B7CC01048AD8C66768F76D71647E7D39F8EDD714044CEA68F2A40106849132B01D14DDEB3FBA6FC1A9FBE9EA71BAB9293707A4EAD29CB6F3D';

iUnicoArquivo := 1;

iRetorno := Bematech_FI_ArquivoMFD( pchar( '' ), pchar( cDadoInicial ), pchar( cDadoFinal ), pchar( cTipoDownload ), pchar( cUsuario ), iTipoGeracao, pchar( cChavePublica ), pchar( cChavePrivada ), iUnicoArquivo );


Bematech_FI_ArquivoMFDPath

Bematech_FI_ArquivoMFDPath

Gera o ArqMFD no formato do Ato Cotepe 17/04, permitindo informar o nome e caminho do arquivo a ser gerado.

Parâmetros:

ArquivoOrigem: STRING com o path + nome do arquivo de origem, com o tamanho de até 512 caracteres, podendo ser NULL caso o parâmetro seja usado como opcional, sendo assim a dll usará como base a MFD da impressora.

ArquivoDestino: STRING com o path + nome do arquivo de destino, com o tamanho de até 512 caracteres.

DadoInicial: STRING com o dado inicial para o download da MFD. Para data no formato "DD/MM/AAAA", para COO no formato "999999" e para RZ no formato "9999".

DadoFinal: STRING com o dado final para o download da MFD. Para data no formato "DD/MM/AAAA", para COO no formato "999999" e para RZ no formato "9999".

TipoDownload: STRING indicando o tipo de download, onde: "D" é por Data, "C" é por COO ou "Z" é por RZ.

Usuario: STRING com o número do usuário, com até 2 caracteres.

TipoGeracao: INTEGER indicando a parametrização a ser feita no arquivo, onde:

0 = MF

1 = MFD

2 = TDM

3 = RZ

4 = RFD

ChavePublica: STRING com a chave pública para assinatura do arquivo, com 256 caracteres.

ChavePrivada: STRING com a chave privada para assinatura do arquivo, com 256 caracteres.

UnicoArquivo: INTEGER indicando se a geração do Arquivo MFD por intervalo de data, ficará em um único arquivo ou em múltiplos arquivos (arquivos diários), onde:

1 = único arquivo

0 = múltiplos arquivos

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

0: Erro de comunicação.

1: OK.

-1 - Erro de execução.

-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:

- As chaves pública e privada devem estar previamente geradas pelas função genkkey.

Exemplo:

' Exemplo em Visual Basic

iRetorno := Bematech_FI_ArquivoMFDPath("", "C:\Temp\Saida.txt", "01/08/2009", "31/08/2009", "D", "01", 2 "A499F300F731F6892F44B83A5DD9D97CFFFD0ABE96E29B4B4B4EB2F9E5BCFFCF0A52EAFDF05779F90B3A199BE5776B13373CB2E71D8AB67F4080CE27B226FFF032B6A7182C90C935EF2F4D343A743B60307EE4961F0C5EB02B1CEEF48D647C02E9BE164DC404B833F80C5B4268C04039547E7D5E242537B02360674B569208BD", "D19598300478932ACFFE16CB6903552F15FDBD2D3B9659FAD79C3603C07B875919E9D8B28919B8F4C20C6AE23268A636D1206F5E6BC79D89B6152804B15A9781C90E0A2D5064FB5B7CC01048AD8C66768F76D71647E7D39F8EDD714044CEA68F2A40106849132B01D14DDEB3FBA6FC1A9FBE9EA71BAB9293707A4EAD29CB6F3D", 1)

// Exemplo em Delphi

cArqDestino := 'C:\Temp\Saida.txt';

cTipoDownload := 'D';

cUsuario := '01';

iTipoGeracao := 2;

cDadoInicial := '01/08/2009';

cDadoFinal := '31/08/2009';

cChavePublica := 'A499F300F731F6892F44B83A5DD9D97CFFFD0ABE96E29B4B4B4EB2F9E5BCFFCF0A52EAFDF05779F90B3A199BE5776B13373CB2E71D8AB67F4080CE27B226FFF032B6A7182C90C935EF2F4D343A743B60307EE4961F0C5EB02B1CEEF48D647C02E9BE164DC404B833F80C5B4268C04039547E7D5E242537B02360674B569208BD';

cChavePrivada := 'D19598300478932ACFFE16CB6903552F15FDBD2D3B9659FAD79C3603C07B875919E9D8B28919B8F4C20C6AE23268A636D1206F5E6BC79D89B6152804B15A9781C90E0A2D5064FB5B7CC01048AD8C66768F76D71647E7D39F8EDD714044CEA68F2A40106849132B01D14DDEB3FBA6FC1A9FBE9EA71BAB9293707A4EAD29CB6F3D';

iUnicoArquivo := 1;

iRetorno := Bematech_FI_ArquivoMFDPath( pchar( '' ), pchar( cArqDestino ), pchar( cDadoInicial ), pchar( cDadoFinal ), pchar( cTipoDownload ), pchar( cUsuario ), iTipoGeracao, pchar( cChavePublica ), pchar( cChavePrivada ), iUnicoArquivo );


Bematech_FI_IdentificacaoPAFECF

Bematech_FI_IdentificacaoPAFECF

Imprime a identificação do PAF-ECF em um relatório gerencial.

Parâmetros:

IndiceGerencial: STRING com o índice do Relatório Gerencial, com até 2 caracteres.

NumeroLaudo: STRING com o número do laudo, com até 15 caracteres.

CNPJ: STRING com o CNPJ do desenvolvedor, com até 18 caracteres.

RazaoSocial: STRING com a razão social, com até 80 caracteres.

Endereco: STRING com o endereço, com até 85 caracteres.

Telefone: STRING com o telefone, com até 38 caracteres.

Contato: STRING com o contato, com até 38 caracteres.

NomeComercial: STRING com o nome comercial, com até 80 caracteres.

Versao: STRING com a versão, com até 40 caracteres.

Path: STRING com o caminho do principal executável da aplicação, com até 65 caracteres.

MD5: STRING com o MD5 do principal executável da aplicação, com 32 caracteres.

DemaisArquivos: STRING com o caminho dos demais arquivos, com até 670 caracteres. Cada PATH é limitado a 65 caracteres e separado por vígula do PATH seguinte. Total de 10 Paths.

MD5DemaisArquivos: STRING com o MD5 dos demais arquivos, com até 338 caracteres. Cada MD5 deve possuir 32 caracteres e separado por vírgula do MD5 seguinte. Total de 10 MD5.

NumeroSerie: STRING com os números de fabricação dos ECFs autorizados a utilizar o PAF-ECF, com até 420 caracteres. Cada número de fabricação deve possui até 20 caracteres e separado por vírgula do número seguinte. Total de 20 números de fabricação.

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

0: Erro de comunicação.

1: OK.

-1 - Erro de execução.

-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:

· É necessário programar, previamente, um relatório gerencial na impressora com a descrição "". Para isso, basta utilizar a função "Bematech_FI_NomeiaRelatorioGerencialMFD" ou "Bematech_FI_NomeiaRelatorioIdentificacaoPAFECF", diretamente.
· O MD5 do arquivo executável da aplicação, quanto dos demais arquivos (caso existam), deve ser previamente gerado pela função md5FromFile.

Exemplo:

' Exemplo em Visual Basic

iRetorno := Bematech_FI_IdentificacaoPAFECF("01", "123456", "123456789/0001-55", "Razão Social de Teste", "Endereço, 123", "11 2222-3333", "Fulano", "Aplicativo Teste", "1.0", "C:\ABC.EXE", "AD51ERT85D69Q735V645E86DGG8696BC", "", "", "BE0108SC56000049103")

// Exemplo em Delphi

cIndiceGerencial := '01';

cNumeroLaudo := '123456';

cCNPJ := '123456789/0001-55';

cRazaoSocial := 'Razão Social de Teste';

cEndereco := 'Endereço, 123';

cTelefone := '11 2222-3333';

cContato := 'Fulano';

cNomeComercial := 'Aplicativo Teste';

cVersao := '1.0';

cPath := 'C:\ABC.EXE';

cMD5 := 'AD51ERT85D69Q735V645E86DGG8696BC';

cDemaisArquivos := '';

cMD5DemaisArquivos := '';

cNumeroSerie := 'BE0108SC56000049103';

iRetorno := Bematech_FI_IdentificacaoPAFECF( pchar( cIndiceGerencial ), pchar( cNumeroLaudo ), pchar( cCNPJ ), pchar( cRazaoSocial ), pchar( cEndereco ), pchar( cTelefone ), pchar( cContato ), pchar( cNomeComercial), pchar( cVersao ), pchar( cPath ), pchar( cMD5 ), pchar( cDemaisArquivos ), pchar( cMD5DemaisArquivos ), pchar( cNumeroSerie ) );


Bematech_FI_AbreRelatorioMeiosPagamento

Bematech_FI_AbreRelatorioMeiosPagamento

Abre relatório dos meios de pagamento em relatório gerencial.

Parâmetros:

IndiceGerencial: STRING com o índice do Relatório Gerencial, com até 2 caracteres.

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

0: Erro de comunicação.

1: OK.

-1 - Erro de execução.

-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:

- É necessário programar, previamente, um relatório gerencial na impressora com a descrição "MEIOS DE PGTO". Para isso, basta utilizar a função "Bematech_FI_NomeiaRelatorioGerencialMFD" ou "Bematech_FI_NomeiaRelatorioMeiosDePagamento", diretamente.

Exemplo:

' Exemplo em Visual Basic

iRetorno := Bematech_FI_AbreRelatorioMeiosPagamento("01")

// Exemplo em Delphi

cIndiceGerencial := '01';

iRetorno := Bematech_FI_AbreRelatorioMeiosPagamento( pchar( cIndiceGerencial ) );


Bematech_FI_UsaRelatorioMeiosPagamento

Bematech_FI_UsaRelatorioMeiosPagamento

Abre relatório dos meios de pagamento em relatório gerencial.

Parâmetros:

DescricaoPagamento: STRING com a identificação do meio de pagamento, com até 18 caracteres.

TipoDocumento: STRING com o tipo do documento, com até 10 caracteres.

ValorAcumulado: STRING com o valor acumulado, com até 14 caracteres.

Data: STRING com a data no formato "DD/MM/AAAA".

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

0: Erro de comunicação.

1: OK.

-1 - Erro de execução.

-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_UsaRelatorioMeiosPagamento("Dinheiro", "FPGTO", "500,00", "15/09/2009")

// Exemplo em Delphi

DescricaoPagamento := 'Dinheiro';

TipoDocumento := 'FPGTO';

ValorAcumulado := '500,00';

Data := '15/09/2009';

iRetorno := Bematech_FI_UsaRelatorioMeiosPagamento( pchar( DescricaoPagamento ), pchar( TipoDocumento ), pchar( ValorAcumulado ), pchar( Data ) );


Bematech_FI_FechaRelatorioMeiosPagamento

Bematech_FI_FechaRelatorioMeiosPagamento

Fecha o relatório dos meios de pagamento.

Parâmetros:

não há.

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

0: Erro de comunicação.

1: OK.

-1 - Erro de execução.

-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_FechaRelatorioMeiosPagamento()

// Exemplo em Delphi

iRetorno := Bematech_FI_FechaRelatorioMeiosPagamento();


Bematech_FI_NomeiaRelatorioMeiosDePagamento

Bematech_FI_NomeiaRelatorioMeiosDePagamento

Nomeia o relatório dos meios de pagamento, retornando o índice com a posição da programação.

Parâmetros:

não há.

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

-1 = Não há como cadastrar o totalizador.

n = Índice do totalizador programado.

Exemplo:

' Exemplo em Visual Basic

iRetorno := Bematech_FI_NomeiaRelatorioMeiosDePagamento()

// Exemplo em Delphi

iRetorno := Bematech_FI_NomeiaRelatorioMeiosDePagamento();


Bematech_FI_NomeiaRelatorioDocumentoAuxiliarDeVenda

Bematech_FI_NomeiaRelatorioDocumentoAuxiliarDeVenda

Nomeia o relatório da DAV, retornando o índice com a posição da programação.

Parâmetros:

não há.

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

-1 = Não há como cadastrar o totalizador.

n = Índice do totalizador programado.

Exemplo:

' Exemplo em Visual Basic

iRetorno := Bematech_FI_NomeiaRelatorioDocumentoAuxiliarDeVenda()

// Exemplo em Delphi

iRetorno := Bematech_FI_NomeiaRelatorioDocumentoAuxiliarDeVenda();


Bematech_FI_NomeiaRelatorioDAVEmitidos

Bematech_FI_NomeiaRelatorioDAVEmitidos

Nomeia o relatório de DAVs emitidos, retornando o índice com a posição da programação.

Parâmetros:

não há.

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

-1 = Não há como cadastrar o totalizador.

n = Índice do totalizador programado.

Exemplo:

' Exemplo em Visual Basic

iRetorno := Bematech_FI_NomeiaRelatorioDAVEmitidos()

// Exemplo em Delphi

iRetorno := Bematech_FI_NomeiaRelatorioDAVEmitidos();


Bematech_FI_NomeiaRelatorioIdentificacaoPAFECF

Bematech_FI_NomeiaRelatorioIdentificacaoPAFECF

Nomeia o relatório de identificação do PAF-ECF, retornando o índice com a posição da programação.

Parâmetros:

não há.

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

-1 = Não há como cadastrar o totalizador.

n = Índice do totalizador programado.

Exemplo:

' Exemplo em Visual Basic

iRetorno := Bematech_FI_NomeiaRelatorioIdentificacaoPAFECF()

// Exemplo em Delphi

iRetorno := Bematech_FI_NomeiaRelatorioIdentificacaoPAFECF();


Bematech_FI_NomeiaRelatoriosPAFECF

Bematech_FI_NomeiaRelatoriosPAFECF

Nomeia o relatórios do PAF-ECF, retornando o índice com a posição da programação.

Parâmetros:

não há.

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

-1 = Não há como cadastrar o totalizador.

n = Índice do totalizador programado.

Exemplo:

' Exemplo em Visual Basic

iRetorno := Bematech_FI_NomeiaRelatoriosPAFECF()

// Exemplo em Delphi

Bematech_FI_NomeiaRelatoriosPAFECF();


AdicionaInformacoesCombustivel

Bematech_FI_AdicionaInformacoesCombustivel

Efetuar a forma de pagamento da Nota Fiscal ao Consumidor Eletrônica (NFCe), com informações da operadora de cartão e tipo de integração.

Parâmetros:

itemIndex: String com o indice do produto. Tamanho máximo de 3 caracteres.

ANPProductCode: String com o código do produto na ANP. Tamanho máximo de 9 caracteres.

percentMixGN: String com o percentual de mistura de GN. Tamanho máximo de 6 caracteres.

CODIF: String com o código CODIF. Tamanho máximo de 21 caracteres.

quantity: String com a quantidade de produto vendido à temperatura ambiente. Tamanho máximo de 16 caracteres.

consumeUF: String com a UF de consumo. Tamanho máximo de 2 caracteres. Para exterior utilizar EX.

BCProductCIDE: String com a Base de Calculo do CIDE. Tamanho máximo de 16 caracteres.

taxProductCIDE: String com Alíquota do CIDE. Tamanho máximo de 15 caracteres.

valueCIDE: String com o valor do CIDE. Tamanho máximo de 15 caracteres.

fuelNozzleNumber: String com o número do bico. Tamanho máximo de 3 caracteres.

fuelPumpNumber: String com o número da bomba. Tamanho máximo de 3 caracteres.

fuelTankNumber: String com o número do tanque. Tamanho máximo de 3 caracteres.

fuelGaugeInitial: String com o valor inicial do encerrante. Tamanho máximo de 15 caracteres.

fuelGaugeFinal: String com o valor final do encerrante. Tamanho máximo de 15 caracteres.

Observações:

· Deve ser implementada logo após a VendeItemCompleto;
· Utilizada para combustíveis e lubrificantes com CFOP 5656 e 5667;
· Caso não seja combustível, informar somente os campos Índice do item (itemIndex), Código ANP (ANPProductCode) e a UF (consumeUF). Não é necessário a informação do encerrante.

· Exemplos de códigos de produto ANP que necessitam das informações de encerrante:
· - 810101002 - ETANOL HIDRATADO ADITIVADO
· - 810101001 - ETANOL HIDRATADO COMUM
· - 220101005 - GÁS NATURAL VEICULAR
· - 220101006 - GÁS NATURAL VEICULAR PADRÃO
· - 320103001 - GASOLINA AUTOMOTIVA PADRÃO
· - 320102002 - GASOLINA C ADITIVADA
· - 320102001 - GASOLINA C COMUM
· - 320102003 - GASOLINA C PREMIUM
· - 820101033 - ÓLEO DIESEL B S10 - ADITIVADO
· - 820101034 - ÓLEO DIESEL B S10 - COMUM
· - 420106001 - ÓLEO DIESEL B S10 AMD 10
· - 820101011 - ÓLEO DIESEL B S1800 Não Rodoviário - Aditivado
· - 820101003 - ÓLEO DIESEL B S1800 Não Rodoviário - Comum
· - 820101013 - ÓLEO DIESEL B S500 - ADITIVADO
· - 820101012 - ÓLEO DIESEL B S500 - COMUM
· - 420106002 - ÓLEO DIESEL B S500 AMD 10
· - 420301004 - OLEO DIESEL DE REFERÊNCIA S300

***Lembrando que essa regra de validação é opcional a critério da UF.

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

-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Observações:

· Função para atender a NT 2015.002, item YA - Formas de Pagamento.

Exemplo:

' Exemplo em Visual Basic

itemIndex = "001"

ANPProductCode = "110203073"

percentMixGN = "100001"

CODIF = "123456789012345678901"

quantity = "2111100"

consumeUF = "PR"

BCProductCIDE = "1000"

taxProductCIDE = "10000"

valueCIDE = "10000"

fuelNozzleNumber = "999"

fuelPumpNumber = ""

fuelTankNumber = "001"

fuelGaugeInitial = "123456789012341"

fuelGaugeFinal = "123456789012345"

iRetorno = Bematech_FI_AdicionaInformacoesCombustivel(itemIndex, ANPProductCode,

percentMixGN, CODIF, quantity, consumeUF, BCProductCIDE,

taxProductCIDE, valueCIDE, fuelNozzleNumber, fuelPumpNumber,

fuelTankNumber, fuelGaugeInitial, fuelGaugeFinal)

// Exemplo em Delphi

itemIndex := '001';

ANPProductCode := '110203073';

percentMixGN := '100001';

CODIF := '123456789012345678901';

quantity := '2111100';

consumeUF := 'PR';

BCProductCIDE := '1000';

taxProductCIDE := '10000';

valueCIDE := '10000';

fuelNozzleNumber := '999';

fuelPumpNumber := '';

fuelTankNumber := '001';

fuelGaugeInitial := '123456789012341';

fuelGaugeFinal := '123456789012345';

iRetorno := Bematech_FI_AdicionaInformacoesCombustivel(pchar (itemIndex), pchar (ANPProductCode),

pchar (percentMixGN), pchar (CODIF), pchar (quantity), pchar (consumeUF), pchar (BCProductCIDE),

pchar (taxProductCIDE), pchar (valueCIDE), pchar (fuelNozzleNumber), pchar (fuelPumpNumber),

pchar (fuelTankNumber), pchar (fuelGaugeInitial), pchar (fuelGaugeFinal));


ChaveAcessoNFCe

Bematech_FI_ChaveAcessoNFCe

Obter a chave de acesso de uma determinada Nota Fiscal ao Consumidor Eletrônica (NFCe).

Parâmetros:

index: String indicando o modo de pesquisa.

0 - COO

1 - CCF

counter: String contendo o contador a ser pesquisado. Tamanho máximo de 6 caracteres para impressoras do convênio ICMS 85/01 e 9 caracteres para ICMS 09/09.

accessKey: String destinado a receber a chave de acesso, com 44 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

-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Exemplo:

' Exemplo em Visual Basic

index = "1"

counter = "000001"

accessKey = Space(44)

iRetorno = Bematech_FI_ChaveAcessoNFCe(index, counter, accessKey)

// Exemplo em Delphi

cIndice := '1';

cContador := '000001';

for iConta := 1 to 44 do cChaveAcesso := cChaveAcesso + ' ';

iRetorno := Bematech_FI_ChaveAcessoNFCe ( cIndice, cContador, cChaveAcesso);


DadosConsumidorNFCe

Bematech_FI_DadosConsumidorNFCe

Inserir dados do consumidor na NFCe.

Parâmetros:

CPF: String com o CPF ou CNPJ do consumidor. Tamanho máximo de 20 caracteres.

name: String com o nome do consumidor. Tamanho máximo de 60 caracteres.

address: String com o endereço do consumidor. Tamanho máximo de 60 caracteres.

complement: String com o complemento do endereço. Tamanho máximo de 60 caracteres.

number: String com o número do endereço. Tamanho máximo de 15 caracteres.

neighborhood: String com o bairro do consumidor. Tamanho máximo de 60 caracteres.

IBGECode: String com o código de cidades do IBGE. Tamanho de 7 caracteres.

city: String com a cidade do consumidor. Tamanho máximo de 60 caracteres.

UF: String com a unidade federativa do consumidor. Tamanho de 2 caracteres.

CEP: String com CEP. Tamanho de 8 caracteres. Este parâmetro pode ser nulo.

countyCode: String com o código do país do consumidor. Tamanho de 4 caracteres. Este parâmetro pode ser nulo.

country: String com o país do consumidor. Tamanho de 60 caracteres. Este parâmetro pode ser nulo.

phone: String com o telefone do consumidor. Tamanho de 14 caracteres. Este parâmetro pode ser nulo.

stateRegistrationIndicator: String com o indicador de inscrição estadual.

1 - Contribuinte de ICMS

2- Isento

stateRegistration: String com o inscrição estadual do consumidor. Tamanho de 14 caracteres. Este parâmetro pode ser nulo.

SUFRAMACode: String com o código SUFRAMA. Tamanho de 9 caracteres. Este parâmetro pode ser nulo.

email: String com o e-mail do consumidor. Tamanho de 60 caracteres. Este parâmetro pode ser nulo.

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

-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Exemplo:

' Exemplo em Visual Basic

CPF = "28713011669"

name = "José da Silva"

address = "Rua Sem Fim"

complement = "Casa"

number = "100"

neighborhood = "Vila Jardim"

IBGECode = "4106902"

city = "São Paulo"

UF = "SP"

CEP = "33333333"

countyCode = "1058"

country = "Brasil"

phone = "1133333333"

stateRegistrationIndicator = "1"

stateRegistration = ""

SUFRAMACode = ""

email = ""

iRetorno = Bematech_FI_DadosConsumidorNFCe(CPF, name, address, complement, number, neighborhood, IBGECode, city, UF, CEP, countyCode, country, phone, stateRegistrationIndicator, stateRegistration, SUFRAMACode, email)

// Exemplo em Delphi

cCPF := '28713011669';

cNome := 'José da Silva';

cEndereco := 'Rua Sem Fim';

cComplemento := 'Casa';

cNumero := '100';

cBairro := 'Vila Jardim';

cCodIBGE := '4106902';

cCidade := 'São Paulo';

cEstado := 'SP';

cCEP := '33333333';

cCodPais := '1058';

cPais := 'Brasil';

cTelefone := '1133333333';

cIEIndicador := '1';

cIE := '';

cSUFRAMA := '';

cEmail := '';

iRetorno := Bematech_FI_DadosConsumidorNFCe( cCPF, cNome, cEndereco, cComplemento, cNumero, cBairro, cCodIBGE, cCidade, cEstado, cCEP, cCodPais, cPais, cTelefone, cIEIndicador, cIE, cSUFRAMA, cEmail);


DadosEnvioNFCe

Bematech_FI_DadosEnvioNFCe

Configurar os dados de emissão da DANFE NFCe.

Parâmetros:

layoutType: String indicando o tipo de layout.

0 - DANFE normal

1 - DANFE simplificada

sendType: String indicando o tipo de emissão.

0 - Sem emissão

1 - Somente impressão

2 - Somente envio de e-mail

3 - Somente geração de arquivo PDF

4 - Impressão + envio de e-mail

5 - Impressão + geração de arquivo PDF

6 - Impressão + envio de e-mail + geração de arquivo PDF

7 - Envio de e-mail e geração de arquivo PDF

email: String destinado a receber o e-mail do cliente, com até 61 caracteres.

Observações:

· Essa função deve ser implementada entre a abertura do cupom e o fechamento.

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

-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Observações:

· Deve ser executada logo após a redução Z ou sem nenhuma movimentação fiscal anterior.

Exemplo:

' Exemplo em Visual Basic

TipoLayout = "1"

TipoEmissao = "5"

cEmail = ""

iRetorno = Bematech_FI_DadosEnvioNFCe (TipoLayout, TipoEmissao, cEmail)

// Exemplo em Delphi

TipoLayout := '0';

TipoEmissao := '5';

cEmail := '';

iRetorno := Bematech_FI_DadosEnvioNFCe (TipoLayout, TipoEmissao, cEmail);


EfetuaFormaPagamentoNFCeEx

Bematech_FI_EfetuaFormaPagamentoNFCeEx

Efetuar a forma de pagamento da Nota Fiscal ao Consumidor Eletrônica (NFCe), com informações da operadora de cartão e tipo de integração.

Parâmetros:

paymentForm: String com a descricao da forma de pagamento. Tamanho máximo de 16 caracteres.

value: String com o valor da forma de pagamento. Tamanho máximo de 13 números e 1 vírgula.

licensingCNPJ: String com o CNPJ da credenciadora de cartão. Tamanho máximo de 14 caracteres.

licensingCode: String com o código referente a bandeira da operadora. Tamanho máximo de 2 caracteres.

01 - Visa

02 - Mastercard

03 - American Express

04 - Sorocred

99 - Outros

authorizationCode: String com o código de autorização da operação de crédito/débito. Tamanho máximo de 20 caracteres.

integrationCode: String com o código de integração para pagamento. Tamanho máximo de 1 caracter.

1 - Pagamento integrado com o sistema de automação da empresa

2 - Pagamento não integrado com o sistema de automação da empresa

Observações:

· Caso o pagamento seja em dinheiro, basta passar a descrição e o valor da forma de pagamento, todos os outros parâmetros devem ficar em branco.

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

-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Observações:

· Função para atender a NT 2015.002, item YA - Formas de Pagamento.

Exemplo:

' Exemplo em Visual Basic

descBandeira = "Cartao Credito"

valorForma = "1,00"

CNPJCrede = ""

bandeira = "01"

CodAuto = ""

CodIntegra = "1"

iRetorno = Bematech_FI_EfetuaFormaPagamentoNFCeEx(descBandeira, valorForma, CNPJCrede, bandeira, CodAuto, CodIntegra)

// Exemplo em Delphi

descBandeira := 'Cartao Credito';

valorForma := '1,00';

CNPJCrede := '';

bandeira := '01';

CodAuto := '';

CodIntegra := '1';

iRetorno := Bematech_FI_EfetuaFormaPagamentoNFCeEx(pchar(descBandeira), pchar(valorForma), pchar(CNPJCrede), pchar(bandeira), pchar(CodAuto), pchar(CodIntegra));


NumeroNotaNFCe

Bematech_FI_NumeroNotaNFCe

Obter o número de nota da Nota Fiscal ao Consumidor Eletrônica (NFCe).

Parâmetros:

message: String com a mensagem promocional. Tamanho máximo de 384 caracteres para impressoras do convênio ICMS 85/01 e 1024 caracteres para ICMS 09/09.

taxes: String com a mensagem referente a lei 12.741. Tamanho máximo de 10 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

-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Exemplo:

' Exemplo em Visual Basic

noteNumber = Space(6)

iRetorno = Bematech_FI_NumeroNotaNFCe(noteNumber)

// Exemplo em Delphi

for iConta := 1 to 6 do noteNumber := noteNumber + ' ';

iRetorno := Bematech_FI_NumeroNotaNFCe(noteNumber);


NumeroSerieNFCe

Bematech_FI_NumeroSerieNFCe

Obter o número de série da Nota Fiscal ao Consumidor Eletrônica (NFCe).

Parâmetros:

serialNumber: String destinado a receber o número de série, com 4 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

-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Exemplo:

' Exemplo em Visual Basic

serialNumber = Space(4)

iRetorno = Bematech_FI_NumeroSerieNFCe(serialNumber)

// Exemplo em Delphi

for iConta := 1 to 4 do serialNumber := serialNumber + ' ';

iRetorno := Bematech_FI_NumeroSerieNFCe(serialNumber);


ProgramaContadorNFCe

Bematech_FI_ProgramaContadorNFCe

Programar os contadores destinados ao VirtualECF para NFCe.

Parâmetros:

index: String indicando qual contador será programado.

0 - COO

1 - CRZ

2 - CRO

3 - CCF

4 - NNF

counter: String contendo o valor do contador a ser programado. Tamanho máximo de 6 caracteres para impressoras do convênio ICMS 85/01 e 9 caracteres para ICMS 09/09.

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

-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Observações:

· Deve ser executada logo após a redução Z ou sem nenhuma movimentação fiscal anterior.

Exemplo:

' Exemplo em Visual Basic

index = "1"

counter = "000001"

iRetorno = Bematech_FI_ProgramaContadorNFCe(index, counter)

// Exemplo em Delphi

cIndice := '1';

cContador := '000001';

iRetorno := Bematech_FI_ProgramaContadorNFCe ( cIndice, cContador);


ProtocoloUltimaNFCe

Bematech_FI_ProtocoloUltimaNFCe

Obter os dados do protocolo de recebimento da última Nota Fiscal ao Consumidor Eletrônica (NFCe).

Parâmetros:

protocol: String destinado a receber o protocolo, com 15 caracteres.

dateHour: String destinado a receber a data e hora do protocolo, com 19 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

-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Exemplo:

' Exemplo em Visual Basic

protocol = Space(15)

datehour = Space(19)

iRetorno = Bematech_FI_ProtocoloUltimaNFCe(protocol, datehour)

// Exemplo em Delphi

for iConta := 1 to 15 do protocol := protocol + ' ';

for iConta := 1 to 19 do datehour := datehour + ' ';

iRetorno := Bematech_FI_ProtocoloUltimaNFCe(protocol, datehour);


RetornaInformacoesNFCe

Bematech_FI_RetornaInformacoesNFCe

Obter as informações de envio de uma Nota Fiscal ao Consumidor Eletrônica (NFCe).

Parâmetros:

type: String com o tipo do parâmetro de busca sendo (1=COO, 2=CCF, 3=Chave de Acesso, 4=NNF)

value: String com o parâmetro de busca, com no máximo 44 caracteres.

accessKey: String destinado a receber a chave de acesso da NFCe com 44 caracteres.

serie: String destinado a receber a série da NFCe com 3 caracteres.

NFCeNumber: String destinado a receber o número da NFCe com 6 caracteres.

cancelled: String destinado a receber a flag de cancelamento com 1 caracter sendo "S"=Cancelada ou "N"=Não Cancelada.

sendStatus: String destinado a receber o código de status de envio da NFCe com 5 caracteres.

sendProtocol: String destinado a receber o protocolo de envio da NFCe com 15 caracteres.

sendProtocolDatetime: String destinado a receber a data e hora do protocolo de envio da NFCe com 19 caracteres.

cancellationStatus: String destinado a receber o código de status de cancelamento da NFCe com 5 caracteres.

cancellationProtocol: String destinado a receber o protocolo de cancelamento da NFCe com 15 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

-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Exemplo:

' Exemplo em Visual Basic

paramType = "2"

paramValue = "000001"

retChaveAcesso = Space(44)

retSerie = Space(3)

retNumNFCe = Space(6)

retCancelled = Space(1)

retSendStatus = Space(5)

retSendProtocol = Space(15)

retSendProtocolDatetime = Space(19)

retCancellationStatus = Space(5)

retCancellationProtocol = Space(15)

iRetorno = Bematech_FI_RetornaInformacoesNFCe(paramType , paramValue, retChaveAcesso, retSerie, retNumNFCe, retCancelled, retSendStatus, retSendProtocol, retSendProtocolDatetime, retCancellationStatus, retCancellationProtocol)

// Exemplo em Delphi

paramType := '2';

paramValue := '000001';

for iConta := 1 to 45 do retChaveAcesso := retChaveAcesso + ' ';

for iConta := 1 to 4 do retSerie := retSerie + ' ';

for iConta := 1 to 7 do retNumNFCe := retNumNFCe + ' ';

for iConta := 1 to 2 do retCancelled := retCancelled + ' ';

for iConta := 1 to 6 do retSendStatus := retSendStatus + ' ';

for iConta := 1 to 16 do retSendProtocol := retSendProtocol + ' ';

for iConta := 1 to 20 do retSendProtocolDatetime := retSendProtocolDatetime + ' ';

for iConta := 1 to 6 do retCancellationStatus := retCancellationStatus + ' ';

for iConta := 1 to 16 do retCancellationProtocol := retCancellationProtocol + ' ';

iRetorno := Bematech_FI_RetornaInformacoesNFCe(paramType , paramValue, retChaveAcesso, retSerie, retNumNFCe, retCancelled, retSendStatus, retSendProtocol, retSendProtocolDatetime, retCancellationStatus, retCancellationProtocol);


StatusUltimaNFCe

Bematech_FI_StatusUltimaNFCe

Obter o status de envio da última Nota Fiscal ao Consumidor Eletrônica (NFCe).

Parâmetros:

status: String destinado a receber o status, com 5 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

-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Exemplo:

' Exemplo em Visual Basic

status = Space(5)

iRetorno = Bematech_FI_StatusUltimaNFCe(Status)

// Exemplo em Delphi

for iConta := 1 to 5 do Status := Status + ' ';

iRetorno := Bematech_FI_StatusUltimaNFCe(Status);


StatusUltimoCancelamentoNFCe

Bematech_FI_StatusUltimoCancelamentoNFCe

Obter o status de cancelamento da última Nota Fiscal ao Consumidor Eletrônica (NFCe).

Parâmetros:

status: String destinado a receber o status, com 5 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

-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Exemplo:

' Exemplo em Visual Basic

status = Space(5)

iRetorno = Bematech_FI_StatusUltimoCancelamentoNFCe(Status)

// Exemplo em Delphi

for iConta := 1 to 5 do Status := Status + ' ';

iRetorno := Bematech_FI_StatusUltimoCancelamentoNFCe(Status);


TerminaFechamentoCupomNFCe

Bematech_FI_TerminaFechamentoCupomNFCe

Fecha o cupom fiscal com mensagem promocional e também informando o valor total dos tributos que será demonstrado na impressão (NFCe).

Parâmetros:

status: String destinado a receber o status, com 5 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

-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

' Exemplo em Visual Basic

mensagem = "Obrigado, volte sempre !!!"

taxas = "0,50"

iRetorno = Bematech_FI_TerminaFechamentoCupomNFCe(mensagem, taxas)

// Exemplo em Delphi

MensagPromo := 'Obrigado, volte sempre !!!';

Tax := '0,50';

iRetorno := Bematech_FI_TerminaFechamentoCupomNFCe( MensagPromo, Tax );


UltimaChaveAcessoNFCe

Bematech_FI_UltimaChaveAcessoNFCe

Obter a chave de acesso da última Nota Fiscal ao Consumidor Eletrônica (NFCe).

Parâmetros:

accessKey: String destinado a receber a chave de acesso, com 44 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

-27 - Status da impressora diferente de 6,0,0,0 (Ack, St1, St2 e St3)

Exemplo:

' Exemplo em Visual Basic

accessKey = Space(44)

iRetorno = Bematech_FI_UltimaChaveAcessoNFCe(accessKey)

// Exemplo em Delphi

for iConta := 1 to 44 do cChaveAcesso := cChaveAcesso + ' ';

iRetorno := Bematech_FI_UltimaChaveAcessoNFCe (cChaveAcesso);


VendeItemCompleto

Bematech_FI_VendeItemCompleto

Vende um item de acordo com as informações necessárias para NFCe.

Parâmetros:

code: String com o código do produto. Tamanho entre 3 e 14 caracteres.

EAN13: String com o código EAN13. Tamanho máximo de 14 caracteres. (15 caracteres para VirtualECF 85/01)

description: String com a descrição do produto. Tamanho máximo de 233 caracteres.

indexDepartment: String com o índice do departamento. Tamanho máximo de 2 caracteres numéricos.

tax: String com a alíquota do produto. A função aceita tanto o valor quanto o índice da alíquota. Se o tamanho do parametro for igual a 2 considera como o índice da alíquota exceto NN, II, FF, caso contrário considera como sendo o valor da alíquota.

unitOfMeasure: String com a unidade de medida. Tamanho máximo de 3 caracteres. (7 caracteres para VirtualECF 85/01)

quantityType: String com o tipo de quantidade, sendo:

I - Inteiro

F - Fracional

decimalsQuantity: String contendo o número de casas decimais. O intervalo é entre 0 e 6.

quantity: String com a quantidade do produto. Tamanho máximo de 7 caracteres.

decimalsUnitaryValue: String com as casas decimais do valor unitário. O intervalo é entre 0 e 6.

unitaryValue: String com o valor unitário do produto. Tamanho máximo de 8 caracteres.

increaseDiscountType: String indicando uma operação de acréscimo 'A' ou desconto 'D'. Tamanho de 1 caractere.

incrementValue: String com o valor ou percentual para acréscimo. Tamanho máximo de 8 caracteres numéricos para valor e 4 para porcentagem.

discountValue: String com o valor ou percentual para desconto. Tamanho máximo de 8 caracteres numéricos para valor e 4 para porcentagem.

typeOfCalculation: String com o indicador do tipo de cálculo. Tamanho máximo de 1 caracter.

A - Para cálculo com arredondamento

T - Para cálculo com truncamento

NCM: String com o código NCM. Tamanho entre 2 e 8 caracteres. Para vendas com ISS, este código deve ser 99.

CFOP: String com o código CFOP. Tamanho de 4 caracteres.

additionalInformation: String com informações adicionais do produto. Tamanho máximo de 80 caracteres.

CST_ICMS: String com o código CST de ICMS. Tamanho máximo de 2 caracteres. Este parâmetro deve ser usado somente em operações de ICMS. Para operações de ISS, deve ser nulo. Valores possíveis: 00, 20, 40, 41, 50, 51, 60, 90.

productOrigin: String com a origem do produto. Tamanho de 1 caractere. Este parâmetro deve ser usado somente em operações de ICMS. Para operações de ISS, deve ser nulo, sendo:

0 - Nacional

1 - Estrangeira - Importação direta

2 - Estrangeira - Mercado interno

itemServiceList: String com o item da lista de serviços. Tamanho máximo de 5 caracteres. Este parâmetro deve ser usado somente em operações de ISS. Para operações de ICMS, deve ser nulo.

ISSCode: String com o código de ISS. Tamanho máximo de 20 caracteres. Este parâmetro deve ser usado somente em operações de ISS. Para operações de ICMS, deve ser nulo.

ISSOperationNature: String com a natureza de operação de ISS. Tamanho máximo de 20 caracteres. Este parâmetro deve ser usado somente em operações de ISS. Para operações de ICMS, deve ser nulo. Valores possíveis: '00' até '08'.

ISSIncentiveIndicator: String com o indicador de incentivo fiscal de ISS. Tamanho de 1 caracter. Este parâmetro deve ser usado somente em operações de ISS. Para operações de ICMS, deve ser nulo, sendo:

1 - Sim

2 - Não

IBGECode: String com o código IBGE. Tamanho máximo de 7 caracteres. Este parâmetro deve ser usado somente em operações de ISS. Para operações de ICMS, deve ser nulo. Para transações internacionais, este valor deve ser 9999999.

CSOSN: String com o código do Simples. Tamanho máximo de 3 caracteres. Este parâmetro deve ser usado somente em operações de ICMS. Para operações de ISS, deve ser nulo. Valores possíveis: 101, 102, 103, 400, 500.

basisCalculuationValueRetained: String com a base de cálculo destinada ao Simples, valor retido. Tamanho máximo de 8 caracteres.

ICMSValueRetained: String com o valor de ICMS retido destinada ao Simples. Tamanho máximo de 8 caracteres.

basisCalculationMode: String com a modalidade de determinação da Base de Cálculo do ICMS. Tamanho de 1 caracter, sendo:

0 - Margem do valor agregado (%)

1 - Pauta (Valor)

2 - Preço tabelado máx. (Valor)

3 - Valor da operação

basisCalculationReductionPercentual: String com o percentual da redução da Base de Cálculo. Tamanho máximo de 4 caracteres.

ICMSSTBasisCalculationMode: String com o Modalidade de determinação da BC do ICMS ST. Tamanho máximo de 1 caracter, sendo:

0 - Preço tabelado ou máximo sugerido

1 - Lista negativa (valor)

2 - Lista positiva (valor)

3 - Lista neutra (valor)

4 - Margem do valor agregado (%)

5 - Pauta (valor)

ICMSSTValueAddedMarginPercentual: String com o Percentual da margem de valor adicionado do ICMS ST. Tamanho máximo de 4 caracteres.

ICMSSTBasisCalculationReductionPercentual: String com o Percentual da redução de BC do ICMS ST. Tamanho máximo de 4 caracteres.

ICMSSTBasisCalculationReductionValue: String com o Valor da redução de BC do ICMS ST. Tamanho máximo de 15 caracteres.

ICMSSTTax: String com a Alíquota do imposto do ICMS ST. Tamanho máximo de 4 caracteres.

ICMSSTValue: String com o Valor do ICMS ST. Tamanho máximo de 15 caracteres.

ICMSUnencumberedValue: String com o Valor do ICMS desonerado. Tamanho máximo de 15 caracteres.

ICMSUnburdeningMotive: String com o motivo da desoneração do ICMS. Tamanho máximo de 2 caracteres, sendo:

3 - Uso na agropecuária

9 - Outros

12 - Órgão de fomento e desenvolvimento agropecuário

creditCalculationApplicableTax: String com a alíquota aplicável de cálculo de crédito (Simples Nacional). Tamanho máximo de 4 caracteres.

ICMSSNCreditValue: String com o valor do crédito do ICMS que pode ser aproveitado no Simples Nacional. Tamanho máximo de 10 caracteres.

incidentTaxTotalValue: String com o valor total de tributos. Tamanho máximo de 8 caracteres.

pisCst: String com o CST do PIS. Numérico. Tamanho máximo 2 caracteres.

pisBasisCalculation: String com o valor da Base de Calculo PIS. Numérico. Duas Casas Decimais. Tamanho máximo 15 caracteres.

pisTax: String com a alíquota do PIS. Numérico. Duas Casas Decimais. Tamanho máximo 4 caracteres.

pisValue: String com o valor do PIS. Numérico. Duas Casas Decimais. Tamanho máximo 15 caracteres.

pisQuantitySell: String com a quandidade vendida do PIS. Numérico. Duas Casas Decimais. Tamanho máximo 15 caracteres.

pisTaxValueProd: String com o valor da aliquota do PIS (em reais). Numérico. Duas Casas Decimais. Tamanho máximo 15 caracteres.

cofinsCst: String com o CST do COFINS. Numérico. Tamanho máximo 2 caracteres.

cofinsBasisCalculation: String com o valor da Base de Calculo COFINS. Numérico. Duas Casas Decimais. Tamanho máximo 15 caracteres.

cofinsTax: String com a alíquota do COFINS. Numérico. Duas Casas Decimais. Tamanho máximo 4 caracteres.

cofinsValue: String com o valor do COFINS. Numérico. Duas Casas Decimais. Tamanho máximo 15 caracteres.

cofinsQuantitySell: String com a quandidade vendida do COFINS. Numérico. Duas Casas Decimais. Tamanho máximo 15 caracteres.

cofinsTaxValueProd: String com o valor da aliquota do COFINS (em reais). Numérico. Duas Casas Decimais. Tamanho máximo 15 caracteres.

CEST: String com o valor do o Código Especificador da Substituição Tributária – CEST. Numérico. Tamanho máximo 7 caracteres.

reserved01 Parâmetro reservado.

reserved02 Parâmetro reservado.

reserved03 Parâmetro reservado.

reserved04 Parâmetro reservado.

reserved05 Parâmetro reservado.

reserved06 Parâmetro reservado.

reserved07 Parâmetro reservado.

reserved08 Parâmetro reservado.

reserved09 Parâmetro reservado.

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.

-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

· O cupom fiscal deve estar aberto.

Exemplo:

' Exemplo em Visual Basic

'Esta função não pode ser utilizado com Visual Basic devido à limitação de quantidade de parâmetros por método da linguagem, para isso use a VendeItemCompletoJSON

// Exemplo em Delphi

Codigo := '1234567890';

EAN13 := '';

Descricao := 'AGUA MINERAL SEM GAS - COPO 200 ML';

IndiceDepartamento := '00';

Aliquota := 'F1';

UnidadeMedida := 'UN';

TipoQuantidade := 'I';

CasasDecimaisQtde := '3';

Quantidade := '1000';

CasasDecimaisValor := '2';

ValorUnitario := '1,00';

TipoDesconto := '$';

ValorAcrescimo := '0,00';

ValorDesconto := '0,00';

ArredondaTrunca := 'A';

NCM := '22011000';

CFOP := '5102';

InformacaoAdicional := 'INFORMAÇÕES';

OrigemProduto := '0';

CST_ICMS := '00';

CodigoIBGE := '';

CodigoISS := '';

NaturezaOperacaoISS := '';

IndicadorIncentivoFiscal := '';

ItemListaServico := '1234';

CSOSN := '102'; //--> Simples Nacional

ValorBaseCalculoSimples := '0';

ValorICMSRetidoSimples := '0';

ModalidadeBaseCalculo := '0';

PercentualReducaoBase := '0';

ModalidadeBC := '0';

PercentualMargemICMS := '0';

PercentualBCICMS := '0';

ValorReducaoBCICMS := '0';

ValorAliquotaICMS := '0';

ValorICMS := '0';

ValorICMSDesonerado := '0';

MotivoDesoneracaoICMS := '0';

AliquotaCalculoCredito := '0';

ValorCreditoICMS := '0';

ValorTotalTributos := '0,51'; //tributos

CSTPIS := '04';

BaseCalculoPIS := '';

AliquotaPIS := '';

ValorPIS := '';

QuantVendidaPIS := '';

ValorAliquotaPIS := '';

CSTCOFINS := '04';

BaseCalculoCOFINS := '';

AliquotaCOFINS := '';

ValorCOFINS := '';

QunatVendidaCOFINS := '';

ValorAliquotaCOFINS := '';

CEST := ''; //valor para testes: 0100100

Reservado01 := '';

Reservado02 := '';

Reservado03 := '';

Reservado04 := '';

Reservado05 := '';

Reservado06 := '';

Reservado07 := '';

Reservado08 := '';

Reservado09 := '';

iRetorno := Bematech_FI_VendeItemCompleto( pchar( Codigo ), pchar( EAN13 ), pchar( Descricao ), pchar( IndiceDepartamento ), pchar( Aliquota ), pchar( UnidadeMedida ), pchar( TipoQuantidade ), pchar( CasasDecimaisQtde ), pchar( Quantidade ), pchar( CasasDecimaisValor ), pchar( ValorUnitario ), pchar( TipoDesconto ), pchar( ValorAcrescimo ), pchar( ValorDesconto ), pchar( ArredondaTrunca ), pchar( NCM ), pchar( CFOP ), pchar( InformacaoAdicional ), pchar( CST_ICMS ), pchar( OrigemProduto ), pchar( ItemListaServico ), pchar( CodigoISS ), pchar( NaturezaOperacaoISS ), pchar( IndicadorIncentivoFiscal ), pchar(CodigoIBGE ), pchar( CSOSN ), pchar( ValorBaseCalculoSimples ), pchar( ValorICMSRetidoSimples ), pchar( ModalidadeBaseCalculo ), pchar( PercentualReducaoBase ), pchar( ModalidadeBC ), pchar( PercentualMargemICMS ), pchar( PercentualBCICMS ), pchar( ValorReducaoBCICMS ), pchar( ValorAliquotaICMS ), pchar( ValorICMS ), pchar( ValorICMSDesonerado ), pchar( MotivoDesoneracaoICMS ), pchar( AliquotaCalculoCredito ), pchar( ValorCreditoICMS ), pchar( ValorTotalTributos ), pchar( CSTPIS ), pchar( BaseCalculoPIS ), pchar( AliquotaPIS ), pchar( ValorPIS ), pchar( QuantVendidaPIS ), pchar( ValorAliquotaPIS ), pchar( CSTCOFINS ), pchar( BaseCalculoCOFINS ), pchar( AliquotaCOFINS ), pchar( ValorCOFINS ), pchar( QunatVendidaCOFINS ), pchar( ValorAliquotaCOFINS ), pchar( CEST ), pchar( Reservado02 ), pchar( Reservado03 ), pchar( Reservado04 ), pchar( Reservado05 ), pchar( Reservado06 ), pchar( Reservado07 ), pchar( Reservado08 ), pchar( Reservado09 ));


VendeItemCompletoJSON

Bematech_FI_VendeItemCompletoJSON

Vende um item de acordo com as informações necessárias para NFCe utilizando a tecnologia JSON para aplicações em Visual Basic que tem restrições de quantidade de parâmetros na função.

Parâmetros:

decimalsQuantity: String contendo o número de casas decimais. O intervalo é entre 0 e 6.

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.

-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

Observações:

· O cupom fiscal deve estar aberto.

Exemplo:

' Exemplo em Visual Basic

codigo = "1234567890"

              EAN13 = "7891000081754"

              descricao = "Agua Mineral"

              indiceDepartamento = "01"

              aliquota = "FF"

              unidadeMedida = "UN"

              tipoQuantidade = "I"

              casasDecimaisQuantidade = "2"

              quantidade = "1000"

              casasDecimaisValorUnitario = "2"

              valorUnitario = "1,00"

              TipoAcrescimoDesconto = "$"

              valorAcrescimo = "00,00"

              valorDesconto = "00,00"

              tipoCalculo = "A"

              NCM = "09011200"

              CFOP = "5102"

              informacoesAdicionais = "INFORMAÇÕES"

              CST_ICMS = "00"

              origemProduto = "0"

              itemListaServico = ""

              codigoISS = ""

              naturezaOperacaoISS = ""

              indicadorIncentivoISS = ""

              codigoIBGE = ""

              CSOSN = "500"

              baseCalculoValorRetido = ""

              ICMS_ValorRetido = ""

              modoBaseCalculo = ""

              percentualReducaoBaseCalculo = ""

              ICMS_ST_ModoBaseCalculo = ""

              ICMS_ST_PercentualMargemAdicionado = ""

              ICMS_ST_PercentualReducaoBaseCalculo = ""

              ICMS_ST_ValorReducaoBaseCalculo = ""

              ICMS_ST_Aliquota = ""

              ICMS_ST_Valor = ""

              valorDesoneracaoICMS = ""

              motivoDesoneracaoICMS = ""

              aliquotaCalculoCredito = ""

              creditoICMSSimples = ""

              impostosIncidentes = "3,49"

              CST_PIS = "04"

              PIS_BaseCalculo = "120,00"

              PIS_Aliquota = "03,00"

              PIS_Valor = "3,60"

              PIS_QuantidadeVendida = ""

              PIS_ValorAliquotaReais = ""

              CST_COFINS = "04"

              COFINS_BaseCalculo = "120,00"

              COFINS_Aliquota = "01,00"

              COFINS_Valor = "1,20"

              COFINS_QuantidadeVendida = ""

              COFINS_ValorAliquotaReais = ""

              CEST = "0100100"

' Opção para concatenar variáveis

sParametros = "{" & Chr(34) & "codigo" & Chr(34) & ":" & Chr(34) & codigo & Chr(34) & "," & Chr(34) & "EAN13" & Chr(34) & ":" & Chr(34) & EAN13 & Chr(34) & "," & Chr(34) & "descricao" & Chr(34) & ":" & Chr(34) & descricao & Chr(34) & "," & Chr(34) & "indiceDepartamento" & Chr(34) & ":" & Chr(34) & indiceDepartamento & Chr(34) & "," _

& Chr(34) & "aliquota" & Chr(34) & ":" & Chr(34) & aliquota & Chr(34) & "," & Chr(34) & "unidadeMedida" & Chr(34) & ":" & Chr(34) & unidadeMedida & Chr(34) & "," & Chr(34) & "tipoQuantidade" & Chr(34) & ":" & Chr(34) & tipoQuantidade & Chr(34) & "," & Chr(34) & "casasDecimaisQuantidade" & Chr(34) & ":" & Chr(34) & casasDecimaisQuantidade & Chr(34) & "," _

& Chr(34) & "quantidade" & Chr(34) & ":" & Chr(34) & quantidade & Chr(34) & "," & Chr(34) & "casasDecimaisValorUnitario" & Chr(34) & ":" & Chr(34) & casasDecimaisValorUnitario & Chr(34) & "," & Chr(34) & "valorUnitario" & Chr(34) & ":" & Chr(34) & valorUnitario & Chr(34) & "," & Chr(34) & "tipoAcrescimoDesconto" & Chr(34) & ":" & Chr(34) & TipoAcrescimoDesconto & Chr(34) & "," _

& Chr(34) & "valorAcrescimo" & Chr(34) & ":" & Chr(34) & valorAcrescimo & Chr(34) & "," & Chr(34) & "valorDesconto" & Chr(34) & ":" & Chr(34) & valorDesconto & Chr(34) & "," & Chr(34) & "tipoCalculo" & Chr(34) & ":" & Chr(34) & tipoCalculo & Chr(34) & "," & Chr(34) & "NCM" & Chr(34) & ":" & Chr(34) & NCM & Chr(34) & "," & Chr(34) & "CFOP" & Chr(34) & ":" _

& Chr(34) & CFOP & Chr(34) & "," & Chr(34) & "informacoesAdicionais" & Chr(34) & ":" & Chr(34) & informacoesAdicionais & Chr(34) & "," & Chr(34) & "CST_ICMS" & Chr(34) & ":" & Chr(34) & CST_ICMS & Chr(34) & "," & Chr(34) & "origemProduto" & Chr(34) & ":" & Chr(34) & origemProduto & Chr(34) & "," & Chr(34) & "itemListaServico" & Chr(34) & ":" _

& Chr(34) & itemListaServico & Chr(34) & "," & Chr(34) & "codigoISS" & Chr(34) & ":" & Chr(34) & codigoISS & Chr(34) & "," & Chr(34) & "naturezaOperacaoISS" & Chr(34) & ":" & Chr(34) & naturezaOperacaoISS & Chr(34) & "," & Chr(34) & "indicadorIncentivoISS" & Chr(34) & ":" & Chr(34) & indicadorIncentivoISS & Chr(34) & "," & Chr(34) & "codigoIBGE" & Chr(34) & ":" _

& Chr(34) & codigoIBGE & Chr(34) & "," & Chr(34) & "CSOSN" & Chr(34) & ":" & Chr(34) & CSOSN & Chr(34) & "," & Chr(34) & "baseCalculoValorRetido" & Chr(34) & ":" & Chr(34) & baseCalculoValorRetido & Chr(34) & "," & Chr(34) & "ICMS_ValorRetido" & Chr(34) & ":" & Chr(34) & ICMS_ValorRetido & Chr(34) & "," & Chr(34) & "modoBaseCalculo" & Chr(34) & ":" & Chr(34) & modoBaseCalculo & Chr(34) & "," _

& Chr(34) & "percentualReducaoBaseCalculo" & Chr(34) & ":" & Chr(34) & percentualReducaoBaseCalculo & Chr(34) & "," & Chr(34) & "ICMS_ST_ModoBaseCalculo" & Chr(34) & ":" & Chr(34) & ICMS_ST_ModoBaseCalculo & Chr(34) & "," & Chr(34) & "ICMS_ST_PercentualMargemAdicionado" & Chr(34) & ":" & Chr(34) & ICMS_ST_PercentualMargemAdicionado & Chr(34) & "," & Chr(34) & "ICMS_ST_PercentualReducaoBaseCalculo" & Chr(34) & ":" _

& Chr(34) & ICMS_ST_PercentualReducaoBaseCalculo & Chr(34) & "," & Chr(34) & "ICMS_ST_ValorReducaoBaseCalculo" & Chr(34) & ":" & Chr(34) & ICMS_ST_ValorReducaoBaseCalculo & Chr(34) & "," & Chr(34) & "ICMS_ST_Aliquota" & Chr(34) & ":" & Chr(34) & ICMS_ST_Aliquota & Chr(34) & "," & Chr(34) & "ICMS_ST_Valor" & Chr(34) & ":" & Chr(34) & ICMS_ST_Valor & Chr(34) & "," & Chr(34) & "valorDesoneracaoICMS" & Chr(34) & ":" _

& Chr(34) & valorDesoneracaoICMS & Chr(34) & "," & Chr(34) & "motivoDesoneracaoICMS" & Chr(34) & ":" & Chr(34) & motivoDesoneracaoICMS & Chr(34) & "," & Chr(34) & "aliquotaCalculoCredito" & Chr(34) & ":" & Chr(34) & aliquotaCalculoCredito & Chr(34) & "," & Chr(34) & "creditoICMSSimples" & Chr(34) & ":" & Chr(34) & creditoICMSSimples & Chr(34) & "," & Chr(34) & "impostosIncidentes" & Chr(34) & ":" & Chr(34) & impostosIncidentes & Chr(34) & "," _

& Chr(34) & "CST_PIS" & Chr(34) & ":" & Chr(34) & CST_PIS & Chr(34) & "," & Chr(34) & "PIS_BaseCalculo" & Chr(34) & ":" & Chr(34) & PIS_BaseCalculo & Chr(34) & "," & Chr(34) & "PIS_Aliquota" & Chr(34) & ":" & Chr(34) & PIS_Aliquota & Chr(34) & "," & Chr(34) & "PIS_Valor" & Chr(34) & ":" & Chr(34) & PIS_Valor & Chr(34) & "," & Chr(34) & "PIS_QuantidadeVendida" & Chr(34) & ":" & Chr(34) & PIS_QuantidadeVendida & Chr(34) & "," _

& Chr(34) & "PIS_ValorAliquotaReais" & Chr(34) & ":" & Chr(34) & PIS_ValorAliquotaReais & Chr(34) & "," & Chr(34) & "CST_COFINS" & Chr(34) & ":" & Chr(34) & CST_COFINS & Chr(34) & "," & Chr(34) & "COFINS_BaseCalculo" & Chr(34) & ":" & Chr(34) & COFINS_BaseCalculo & Chr(34) & "," & Chr(34) & "COFINS_Aliquota" & Chr(34) & ":" & Chr(34) & COFINS_Aliquota & Chr(34) & "," & Chr(34) & "COFINS_Valor" & Chr(34) & ":" & Chr(34) & COFINS_Valor & Chr(34) & "," _

& Chr(34) & "COFINS_QuantidadeVendida" & Chr(34) & ":" & Chr(34) & COFINS_QuantidadeVendida & Chr(34) & "," _

& Chr(34) & "COFINS_ValorAliquotaReais" & Chr(34) & ":" & Chr(34) & COFINS_ValorAliquotaReais & Chr(34) & "," & Chr(34) & "CEST" & Chr(34) & ":" & Chr(34) & CEST & Chr(34) & "}"

iRet = Bematech_FI_VendeItemCompletoJSON(sParametros)


Declaração em VB

Private Declare Function Bematech_FI_AdicionaInformacoesCombustivel Lib "BEMAFI32.DLL" (ByVal itemIndex As String, ANPProductCode As String, ByVal percentMixGN As String, ByVal CODIF As String, ByVal quantity As String, ByVal consumeUF As String, ByVal BCProductCIDE As String,ByVal taxProductCIDE As String, ByVal valueCIDE As String, ByVal fuelNozzleNumber As String, ByVal fuelPumpNumber As String,ByVal fuelTankNumber As String, ByVal fuelGaugeInitial As String, ByVal fuelGaugeFinal As String) As Integer

Private Declare Function Bematech_FI_ChaveAcessoNFCe Lib "BEMAFI32.DLL" (ByVal index As String, ByVal counter As String, ByRef accessKey As String) As Integer

Private Declare Function Bematech_FI_DadosConsumidorNFCe Lib "BEMAFI32.DLL" (ByVal CPF As String, ByVal name As String, ByVal address As String, ByVal complement As String, ByVal number As String, ByVal neighborhood As String, ByVal IBGECode As String, ByVal city As String, ByVal UF As String, ByVal CEP As String, ByVal countyCode As String, ByVal country As String, ByVal phone As String, ByVal stateRegistrationIndicator As String, ByVal stateRegistration As String, ByVal SUFRAMACode As String, ByVal email As String) As Integer

Private Declare Function Bematech_FI_DadosEnvioNFCe Lib "BEMAFI32.DLL" (ByVal TipoLayout As String, ByVal TipoEmissao As String, ByVal cEmail As String) As Integer

Private Declare Function Bematech_FI_EfetuaFormaPagamentoNFCeEx Lib "BEMAFI32.DLL" (ByVal descBandeira As String, ByVal valorForma As String, ByVal CNPJCrede As String, ByVal bandeira As String, ByVal CodAuto As String, ByVal CodIntegra As String) As Integer

Private Declare Function Bematech_FI_NumeroNotaNFCe Lib "BEMAFI32.DLL" (ByVal noteNumber As String) As Integer

Private Declare Function Bematech_FI_NumeroSerieNFCe Lib "BEMAFI32.DLL" (ByVal serialNumber As String) As Integer

Private Declare Function Bematech_FI_ProgramaContadorNFCe Lib "BEMAFI32.DLL" (ByVal index As String, ByVal counter As String) As Integer

Private Declare Function Bematech_FI_ProtocoloUltimaNFCe Lib "BEMAFI32.DLL" (ByVal protocol As String, ByVal datehour As String) As Integer

Private Declare Function Bematech_FI_RetornaInformacoesNFCe Lib "BEMAFI32.DLL" (ByVal paramType As String, ByVal paramValue As String, ByVal retChaveAcesso As String, ByVal retSerie As String, ByVal retNumNFCe As String, ByVal retCancelled As String, ByVal retSendStatus As String, ByVal retSendProtocol As String, ByVal retSendProtocolDatetime As String, ByVal retCancellationStatus As String, ByVal retCancellationProtocol As String) As Integer

Private Declare Function Bematech_FI_StatusUltimaNFCe Lib "BEMAFI32.DLL" (ByVal Status As String) As Integer

Private Declare Function Bematech_FI_StatusUltimoCancelamentoNFCe Lib "BEMAFI32.DLL" (ByVal Status As String) As Integer

Private Declare Function Bematech_FI_UltimaChaveAcessoNFCe Lib "BEMAFI32.DLL" (ByVal accessKey As String) As Integer

Private Declare Function Bematech_FI_VendeItemCompletoJSON Lib "BEMAFI32.DLL" (ByVal sParametros As String) As Integer

Private Declare Function Bematech_FI_TerminaFechamentoCupomNFCe Lib "BEMAFI32.DLL" (ByVal Mensagem As String, ByVal Taxas As String) As Integer


Declaração em Delphi

function Bematech_FI_AdicionaInformacoesCombustivel(itemIndex: String; ANPProductCode: String; percentMixGN: String; CODIF: String; quantity: String; consumeUF: String; BCProductCIDE: String; taxProductCIDE: String; valueCIDE: String; fuelNozzleNumber: String; fuelPumpNumber: String; fuelTankNumber: String; fuelGaugeInitial: String; fuelGaugeFinal: String): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ChaveAcessoNFCe (cIndice: string; cContador: string; cChaveAcesso: string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DadosConsumidorNFCe ( cCPF: string; cNome: string; cEndereco: string; cComplemento: string; cNumero: string; cBairro: string; cCodIBGE: string; cCidade: string; cEstado: string; cCEP: string; cCodPais: string; cPais: string; cTelefone: string; cIEIndicador: string; cIE: string; cSUFRAMA: string; cEmail : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DadosEnvioNFCe (TipoLayout: string; TipoEmissao: string; cEmail : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_EfetuaFormaPagamentoNFCeEx (paymentForm: string; value: string; licensingCNPJ: string; licensingCode: string; authorizationCode: string; integrationCode : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NumeroNotaNFCe (noteNumber: String): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NumeroSerieNFCe (cNumSerie: string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ProgramaContadorNFCe (cIndice: string; cContador: string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ProtocoloUltimaNFCe ( cProtocolo: String; cDataHora: String): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_RetornaInformacoesNFCe(paramType: string; paramValue: string; retChaveAcesso : string; retSerie : string; retNumNFCe : string; retCancelled : string; retSendStatus : string; retSendProtocol : string; retSendProtocolDatetime : string; retCancellationStatus : string; retCancellationProtocol : string) : Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_StatusUltimaNFCe(Status: String): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_StatusUltimoCancelamentoNFCe (cStatus: string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_TerminaFechamentoCupomNFCe ( cMensagem: string; Tax : string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_UltimaChaveAcessoNFCe (cChaveAcesso: string): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VendeItemCompleto( Codigo: string;

EAN13: string;

Descricao: string;

IndiceDepartamento: string;

Aliquota: string;

UnidadeMedida: string;

TipoQuantidade: string;

CasasDecimaisQtde: string;

Quantidade: string;

CasasDecimaisValor: string;

ValorUnitario: string;

TipoDesconto: string;

ValorAcrescimo: string;

ValorDesconto: string;

ArredondaTrunca: string;

NCM: string;

CFOP: string;

InformacaoAdicional: string;

CST_ICMS: string;

OrigemProduto: string;

ItemListaServico: string;

CodigoISS: string;

NaturezaOperacaoISS: string;

IndicadorIncentivoFiscal: string;

CodigoIBGE: string; CSOSN: string;

ValorBaseCalculoSimples: string;

ValorICMSRetidoSimples: string;

ModalidadeBaseCalculo: string;

PercentualReducaoBase: string;

ModalidadeBC: string;

PercentualMargemICMS: string;

PercentualBCICMS: string;

ValorReducaoBCICMS: string;

ValorAliquotaICMS: string;

ValorICMS: string;

ValorICMSDesonerado: string;

MotivoDesoneracaoICMS: string;

AliquotaCalculoCredito: string;

ValorCreditoICMS: string;

ValorTotalTributos : string;

CSTPIS : string;

BaseCalculoPIS : string;

AliquotaPIS : string;

ValorPIS : string;

QuantVendidaPIS : string;

ValorAliquotaPIS : string;

CSTCOFINS : string;

BaseCalculoCOFINS : string;

AliquotaCOFINS : string;

ValorCOFINS : string;

QuantVendidaCOFINS : string;

ValorAliquotaCOFINS : string;

CEST : string;

Reservado01 : string;

Reservado02 : string;

Reservado03 : string;

Reservado04 : string;

Reservado05 : string;

Reservado06 : string;

Reservado07 : string;

Reservado08 : string;

Reservado09 : string; ): Integer; StdCall; External 'BEMAFI32.DLL';


Declaração em C#

[DllImport("BemaFI32.dll")]

       public static extern int Bematech_FI_AdicionaInformacoesCombustivel(string itemIndex, string ANPProductCode, string percentMixGN, string CODIF, string quantity, string consumeUF, string BCProductCIDE, string taxProductCIDE, string valueCIDE, string fuelNozzleNumber, string fuelPumpNumber, string fuelTankNumber, string fuelGaugeInitial, string fuelGaugeFinal);

       [DllImport("BemaFI32.dll")]

       public static extern int Bematech_FI_ChaveAcessoNFCe(string index, string counter);

       [DllImport("BemaFI32.dll")]

       public static extern int Bematech_FI_DadosConsumidorNFCe(string CPF, string name, string address, string complement, string number, string neighborhood, string IBGECode, string city, string UF, string CEP, string countyCode, string country, string phone, string stateRegistrationIndicator, string stateRegistration, string SUFRAMACode, string email);

       [DllImport("BemaFI32.dll")]

       public static extern int Bematech_FI_DadosEnvioNFCe(string TipoLayout, string TipoEmissao, string cEmail);

       [DllImport("BemaFI32.dll")]

       public static extern int Bematech_FI_EfetuaFormaPagamentoNFCeEx(string paymentForm, string value, string licensingCNPJ, string licensingCode, string authorizationCode, string integrationCode);

       [DllImport("BemaFI32.dll")]

       public static extern int Bematech_FI_NumeroNotaNFCe([MarshalAs(UnmanagedType.VBByRefStr)] ref string NumeroNota);

       [DllImport("BemaFI32.dll")]

       public static extern int Bematech_FI_NumeroSerieNFCe([MarshalAs(UnmanagedType.VBByRefStr)] ref string NumeroSerie);

       [DllImport("BemaFI32.dll")]

       public static extern int Bematech_FI_ProgramaContadorNFCe(string indice, string contador);

       [DllImport("BemaFI32.dll")]

       public static extern int Bematech_FI_ProtocoloUltimaNFCe(string protocolo, string dataHora);

       [DllImport("BemaFI32.dll")]

       public static extern int Bematech_FI_RetornaInformacoesNFCe(string type, string value, ref string accessKey, ref string serie, ref string NFCeNumber, ref string cancelled, ref string sendStatus, ref string sendProtocol, ref string sendProtocolDatetime, ref string cancellationStatus, ref string cancellationProtocol);

       [DllImport("BemaFI32.dll")]

       public static extern int Bematech_FI_StatusUltimaNFCe(string status);

       [DllImport("BemaFI32.dll")]

       public static extern int Bematech_FI_StatusUltimoCancelamentoNFCe(string status);

[DllImport("BemaFI32.dll")]

       public static extern int Bematech_FI_TerminaFechamentoCupomNFCe(string menssagem, string taxas);

       [DllImport("BemaFI32.dll")]

       public static extern int Bematech_FI_UltimaChaveAcessoNFCe(string chaveAcesso);

       [DllImport("BemaFI32.dll")]

       public static extern int Bematech_FI_VendeItemCompleto(string Codigo, string EAN13, string Descricao, string IndiceDepartamento, string Aliquota, string UnidadeMedida, string TipoQuantidade, string CasasDecimaisQtde, string Quantidade, string CasasDecimaisValor, string ValorUnitario, string TipoDesconto, string ValorAcrescimo, string ValorDesconto, string ArredondaTrunca, string NCM, string CFOP, string InformacaoAdicional, string CST_ICMS, string OrigemProduto, string ItemListaServico, string CodigoISS, string NaturezaOperacaoISS, string IndicadorIncentivoFiscal, string CodigoIBGE, string CSOSN, string ValorBaseCalculoSimples, string ValorICMSRetidoSimples, string ModalidadeBaseCalculo, string PercentualReducaoBase, string ModalidadeBC, string PercentualMargemICMS, string PercentualBCICMS, string ValorReducaoBCICMS, string ValorAliquotaICMS, string ValorICMS, string ValorICMSDesonerado, string MotivoDesoneracaoICMS, string AliquotaCalculoCredito, string ValorCreditoICMS, string ValorTotalTributos, string CSTPIS, string BaseCalculoPIS, string AliquotaPIS, string ValorPIS, string QuantVendidaPIS, string ValorAliquotaPIS, string CSTCOFINS, string BaseCalculoCOFINS, string AliquotaCOFINS, string ValorCOFINS, string QunatVendidaCOFINS, string ValorAliquotaCOFINS, string CEST, string Reservado01, string Reservado02, string Reservado03, string Reservado04, string Reservado05, string Reservado06, string Reservado07, string Reservado08, string Reservado09);


Declaração em Java

public static native int ChaveAcessoNFCe(String index, String counter, BemaString accessKey);

public static native int DadosConsumidorNFCe(String CPF, String name, String address, String complement, String number, String neighborhood, String IBGECode, String city, String UF, String CEP, String countyCode, String country, String phone, String stateRegistrationIndicator, String stateRegistration, String SUFRAMACode, String email);

public static native int DadosEnvioNFCe(String layoutType, String sendType, String email);

public static native int EfetuaFormaPagamentoNFCeEx(String paymentForm,String value,String licensingCNPJ,String licensingCode,String authorizationCode,String integrationCode);

public static native int NumeroNotaNFCe(BemaString noteNumber);

public static native int NumeroSerieNFCe(BemaString serieNumber);

public static native int ProgramaContadorNFCe(String index, String counter);

public static native int ProtocoloUltimaNFCe(BemaString protocol, BemaString dateHour);

public static native int RetornaInformacoesNFCe(String paramType, String paramValue, BemaString retChaveAcesso, BemaString retSerie, BemaString retNumNFCe, BemaString retCancelled, BemaString retSendStatus, BemaString retSendProtocol, BemaString, retSendProtocolDatetime, BemaString retCancellationStatus, BemaString retCancellationProtocol);

public static native int StatusUltimaNFCe(BemaString status);

public static native int StatusUltimoCancelamentoNFCe(BemaString status);

public static native int UltimaChaveAcessoNFCe(BemaString accessKey);

public static native int TerminaFechamentoCupomNFCe(String message, String taxes);

public static native int VendeItemCompleto(String Codigo, String EAN13, String Descricao, String IndiceDepartamento, String Aliquota, String UnidadeMedida, String TipoQuantidade, String CasasDecimaisQtde, String Quantidade, String CasasDecimaisValor, String ValorUnitario, String TipoDesconto, String ValorAcrescimo, String ValorDesconto, String ArredondaTrunca, String NCM, String CFOP, String InformacaoAdicional, String CST_ICMS, String OrigemProduto, String ItemListaServico, String CodigoISS, String NaturezaOperacaoISS, String IndicadorIncentivoFiscal, String CodigoIBGE, String CSOSN, String ValorBaseCalculoSimples, String ValorICMSRetidoSimples, String ModalidadeBaseCalculo, String PercentualReducaoBase, String ModalidadeBC, String PercentualMargemICMS, String PercentualBCICMS, String ValorReducaoBCICMS, String ValorAliquotaICMS, String ValorICMS, String ValorICMSDesonerado, String MotivoDesoneracaoICMS, String AliquotaCalculoCredito, String ValorCreditoICMS, String ValorTotalTributos, String CSTPIS, String BaseCalculoPIS, String AliquotaPIS, String ValorPIS, String QuantVendidaPIS, String ValorAliquotaPIS, String CSTCOFINS, String BaseCalculoCOFINS, String AliquotaCOFINS, String ValorCOFINS, String QunatVendidaCOFINS, String ValorAliquotaCOFINS, String CEST, String Reservado01, String Reservado02, String Reservado03, String Reservado04, String Reservado05, String Reservado06, String Reservado07, String Reservado08, String Reservado09);


DadosEntregaSAT

Bematech_FI_DadosEntregaSAT

Configurar os dados de entrega do SAT. Deve ser utilizado dentro da venda.

Parâmetros:

address: String destinado a enviar os dados do logradouro, com até 60 caracteres.

number: String destinado a enviar os dados do número do logradouro, com até 60 caracteres.

complement: String destinado a enviar os dados de complemento do logradouro, com até 60 caracteres.

neighborhood: String destinado a enviar os dados do bairro, com até 60 caracteres.

city: String destinado a enviar os dados do município, com até 60 caracteres.

UF: String destinado a enviar os dados da UF, com 2 caracteres.

Retornos da Função (INTEIRO):

1 - Ok.

0 - Erro de comunicação.

-1 - Erro durante execução.

-2 - Parâmetro inválido.

-27 - Status da impressora diferente de 6,0,0,0 (ACK, ST1, ST2, ST3).

Exemplo:

' Exemplo em Visual Basic

address = "Avenida Comendador Franco"

number = "1341"

complement = ""

neighborhood = "Jardim Botânico"

city = "Curitiba"

UF = "PR"

iRetorno = Bematech_FI_DadosEntregaSAT(address, number, complement, neighborhood, city, UF )

// Exemplo em Delphi

address := 'Avenida Comendador Franco';

number := '1341';

complement := '';

neighborhood := 'Jardim Botânico';

city := 'Curitiba';

UF := 'PR';

iRetorno := Bematech_FI_DadosEntregaSAT(address, number, complement, neighborhood, city, UF);


DadosSoftwareHouseSAT

Bematech_FI_DadosSoftwareHouseSAT

Informar o CNPJ da Software House e a Assinatura do Aplicativo Comercial, deve ser implementada entre a abertura e o fechamento do cupom.

Parâmetros:

CNPJ: String com o CNPJ da Software House, com 14 caracteres.

softwareSignature: String com a assinatura do aplicativo comercial, com 344 caracteres.

Retornos da Função (INTEIRO):

1 - Ok.

0 - Erro de comunicação.

-1 - Erro durante execução.

-2 - Parâmetro inválido.

-27 - Status da impressora diferente de 6,0,0,0 (ACK, ST1, ST2, ST3).

Exemplo:

' Exemplo em Visual Basic

CNPJSW = "16716114000172"

AssinaturaSW = "SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT"

iRetorno = Bematech_FI_DadosSoftwareHouseSAT(CNPJSW, AssinaturaSW)

// Exemplo em Delphi

CNPJSW := '16716114000172';

AssinaturaSW := 'SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT';

iRetorno := Bematech_FI_DadosSoftwareHouseSAT(CNPJSW, AssinaturaSW);


HabilitaDesabilitaExtratoExtendidoSAT

Bematech_FI_HabilitaDesabilitaExtratoExtendidoSAT

Habilitar extrato de forma estendida para o SAT.

Parâmetros:

extendedOutput: String com o indicador de habilita/desabilita extrato normal. Tamanho de 1 caractere.

0 - Habilita extrato reduzido

1 - Habilita extrato normal

Retornos da Função (INTEIRO):

1 - Ok.

0 - Erro de comunicação.

-1 - Erro durante execução.

-2 - Parâmetro inválido.

-27 - Status da impressora diferente de 6,0,0,0 (ACK, ST1, ST2, ST3).

Observações:

· O cupom fiscal deve estar aberto.

Exemplo:

' Exemplo em Visual Basic

indicador = "1"

iRetorno = Bematech_FI_HabilitaDesabilitaExtratoExtendidoSAT(indicador)

// Exemplo em Delphi

indicador := '1';

iRetorno := Bematech_FI_HabilitaDesabilitaExtratoExtendidoSAT(indicador);


RetornaMensagemSefazSAT

Bematech_FI_RetornaMensagemSefazSAT

Retornar a mensagem e código de retorno da SEFAZ destinados ao SAT.

Parâmetros:

message: String destinado a receber a mensagem da Sefaz, com 255 caracteres.

code: String destinado a receber o código da mensagem, com 3 caracteres.

errorMessage: String destinado a receber a mensagem de erro, com 255 caracteres.

errorCode: String destinado a receber o código da mensagem de erro, com 4 caracteres.

Retornos da Função (INTEIRO):

1 - Ok.

0 - Erro de comunicação.

-1 - Erro durante execução.

-2 - Parâmetro inválido.

-27 - Status da impressora diferente de 6,0,0,0 (ACK, ST1, ST2, ST3).

Exemplo:

' Exemplo em Visual Basic

message = Space(255)

code = Space(3)

errorMessage = Space(255)

errorCode = Space(4)

iRetorno = Bematech_FI_RetornaMensagemSefazSAT(message, code, errorMessage, errorCode)

// Exemplo em Delphi

for iConta := 1 to 255 do message := message + ' ';

for iConta := 1 to 3 do code := code + ' ';

for iConta := 1 to 255 do errorMessage := errorMessage + ' ';

for iConta := 1 to 4 do errorCode := errorCode + ' ';

iRetorno := Bematech_FI_RetornaMensagemSeFazSAT(message,code,errorMessage,errorCode);


UltimasInformacoesSAT

Bematech_FI_UltimasInformacoesSAT

Obter as informações referente a última nota emitida no SAT.

Parâmetros:

accessKey: String destinado a receber a última chave de acesso, com 47 caracteres.

billNumber: String destinado a receber o número da última Nota Fiscal ao Consumidor Eletrônica, com 6 caracteres.

satNumber: String destinado a receber o número do SAT, com 9 caracteres.

Retornos da Função (INTEIRO):

1 - Ok.

0 - Erro de comunicação.

-1 - Erro durante execução.

-2 - Parâmetro inválido.

-27 - Status da impressora diferente de 6,0,0,0 (ACK, ST1, ST2, ST3).

Exemplo:

' Exemplo em Visual Basic

accessKey = Space(47)

billNumber = Space(6)

satNumber = Space(9)

iRetorno = Bematech_FI_UltimasInformacoesSAT(accessKey, billNumber, satNumber)

// Exemplo em Delphi

for iConta := 1 to 47 do accessKey := accessKey + ' ';

for iConta := 1 to 6 do billNumber := billNumber + ' ';

for iConta := 1 to 9 do satNumber := satNumber + ' ';

iRetorno := Bematech_FI_UltimasInformacoesSAT(accessKey, billNumber, satNumber);


Declaração em VB

Private Declare Function Bematech_FI_DadosSoftwareHouseSAT Lib "BEMAFI32.DLL" (ByVal CNPJ As String, ByVal softwareSignature As String) As Integer

Private Declare Function Bematech_FI_DadosEntregaSAT Lib "BEMAFI32.DLL" (ByVal address As String, ByVal number As String, ByVal complement As String, ByVal neighborhood As String, ByVal city As String, ByVal UF As String) As Integer

Private Declare Function Bematech_FI_UltimasInformacoesSAT Lib "BEMAFI32.DLL" (ByVal accessKey As String, ByVal billNumber As String, ByVal satNumber As String) As Integer

Private Declare Function Bematech_FI_RetornaMensagemSefazSAT Lib "BEMAFI32.DLL" (ByVal message As String, ByVal code As String, ByVal errorMessage As String, ByVal errorCode As String) As Integer

Private Declare Function Bematech_FI_HabilitaDesabilitaExtratoExtendidoSAT Lib "BEMAFI32.DLL" (ByVal extendedOutput As String) As Integer


Declaração em Delphi

function Bematech_FI_UltimasInformacoesSAT(accessKey: String; billNumber: String; satNumber: String): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_RetornaMensagemSeFazSAT(message: String; code: String; errorMessage: String; errorCode: String): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DadosEntregaSAT(address: String; number: String; complement: String; neighborhood: String; city: String; UF: String): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DadosSoftwareHouseSAT ( CNPJ: String; Assinatura: String): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_HabilitaDesabilitaExtratoExtendidoSAT (extendedOutput: String): Integer; StdCall; External 'BEMAFI32.DLL';


Declaração em Java

public static native int DadosSoftwareHouseSAT(String CNPJ, String softwareSignature);

public static native int UltimasInformacoesSAT(BemaString accessKey, BemaString billNumber, BemaString satNumber);

public static native int RetornaMensagemSefaz(BemaString message, BemaString code, BemaString errorMessage, BemaString errorCode);

public static native int Bematech_FI_DadosEntregaSAT(String address, String number, String complement, String neighborhood, String city, String UF);

public static native int Bematech_FI_HabilitaDesabilitaExtratoExtendidoSAT (String extendedOutput);


Declaração em C#

[DllImport("BemaFI32.dll")]

public static extern int Bematech_FI_DadosSoftwareHouseSAT(string cnpj, string assinaturaAplicativoComercial);

[DllImport("BemaFI32.dll")]

public static extern int Bematech_FI_UltimasInformacoesSAT([MarshalAs(UnmanagedType.VBByRefStr)] ref string chaveAcesso, ref string numeroCupom, ref string NumeroSAT);

[DllImport("BemaFI32.dll")]

public static extern int Bematech_FI_RetornaMensagemSeFazSAT([MarshalAs(UnmanagedType.VBByRefStr)] ref string message, ref string code, ref string errorMessage, ref string errorCode);

[DllImport("BemaFI32.dll")]

public static int Bematech_FI_DadosEntregaSAT(string address, string number, string complement, string neighborhood, string city, string UF);

[DllImport("BemaFI32.dll")]

public static int Bematech_FI_HabilitaDesabilitaExtratoExtendidoSAT (string extendedOutput);


Gerando os Registros da CAT-52

Gerando os Registros da CAT-52

Implementamos a função Bematech_FI_GeraRegistrosCAT52MFD que permite a geração manual e retroativa dos registros referente à portaria CAT-52.

A geração do arquivo da CAT-52 continua sendo realizada no momento da Redução Z, através da função Bematech_FI_ReducaoZ (executada pela aplicação comercial), automaticamente quando a impressora é ligada no dia seguinte ou automaticamente às 2:00 hrs da manhã quando a impressora permacer ligada, mas caso necessite gerar o arquivo do CAT-52, basta chamar esta função.

Observações:

· No modelo matricial é obrigatório informar o arquivo .rfd como parâmetro. O parâmetro data não é obrigatório e será ignorado caso seja informado. O arquivo da CAT-52 será gerado com as informações contidas no arquivo .rfd.
· No modelo térmico com MFD temos as seguintes possibilidades:
a. se não forem informados o arquivo .mfd e a data, a função fará o download da MFD da data atual e fará a geração do arquivo da CAT-52.
b. se for informado o arquivo .mfd e não for passada a data, a função retornará erro.
c. se for informada apenas a data, a função fará o download da MFD com base na data informada e fará a geração do arquivo da CAT52.
d. se forem informados o arquivo .mfd e a data, a função fará a geração do arquivo da CAT-52 com as informações contidas no arquivo .mfd na data informada.
· No emulador da impressora, para que a função tenha efeito, é obrigatório que a comunicação seja realizada através de um cabo serial fisicamente conectado ao micro (COM1 <-> COM2, por exemplo), pois é realizado o download da MFD na geração do arquivo. A pinagem deste cabo está descrito no arquivo de ajuda do emulador.

Parâmetros:

Arquivo: STRING com o nome do arquivo .mfd ou .rfd de onde os registros serão gerados. Informar o caminho completo.

Data: STRING com a data que os registros serão gerados, 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.

-1 - Erro de execução da função.

-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_GeraRegistrosCAT52MFD("C:\download.mfd", "30/07/2007")

ou

iRetorno = Bematech_FI_GeraRegistrosCAT52MFD("C:\BEB00007.M57.rfd", "30/07/2007")

// Exemplo em Delphi

Arquivo := 'C:\download.mfd';

Data := '30/07/2007'

iRetorno := Bematech_FI_GeraRegistrosCAT52MFD( pchar( Arquivo ), pchar( Data ) );

ou

Arquivo := 'C:\BEB00007.M57.rfd';

Data := '30/07/2007'

iRetorno := Bematech_FI_GeraRegistrosCAT52MFD( pchar( Arquivo ), pchar( Data ) );

Importante:

Para que a função Bematech_FI_GeraRegistrosCAT52MFD possa gerar os registros da portaria CAT-52 ou Ato Cotepe 17/04, é necessário que as dlls BemaMFD.dll e BemaMFD2.dll estejam presentes em seu computador, juntamente com a BemaFI32.dll e o BemaFI32.ini previamente configurado (ver tópico "Configurando a DLL").

Copie estes arquivos para o diretório de sistema do Windows (exemplo: \WINDOWS\SYSTEM32).

Também criamos a função Bematech_FI_GeraRegistrosCat52MFDEx que possui um terceiro parâmetro, onde retorna o nome do arquivo gerado.

Os parâmetros desta função, são:

Arquivo: STRING com o nome do arquivo .mfd ou .rfd de onde os registros serão gerados. Informar o caminho completo.

Data: STRING com a data que os registros serão gerados, no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.

ArqDestino: variável STRING com 512 bytes para retornar o path+nome do arquivo gerado.

' Exemplo em Visual Basic

cArqDestino = space(512)

iRetorno = Bematech_FI_GeraRegistrosCAT52MFDEx("C:\download.mfd", "30/07/2007", cArqDestino)

ou

cArqDestino = space(512)

iRetorno = Bematech_FI_GeraRegistrosCAT52MFDEx("C:\BEB00007.M57.rfd", "30/07/2007", cArqDestino)

// Exemplo em Delphi

Arquivo := 'C:\download.mfd';

Data := '30/07/2007'

iConta := 1 to 512 do cArqDestino := cArqDestino + ' ';

iRetorno := Bematech_FI_GeraRegistrosCAT52MFDEx( pchar( Arquivo ), pchar( Data ), cArqDestino );

ou

Arquivo := 'C:\BEB00007.M57.rfd';

Data := '30/07/2007'

for iConta := 1 to 512 do cArqDestino := cArqDestino + ' ';

iRetorno := Bematech_FI_GeraRegistrosCAT52MFDEx( pchar( Arquivo ), pchar( Data ), cArqDestino );


Gerando os Registros do Sintegra nas Impressoras Fiscais MFD (térmica)

Gerando os Registros do Sintegra nas Impressoras Fiscais MFD (térmicas)

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, 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 as dlls BemaMFD.dll e BemaMFD2.dll estejam presentes em seu computador, juntamente com os arquivos DAO2535.tlb, DAO350.dll e MSJET35.dll.

Copie os arquivos BemaFI32.dll, BemaMFD.dll, BemaMFD2.dll, BemaFI32.ini, DAO2535.tlb, DAO350.dll e MSJET35.dll para o diretório de sistema do Windows (exemplo: C:\Windows\System32) e registre a DAO350.dll e MSJET35.dll executando o REGSVR32 para cada uma, respectivamente. Exemplo:

REGSVR32 DAO350.DLL

REGSVR32 MSJET35.DLL


Gerando Registros do SPED

Gerando os Registros da CAT-52

Gerando Registros do SPED

Criamos a função Bematech_FI_GeraRegistrosSpedMFD destinada a geração dos registros do SPED Fiscal e Contábil pertinentes ao ECF. Os registros gerados por esta função, são:

Perfil tipo A | Perfil tipo B | Perfil tipo T
C400 | C400 | C400
C405 | C405 | C405
C410 | C410 | C410
C420 | C420 | C420
C460 | C425 | C425
C470 | C490 | C460
C490 |  | C470
 |  | C490
 |  | C495
· C400: Equipamento ECF (Código 02 e D2)
· C405: Redução Z (Código 02 e D2)
· C410: PIS e COFINS totalizados no Dia (Código 02 e D2)
· C420: Registro dos Totalizadores Parciais da Redução Z (Código 02 e D2)
· C425: Resumo de itens do movimento diário.
· C460: Documento Fiscal Emitido por ECF (Código 02 e D2)
· C470: Itens do Documento Fiscal Emitido por ECF (Código 02 e D2)
· C490: Registro Analítico do Movimento Diário (Código 02 e D2)
· C495: Resumo Mensal de Itens do ECF por Estabelecimento (Código 02 e D2)

Parâmetros:

cOrigem: variável STRING com path+nome do arquivo contendo o download da MFD (.mfd).

cDestino: variável STRING com path+nome do arquivo texto de destino.

cDataInicial: variável STRING com a data inicial no formato "DD/MM/AAAA".

cDataFinal: variável STRING com a data final no no formato "DD/MM/AAAA".

cPerfil: variável STRING com o perfil do relatório a ser gerado, sendo "A", "B" ou "T", onde T = Todos os registros (A e B).

cCFOP: variável STRING com o código CFOP do estabelecimento, com o tamanho de 4 dígitos.

cCodObsLancFiscal: variável STRING com o código da observação do lançamento fiscal. Caracter branco caso opcional.

cAliquotaPis: variável STRING com o valor percentual da alíquota para o cálculo do PIS, com o tamanho de 4 dígitos sem a vírgula (0000) ou 5 dígitos com a vírgula (00,00).

cAliquotaCofins: variável STRING com o valor percentual da alíquota para o cálculo do COFINS, com o tamanho de 4 dígitos sem a vírgula (0000) ou 5 dígitos com a vírgula (00,00).

Observações:

· Função implementada apenas para os modelos MP-2100 TH FI, MP-3000 TH FI, MP-4000 TH FI e MP-7000 TH FI.
· Para que a função Bematech_FI_GeraRegistrosSpedMFD possa gerar os registros, é necessário que as dlls BemaMFD.dll e BemaMFD2.dll estejam presentes em seu computador, juntamente com a BemaFI32.dll e o BemaFI32.ini. Copie estes arquivos para o diretório de sistema do Windows (exemplo: C:\Windows\System32).

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

0: Erro de comunicação.

1: OK.

3: Não foi possível criar arquivo TXT.

4: Data informada inválida.

-1 - Erro de execução da função.

-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_GeraRegistrosSpedMFD("C:\download.mfd", "C:\Resultado.txt", "01/09/2010", "30/09/2010", "T", "5929", " ", "00,00", "00,00")

// Exemplo em Delphi

cArquivoMFD := 'C:\download.mfd';

cArquivoTXT := 'C:\Resultado.txt';

cDataInicial := '01/09/2010';

cDataFinal := '30/09/2010';

cPerfil := 'T';

cCFOP := '5929';

cCODOBSFiscal := ' ';

cAliqPIS := '00,00';

cAliqCOFINS := '00,00';

iRetorno = Bematech_FI_GeraRegistrosSpedMFD( pchar( cArquivoMFD ), pchar( cArquivoTXT ), pchar( cDataInicial ), pchar( cDataFinal ), pchar( cPerfil ), pchar( cCFOP ), pchar( cCODOBSFiscal ), pchar( cAliqPIS ), pchar( cAliqCOFINS ) );


Gerando Registros do SPED Completo

Gerando os Registros da CAT-52

Gerando Registros do SPED Completo

Gera o relatório do SPED Fiscal com todos os registros obrigatórios.

Parâmetros:

cOrigem: variável STRING com path+nome do arquivo contendo o download da MFD (.mfd). Caso este parâmetro seja NULL, a dll fará o download automaticamente com base no período de datas informado.

cDestino: variável STRING com path+nome do arquivo texto de destino.

cDataInicial: variável STRING com a data inicial no formato "DD/MM/AAAA".

cDataFinal: variável STRING com a data final no no formato "DD/MM/AAAA".

cPerfil: variável STRING com o perfil do relatório a ser gerado, sendo "A", "B" ou "T", onde T = Todos os registros (A e B).

cCFOP: variável STRING com o código CFOP do estabelecimento, com o tamanho de 4 dígitos.

cCodObsLancFiscal: variável STRING com o código da observação do lançamento fiscal, com o tamanho de 6 dígitos. Caracter branco caso opcional.

cAliquotaPis: variável STRING com o valor percentual da alíquota para o cálculo do PIS, com o tamanho de 4 dígitos sem a vírgula (0000) ou 5 dígitos com a vírgula (00,00).

cAliquotaCofins: variável STRING com o valor percentual da alíquota para o cálculo do COFINS, com o tamanho de 4 dígitos sem a vírgula (0000) ou 5 dígitos com a vírgula (00,00).

cEmpresa: variável STRING com o nome do estabelecimento, com o até 80 caracteres.

cCodMunicipioIBGE: variável STRING com o código do município na tabela do IBGE.

Observações:

· Função implementada apenas para os modelos MP-2100 TH FI, MP-3000 TH FI, MP-4000 TH FI e MP-7000 TH FI.
· Para que a função Bematech_FI_GeraRegistrosSpedCompletoMFD possa gerar os registros, é necessário que as dlls BemaMFD.dll e BemaMFD2.dll estejam presentes em seu computador, juntamente com a BemaFI32.dll e o BemaFI32.ini. Copie estes arquivos para o diretório de sistema do Windows (exemplo: C:\Windows\System32).

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

0: Erro de comunicação.

1: OK.

3: Não foi possível criar arquivo TXT.

4: Data informada inválida.

-1 - Erro de execução da função.

-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_GeraRegistrosSpedCompleto("C:\download.mfd", "C:\resultado.txt", "01/09/2010", "30/09/2010", "T", "5929", " ", "00,00", "00,00", "Empresa Tal", "1234567")

// Exemplo em Delphi

cArquivoMFD := 'C:\download.mfd';

cArquivoTXT := 'C:\resultado.txt';

cDataInicial := '01/09/2010';

cDataFinal := '30/09/2010';

cPerfil := 'T';

cCFOP := '5929';

cCODOBSFiscal := ' ';

cAliqPIS := '00,00';

cAliqCOFINS := '00,00';

cEmpresa := 'Empresa Tal';

cCodMunicipio := '1234567';

iRetorno = Bematech_FI_GeraRegistrosSpedCompleto( pchar( cArquivoMFD ), pchar( cArquivoTXT ), pchar( cDataInicial ), pchar( cDataFinal ), pchar( cPerfil ), pchar( cCFOP ), pchar( cCODOBSFiscal ), pchar( cAliqPIS ), pchar( cAliqCOFINS ), pchar( cEmpresa ), pchar( cCodMunicipio ) );


Linguagem de Programação JAVA

Linguagem de Programação JAVA

Com o objetivo de integrar as impressoras fiscais Bematech com aplicações de automação comercial, desenvolvidas na linguagem de programação Java, compatibilizamos nossa dll BemaFI32

O JNI permite que um código escrito em Java utilize a implementação de uma biblioteca escrita em C/C++, assembly ou outras linguagens de programação. Além disso, ele serve para interagir entre programas Java e outros programas escritos em linguagens diferentes. A figura abaixo demonstra isso:

Existe um pacote chamado Bematech.jar, o qual contém todas as classes utilizadas para realizar as operações com as impressoras fiscais. Mas, para poder utilizá-lo, é necessário possuir instalado o ou superior e, alem disso, as variáveis de ambiente path, classpath e java_home configuradas corretamente.

•

Configurando as variáveis path, classpath e java_home

Para configurar as variáveis, proceda da seguinte forma:

1) Clique com o botão direito em "Meu Computador" e escolha "Propriedades";

2) Clique na aba "Avançado" e no botão "Variáveis de Ambiente";

3) Nas variáveis de usuário, procure a variável chamada path, se não existir crie-a, definindo path como seu nome e o diretório onde estão os arquivos binários do java, por exemplo:

Nome da variável: path

Valor da variável: C:\Arquivos de programas\Java\jre1.5.0_05\bin

4) Procure a variável JAVA_HOME. Caso ela não exista, crie-a, atribuindo-lhe como valor o local onde o JRE está instalado, por exemplo:

Valor da variável: C:\Arquivos de programas\Java\jre1.5.0_05

5) A variável CLASSPATH deve ser configurada com o seguinte valor:

Valor da variável: .;JAVA_HOME

•

Entendendo os métodos da classe Bematech

A utilização dos métodos nativos que acessam as funções da BemaFI32.dll é feita da seguinte forma:

1) Adicionar no projeto Java o arquivo Bematech.jar, do pacote da BemaFI32.dll disponível no site.

2) Adicionar a seguinte linha de código à classe do projeto:

import bemajava.*;

Observação:

· No pacote Bematech.jar existem duas classes para tratamento de retornos da impressora. Uma para tratar os retornos tipo Integer e outra para String. Estas classes são:
· BemaInteger
· BemaString
· A classe BemaInteger armazena um valor inteiro e a classe BemaString armazena uma string de caracteres. Elas servem para ser passadas como parâmetro nos métodos que retornam informações da impressora, por exemplo o método Bematech.NumeroCupom:

(...)

BemaString numerocupom;

numerocupom = new BemaString();

Bematech.NumeroCupom( numerocupom );

System.out.println( "Número do Cupom: " + numerocupom.getBuffer() );

(...)

· Os nomes dos atributos (buffer e number) não podem ser modificados.

Exemplo:

import bemajava.*;

class TesteBematech

{

public static void main(String[] args)

{

int iRetorno;

BemaInteger ACK, ST1, ST2, ST3;

ACK = new BemaInteger();

ST1 = new BemaInteger();

ST2 = new BemaInteger();

ST3 = new BemaInteger();

// Habilitando o retorno estendido da impressora MFD

iRetorno = Bematech.HabilitaDesabilitaRetornoEstendidoMFD( "1" );

// Emitindo uma Leitura X

iRetorno = Bematech.LeituraX();

System.out.println( "Retorno: " + iRetorno );

// Pegando o retorno da impressora MFD

iRetorno = Bematech.RetornoImpressoraMFD( ACK, ST1, ST2, ST3 );

String retorno = "ACK: " + ACK.number

retorno += "\nST1: " + ST1.number

retorno += "\nST2: " + ST2.number

retorno += "\nST3: " + ST3.number;

System.out.println( "Retorno Impressora MFD: \n" + retorno );

}

}


Como Utilizar

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"

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

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

Como Configurar

Após executar o BematechMonitor.exe, o mesmo será exibido ao lado do relógio do Windows.

Dando um duplo clique sobre o seu ícone, será exibida a tela:

Clique em "Configurações" para a configuração do Bematech Monitor.

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) - O arquivo Status.txt será gerado com os status da impressora: ACK, ST1, ST2 e ST3 (ST3 caso habilitado);
· A chave "Retorno" para 1 (um) - O arquivo Retorno.txt será gerado quando forem usadas funções de retorno de informações da impressora - e;
· A chave ConfigRede para 2 (dois).

Exemplo:

[Sistema]

Porta=COM1

Path=C:\REDE\

Status=1

Retorno=1

StatusFuncao=0

ControlePorta=1

ModeloImp=BEMATECH

ConfigRede=2

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

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 |
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|
260 | Bematech_FI_EfetuaFormaPagamentoIndice | 260|01|100,00|
281 | Bematech_FI_EfetuaFormaPagamentoIndiceDescricaoForma | 281|01|00000000000100|DescriçãoOpcional|
· 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|
· 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|
262 | Bematech_FI_FlagsVinculacaoIss | 262|
263 | Bematech_FI_VerificaReducaoZAutomatica | 263|
266 | Bematech_FI_ModeloImpressora | 266|
279 | Bematech_FI_NumeroSerieCriptografado | 279|
280 | Bematech_FI_NumeroSerieDescriptografado | 280|<número de série criptografado pelo comando 279>|
· 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 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), MP-25 FI ou MP-50 FI
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|
210 | Bematech_FI_AcrescimoDescontoSubtotalMFD | 210|A|%|10,00|
212 | Bematech_FI_TotalizaCupomMFD | 212|
216 | Bematech_FI_TotalizaRecebimentoMFD | 216|
220 | Bematech_FI_DataHoraUltimoDocumentoMFD | 220|
235 | Bematech_FI_TerminaFechamentoCupomCodigoBarrasMFD | 235|Obrigado, volte sempre !!!|EAN13|123456789012|100|1|3|0|5|4|5|
239 | Bematech_FI_VerificaEstadoImpressoraMFD | 239|
240 | Bematech_FI_ImpressaoCarne | 240|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|
242 | Bematech_FI_DownloadMFD | 242|
243 | Bematech_FI_DownloadMF | 243|DOWNLOAD.MF|

244 | Bematech_FI_FormatoDadosMFD | 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 |  | 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|
259 | Bematech_FI_DownloadSB | 259|DOWNLOAD.SB|
261 | Bematech_FI_EfetuaFormaPagamentoIndiceMFD | 261|02|100,00|2|Em 30 e 60 dias|
262 | Bematech_FI_FlagsVinculacaoIss | 262|
267 | Bematech_FI_ProgramaIdAplicativoMFD | 267|APPTESTE.EXE|
269 | Bematech_FI_AcionaGuilhotinaMFD | 269|1|
271 | Bematech_FI_AtivaDesativaCancelamentoCupom2HorasMFD | 271|1|
272 | Bematech_FI_VerificaSensorPoucoPapelMFD | 272|
273 | Bematech_FI_VerificaCancelamentoCupom2HorasMFD | 273|
282 | Bematech_FI_DadosSintegraMFD | 282|01/01/07|30/01/07|
283 | Bematech_FI_ConfiguraCorteGuilhotinaMFD | 283|100|
284 | Bematech_FI_VendaBruta | 284|
285 | Bematech_FI_AtivaDesativaSensorPoucoPapelMFD | 285|1|
286 | Bematech_FI_AtivaDesativaCorteTotalMFD | 286|1|
287 | Bematech_FI_GeraRegistrosCAT52MFDEx | 287|download.mfd|30/07/2007|
288 | Bematech_FI_TotalIcmsCupom | 288|
290 | Bematech_FI_ViraChequeMFD | 290|
291 | Bematech_FI_AvancaPapelAcionaGuilhotinaMFD | 291|10|1|
292 | Bematech_FI_ImprimiChequeMFDEx | 292|001|50,00|José da Silva|Curitiba|18/04/02|Bom para 30/04/02|1|
293 | Bematech_FI_EstornoNaoFiscalVinculadoPosteriorMFD | 293|Cartao|50,00|000159|000161|11.111.111-11|Fulano de Tal|R. Sem Fim, 1000|
294 | Bematech_FI_AtivaDesativaGuilhotinaMFD | 294|1|
295 | Bematech_FI_TotalIssCupomMFD | 295|
296 | Bematech_FI_VendeItemArredondamentoMFD | 296|123|Caneta|1200|UN|1,000|0,250|00,00|00,00|true|
297 | Bematech_FI_FlagsFiscais3MFD | 297|

241 | Bematech_FI_InfoBalanca | 241|COM3|1|
324 | Bematech_FI_BaudRateBalanca | 324|2400|
325 | Bematech_FI_DataHoraGravacaoUsuarioSWBasicoMFAdicional | 325|
702 | genkkey | 702|
703 | md5FromFile | 703|APP.EXE|
704 | generateEAD | 704|ATC1704.txt|A499F300F731F6892F44B83A5DD9D97CFFFD0ABE96E29B4B4B4EB2F9E5BCFFCF0A52EAFDF05779F90B3A199BE5776B13373CB2E71D8AB67F4080CE27B226FFF032B6A7182C90C935EF2F4D343A743B60307EE4961F0C5EB02B1CEEF48D647C02E9BE164DC404B833F80C5B4268C04039547E7D5E242537B02360674B569208BD| D19598300478932ACFFE16CB6903552F15FDBD2D3B9659FAD79C3603C07B875919E9D8B28919B8F4C20C6AE23268A636D1206F5E6BC79D89B6152804B15A9781C90E0A2D5064FB5B7CC01048AD8C66768F76D71647E7D39F8EDD714044CEA68F2A40106849132B01D14DDEB3FBA6FC1A9FBE9EA71BAB9293707A4EAD29CB6F3D||1|
705 | validateFile | 705|ATC1704.txt|A499F300F731F6892F44B83A5DD9D97CFFFD0ABE96E29B4B4B4EB2F9E5BCFFCF0A52EAFDF05779F90B3A199BE5776B13373CB2E71D8AB67F4080CE27B226FFF032B6A7182C90C935EF2F4D343A743B60307EE4961F0C5EB02B1CEEF48D647C02E9BE164DC404B833F80C5B4268C04039547E7D5E242537B02360674B569208BD| D19598300478932ACFFE16CB6903552F15FDBD2D3B9659FAD79C3603C07B875919E9D8B28919B8F4C20C6AE23268A636D1206F5E6BC79D89B6152804B15A9781C90E0A2D5064FB5B7CC01048AD8C66768F76D71647E7D39F8EDD714044CEA68F2A40106849132B01D14DDEB3FBA6FC1A9FBE9EA71BAB9293707A4EAD29CB6F3D|
· para Comandos de PAF-ECF (somente impressoras MFD)
Código | Função que será executada na Impressora | Exemplo de conteúdo do arquivo BEMAFI32.CMD
326 | Bematech_FI_AbreDocumentoAuxiliarVenda | 326|01|Pedido de Orçamento|123|Nome Remetente|1234567890|Nome Destino|0987654321|
327 | Bematech_FI_UsaDocumentoAuxiliarVenda | 327|Produto de Teste|1,50|5,00|
328 | Bematech_FI_FechaDocumentoAuxiliarVenda | 328|5,00|
329 | Bematech_FI_TerminaFechamentoCupomPreVenda | 329|D4F15R15E1515H1J5K15L1515Q84A96Q|123|Obrigado, volte sempre|
330 | Bematech_FI_DAVEmitidosRelatorioGerencial | 330|01|01/08/2009|31/08/2009|
331 | Bematech_FI_DAVEmitidosArquivo | 331|C:\TESTE.TXT|01/08/2009|31/08/2009|A499F300F731F6892F44B83A5DD9D97CFFFD0ABE96E29B4B4B4EB2F9E5BCFFCF0A52EAFDF05779F90B3A199BE5776B13373CB2E71D8AB67F4080CE27B226FFF032B6A7182C90C935EF2F4D343A743B60307EE4961F0C5EB02B1CEEF48D647C02E9BE164DC404B833F80C5B4268C04039547E7D5E242537B02360674B569208BD| D19598300478932ACFFE16CB6903552F15FDBD2D3B9659FAD79C3603C07B875919E9D8B28919B8F4C20C6AE23268A636D1206F5E6BC79D89B6152804B15A9781C90E0A2D5064FB5B7CC01048AD8C66768F76D71647E7D39F8EDD714044CEA68F2A40106849132B01D14DDEB3FBA6FC1A9FBE9EA71BAB9293707A4EAD29CB6F3D|
332 | Bematech_FI_LeituraMemoriaFiscalSerialDataPAFECF | 332|01/08/2009|31/08/2009|c|A499F300F731F6892F44B83A5DD9D97CFFFD0ABE96E29B4B4B4EB2F9E5BCFFCF0A52EAFDF05779F90B3A199BE5776B13373CB2E71D8AB67F4080CE27B226FFF032B6A7182C90C935EF2F4D343A743B60307EE4961F0C5EB02B1CEEF48D647C02E9BE164DC404B833F80C5B4268C04039547E7D5E242537B02360674B569208BD| D19598300478932ACFFE16CB6903552F15FDBD2D3B9659FAD79C3603C07B875919E9D8B28919B8F4C20C6AE23268A636D1206F5E6BC79D89B6152804B15A9781C90E0A2D5064FB5B7CC01048AD8C66768F76D71647E7D39F8EDD714044CEA68F2A40106849132B01D14DDEB3FBA6FC1A9FBE9EA71BAB9293707A4EAD29CB6F3D|
333 | Bematech_FI_LeituraMemoriaFiscalSerialReducaoPAFECF | 333|0001|0010|c|A499F300F731F6892F44B83A5DD9D97CFFFD0ABE96E29B4B4B4EB2F9E5BCFFCF0A52EAFDF05779F90B3A199BE5776B13373CB2E71D8AB67F4080CE27B226FFF032B6A7182C90C935EF2F4D343A743B60307EE4961F0C5EB02B1CEEF48D647C02E9BE164DC404B833F80C5B4268C04039547E7D5E242537B02360674B569208BD|D19598300478932ACFFE16CB6903552F15FDBD2D3B9659FAD79C3603C07B875919E9D8B28919B8F4C20C6AE23268A636D1206F5E6BC79D89B6152804B15A9781C90E0A2D5064FB5B7CC01048AD8C66768F76D71647E7D39F8EDD714044CEA68F2A40106849132B01D14DDEB3FBA6FC1A9FBE9EA71BAB9293707A4EAD29CB6F3D|
334 | Bematech_FI_EspelhoMFD | 334|C:\TESTE.TXT|01/08/2009|31/08/2009|D|1|A499F300F731F6892F44B83A5DD9D97CFFFD0ABE96E29B4B4B4EB2F9E5BCFFCF0A52EAFDF05779F90B3A199BE5776B13373CB2E71D8AB67F4080CE27B226FFF032B6A7182C90C935EF2F4D343A743B60307EE4961F0C5EB02B1CEEF48D647C02E9BE164DC404B833F80C5B4268C04039547E7D5E242537B02360674B569208BD|D19598300478932ACFFE16CB6903552F15FDBD2D3B9659FAD79C3603C07B875919E9D8B28919B8F4C20C6AE23268A636D1206F5E6BC79D89B6152804B15A9781C90E0A2D5064FB5B7CC01048AD8C66768F76D71647E7D39F8EDD714044CEA68F2A40106849132B01D14DDEB3FBA6FC1A9FBE9EA71BAB9293707A4EAD29CB6F3D|
335 | Bematech_FI_ArquivoMFD | 335||01/08/2009|31/08/2009|D|01|2|A499F300F731F6892F44B83A5DD9D97CFFFD0ABE96E29B4B4B4EB2F9E5BCFFCF0A52EAFDF05779F90B3A199BE5776B13373CB2E71D8AB67F4080CE27B226FFF032B6A7182C90C935EF2F4D343A743B60307EE4961F0C5EB02B1CEEF48D647C02E9BE164DC404B833F80C5B4268C04039547E7D5E242537B02360674B569208BD|D19598300478932ACFFE16CB6903552F15FDBD2D3B9659FAD79C3603C07B875919E9D8B28919B8F4C20C6AE23268A636D1206F5E6BC79D89B6152804B15A9781C90E0A2D5064FB5B7CC01048AD8C66768F76D71647E7D39F8EDD714044CEA68F2A40106849132B01D14DDEB3FBA6FC1A9FBE9EA71BAB9293707A4EAD29CB6F3D|1|
336 | Bematech_FI_IdentificacaoPAFECF | 336|01|123456|123456789/0001-55|Razão Social de Teste|Endereço, 123|11 2222-3333|Fulano|Aplicativo Teste|1.0|C:\ABC.EXE|AD51ERT85D69Q735V645E86DGG8696BC|||BE0108SC56000049103|
337 | Bematech_FI_GrandeTotalCriptografado | 337|
338 | Bematech_FI_GrandeTotalDescriptografado | 338|AFD536ERF8D5W9D554G8|
339 | Bematech_FI_AbreRelatorioMeiosPagamento | 339|01|
340 | Bematech_FI_UsaRelatorioMeiosPagamento | 340|Dinheiro|FPGTO|500,00|15/09/2009|
341 | Bematech_FI_FechaRelatorioMeiosPagamento | 341|
342 | Bematech_FI_NomeiaRelatorioMeiosDePagamento | 342|
343 | Bematech_FI_NomeiaRelatorioDocumentoAuxiliarDeVenda | 343|
344 | Bematech_FI_NomeiaRelatorioDAVEmitidos | 344|
345 | Bematech_FI_NomeiaRelatorioIdentificacaoPAFECF | 345|
· para Comandos de PAF-ECF (somente impressoras MFD)
Código | Função que será executada na Impressora | Exemplo de conteúdo do arquivo BEMAFI32.CMD
346 | Bematech_FI_GeraRegistrosSpedMFD | 346|C:\download.mfd|C:\Resultado.txt|01/09/2010|30/09/2010|T|5929||00,00|00,00|
347 | Bematech_FI_FormatoDadosMF | 347|C:\DOWNLOAD.MF|C:\SAIDA.TXT|0|C|C|000150|000250|
348 | Bematech_FI_GeraRegistrosSpedCompleto | 348|C:\download.mfd|C:\Resultado.txt|01/09/2010|30/09/2010|T|5929||00,00|00,00|Empresa Tal|1234567|


Assinatura Digital (registro EAD)

Assinatura Digital (registro EAD)

A Bematech disponibiliza uma dll chamada "sign_bema.dll" que permite gerar as chaves pública e privada, além de assinar o arquivo com o registro EAD, conforme exigências do Convênio PAF-ECF.

Importante saber:

· O Fisco possui um programa chamado "eECFc" que faz a validação do arquivo com base na chave pública informada.
· A software-house deverá criar um arquivo XML com o seguinte conteúdo:

<?xml version="1.0" ?>

<empresa_desenvolvedora>

<nome></nome>

<chave>

<modulo></modulo>

<expoente_publico>03</expoente_publico>

</chave>

</empresa_desenvolvedora>

Onde:

· Na TAG <nome> deve ser informado o nome da software-house.
· Na TAG <modulo> deve ser informada a chave pública gerada.
· Na TAG <expoente_publico> deve ser informado o expoente de validação. Para Bematech o expoente é 03.
· A nomenclatura do arquivo é formada pelo nome da sofware-house mais a extensão ".xml", exemplo: "TESTE.xml".
· O arquivo .xml deve ser salvo na pasta "SHOUSE", localizada onde o "eECFc" foi instalado.

Observação:

· A "libeay32.dll" deve estar junta com a "sign_bema.dll" na pasta da aplicação para que as funções possam ser executadas corretamente.

A "sign_bema.dll" possui as seguintes funções:

· setLibType
· genkkey
· generateEAD
· validateFile
· md5FromFile

A declaração destas funções em VB é:

Private Declare Function genkkey Lib "sign_bema.dll" (ByVal cChavePublica As String, ByVal cChavePrivada As String) As Integer

Private Declare Function setLibType Lib "sign_bema.dll" (iTipo as Integer) As Integer

Private Declare Function generateEAD Lib "sign_bema.dll" (ByVal cNomeArquivo As String, ByVal cChavePublica As String, ByVal cChavePrivada As String, ByVal cEAD As String, ByVal iSign As Integer) As Integer

Private Declare Function validateFile Lib "sign_bema.dll" (ByVal cNomeArquivo As String, ByVal cChavePublica As String, ByVal cChavePrivada As String) As Integer

Private Declare Function md5FromFile Lib "sign_bema.dll" (ByVal cNomeArquivo As String, ByVal MD5 As String) As Integer

A declaração destas funções em Delphi é:

function genkkey( cChavePublica: String; cChavePrivada: String ): integer; stdcall; external 'sign_bema.dll';

function setLibType( iTipo: integer ): integer; stdcall; external 'sign_bema.dll';

function generateEAD( cNomeArquivo: String; cChavePublica: String; cChavePrivada: String; cEAD:String; iSign: Integer): integer; stdcall; external 'sign_bema.dll';

function validateFile( cNomeArquivo: String; cChavePublica: String; cChavePrivada: String ): integer; stdcall; external 'sign_bema.dll';

function md5FromFile( NomeArq: String; MD5: String ): integer; stdcall; external 'sign_bema.dll';


sobre

Sobre

Este arquivo de ajuda foi desenvolvido pela equipe BSP (Bematech MAIS Software Partners) da Bematech com o objetivo de auxiliá-lo no desenvolvimento de seu aplicativo PAF com a BemaFI32.dll para as impressoras fiscais Bematech.

Neste arquivo você encontra todas as funções de acesso à 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 contatos:

fone | 0800 644 SBSP (7277) opção 6
email | suporte.desenvolvedor@bematech.com.br
forum | http://partners.bematech.com.br/forum
skype | bematechmais.bsp.suporte -> Atendimento a impressoras fiscais e não fiscais bematech.plataformafiscal -> soluções fiscais NFC-e e SAT

· Visite nossa home-page: http://www.bematech.com.br
· Acesse nosso Portal de Desenvolvedores
· http://twitter.com/partnerbematech este é o TWITTER do partner Bematech. Siga-nos!
· Nosso canal no Youtube: http://www.youtube.com/partnersbematech


Bematech_FIR_AbreConferenciaMesa

Bematech_FIR_AbreConferenciaMesa

Top

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.

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()

Exemplo:

' Exemplo em Visual Basic

iRetorno = Bematech_FIR_AbreConferenciaMesa("0005")

// Exemplo em Delphi

cMesa := '0005';

( cMesa ) );


Bematech_FIR_AbreCupomRestaurante

Bematech_FIR_AbreCupomRestaurante

Top

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.

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:

' Exemplo em Visual Basic

iRetorno = Bematech_FIR_AbreCupomRestaurante("0001", "")

// Exemplo em Delphi

cMesa := '0001';

iRetorno := Bematech_FIR_AbreCupomRestaurante( pchar( cMesa ),

pchar( '' ) );


Bematech_FIR_CancelaVenda

Bematech_FIR_CancelaVenda

Top

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( cQtde ),

pchar( cValor ),

pchar( cValorAcresDesc ) );


Bematech_FIR_CardapioPelaSerial

Bematech_FIR_CardapioPelaSerial

Top

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

// Exemplo em Delphi

iRetorno := Bematech_FIR_CardapioPelaSerial();


Conceito

Conceito

Top Previous Next

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 "Client/Server" (baseado na lógica do Windows Terminal Server e do Citrix Metaframe).

A sua aplicação ficará instalada no servidor e os terminais (Cliente), com as suas respectivas impressoras, faram acesso à impressora através da aplicação executada a partir do servidor.

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.


Conceito

Conceito

Top

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 "Client/Server" (baseado na lógica do Windows Terminal Server e do Citrix Metaframe).

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.

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 o protocolo TCP/IP.

Nos terminais (Cliente), o arquivo BemaFI32.ini estará configurado também para o protocolo TCP/IP.

Detalhe: Pode-se usar somente a dll configurada para trabalhar remotamente por TCP/IP, sem a necessidade de executar o Bematech Monitor na máquina Cliente. As dlls Cliente e Servidor irão se comunicar entre si via Socket.


Configuração do BemaFI32.ini para o Bematech MONITOR

Configuração do BemaFI32.ini para o Bematech MONITOR

Top Previous Next

No servidor (Server):

O arquivo BemaFI32.dll e o arquivo BemaFI32.ini deverão estar presentes. Ambos, no diretório de sistema do Windows.

[Sistema]

Porta=DEFAULT

Path=X:\

Status=0

Retorno=0

StatusFuncao=0

ControlePorta=1

ModeloImp=BEMATECH

ConfigRede=1

Log=0

.

.

.

- A chave Path

- A chave ConfigRede, deve estar configurada para 1 (um), indicando que a sua utilização será realizada pelo servidor.

No terminal (Client):

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

- 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 Citrix Metaframe),

a chave ConfigRede dever estar configurada para 0 (zero). Exemplo: ConfigRede=0.


Configuração do BemaFI32.ini para o Bematech MONITOR

Configuração do BemaFI32.ini para o Bematech MONITOR

Top

No servidor:

O arquivo BemaFI32.dll e o arquivo BemaFI32.ini deverão estar presentes. Ambos, no diretório de sistema do Windows.

[Sistema]

Porta=DEFAULT

Path=C:\

Status=0

Retorno=0

StatusFuncao=0

ControlePorta=1

ModeloImp=BEMATECH

ConfigRede=5

Log=0

.

.

[ModoRemoto]

IP=

Porta=7000

.

.

- A chave ConfigRede na seção [Sistema], deve estar configurada para 5 (cinco), indicando que a sua utilização será realizada pelo servidor.

- A chave Porta na seção [ModoRemoto], deve possuir a porta do 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:\

Status=0

Retorno=0

StatusFuncao=0

ControlePorta=1

ModeloImp=BEMATECH

ConfigRede=4

Log=0

.

.

.

[ModoRemoto]

IP=192.168.1.15

Porta=7000

.

.

- A chave ConfigRede, deve estar configurada para 4 (quatro), indicando que a sua utilização será realizada pelo terminal (Cliente).

- A chave IP na seção [ModoRemoto], deve possuir o IP do servidor.

- A chave Porta na seção [ModoRemoto], deve possuir a porta do servidor.

IMPORTANTE

Para utilizar a DLL em modo não remoto, instalada sem o uso da rede

(Windows Terminal Server ou Citrix Metaframe),

a chave ConfigRede dever estar configurada para 0 (zero). Exemplo: ConfigRede=0.


Configurando a DLL para trabalhar com YANCO

Configurando a DLL para trabalhar com YANCO

Top

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".


Bematech_FIR_ConferenciaMesa

Bematech_FIR_ConferenciaMesa

Top

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_ContaDividida

Bematech_FIR_ContaDividida

Top

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.

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

pchar( cValorPago ),

pchar( '' ) );


Declaração em C# (C Sharp)

Declaração das Funções da BemaFI32.dll em C# (C Sharp)

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);

[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_TotalIcmsCupom([MarshalAs(UnmanagedType.VBByRefStr)] ref string ValorIcms);

#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);

[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_GeraRegistrosCAT52MFD(string cArquivo, string cData);

[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_GeraRegistrosCAT52MFDEx(string cArquivo, string cData, ref string cArqDestino);

#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);

[DllImport("BemaFi32.dll")]public static extern int Bematech_FI_VendeItemArredondamentoMFD(string Codigo, string Descricao, string Aliquota, string UnidadeMedida, string QtdFracionaria, string VlrUnitario, string Desconto, string Acrescimo, string Arredonda);

#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_NumeroSerieCriptografado( NumeroSerie: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NumeroSerieDescriptografado( NumeroSerieCriptografado: String; NumeroSerieDescriptografado: 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';

function Bematech_FI_TotalIcmsCupom( ValorIcms: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DataHoraGravacaoUsuarioSWBasicoMFAdicional( dataUsuario: string; dataSoftwareBasico: string; var letraAdicional: char ): 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';

function Bematech_FI_VerificaZPendente( Status: string ): 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, Datas: string; 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';

function Bematech_FI_GeraRegistrosCAT52MFD( cArquivo: String; cData: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_GeraRegistrosCAT52MFDEx( cArquivo: String; cData: String; cArqDestino: 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, MP-2100 TH FI e MP-4000 TH FI

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( iFlag: Integer ): 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';

// Funções para o PAF-ECF

function Bematech_FI_AbreDocumentoAuxiliarVenda( cIndice: String; cTitulo: String; cNumeroDAV: String; cNomeEmitente: String; cCNPJ_CPFEmitente: String; cNomeDestinatario: String; CNPJ_CPFDestinatario: String): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_UsaDocumentoAuxiliarVenda( cMercadoria: String; cValorUnitario: String; cValorTotal: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_FechaDocumentoAuxiliarVenda( cTotal: String ): Integer; StdCall; External'BEMAFI32.DLL';

function Bematech_FI_TerminaFechamentoCupomPreVenda( cMD5: String; cNumeroPreVenda: String; cMensagemPromocional: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DAVEmitidosRelatorioGerencial( cIndice: String; cDataInicial: String; cDataFinal: String): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DAVEmitidosArquivo( cNomeArquivo: String; cDataInicial: String; cDataFinal: String; cChavePublica: String; cChavePrivada: String ): Integer; StdCall; External' BEMAFI32.DLL';

function Bematech_FI_LeituraMemoriaFiscalSerialDataPAFECF( cDataInicial: String; cDataFinal: String; cFlagLeitura: String; cChavePublica: String; cChavePrivada: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_LeituraMemoriaFiscalSerialReducaoPAFECF( cCRZInicial: String; cCRZFinal: String; cFlagLeitura: String; cChavePublica: String; cChavePrivada: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_EspelhoMFD( cNomeArquivoDestino: String; cDadoInicial: String; cDadoFinal: String; cTipoDownload: String; cUsuario: String; cChavePublica: String; cChavePrivada: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ArquivoMFD( cNomeArquivoOrigem: String; cDadoInicial: String; cDadoFinal: String; cTipoDownload: String; cUsuario: String; iTipoGeracao: integer; cChavePublica: String; cChavePrivada: String; iUnicoArquivo: integer ): Integer; StdCall; External'BEMAFI32.DLL';

function Bematech_FI_ArquivoMFDPath( cNomeArquivoOrigem: String; cNomeArquivoDestino: String; cDadoInicial: String; cDadoFinal: String; cTipoDownload: String; cUsuario: String; iTipoGeracao: integer; cChavePublica: String; cChavePrivada: String; iUnicoArquivo: integer ): Integer; StdCall; External'BEMAFI32.DLL';

function Bematech_FI_IdentificacaoPAFECF( cIndice: String; cNumeroLaudo: String; cCNPJDesenvolvedor: String; cRazaoSocial: String; cEndereco: String; cTelefone: String; cContato: String; cNomeComercial: String; cVersao: String; cPrincipalExecutavel: String; cMD5PrincipalExecutavel: String; cDemaisArquivos: String; cMD5DemaisArquivos: String; cNumerosFabricacao: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_GrandeTotalCriptografado( cGTCriptografado: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_GrandeTotalDescriptografado( cGTCriptografado: String; cGTDescriptografado: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AbreRelatorioMeiosPagamento( cIndice: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_UsaRelatorioMeiosPagamento ( cIdentificacao: String; cTipoDocumento: String; cValorAcumulado: String; cData: String ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_FechaRelatorioMeiosPagamento: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NomeiaRelatorioMeiosDePagamento: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NomeiaRelatorioDocumentoAuxiliarDeVenda: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NomeiaRelatorioDAVEmitidos: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NomeiaRelatorioIdentificacaoPAFECF: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NomeiaRelatoriosPAFECF: Integer; StdCall; External 'BEMAFI32.DLL';

// Função para o SPED

function Bematech_FI_GeraRegistrosSpedMFD( arq_origem: string; arq_destino: string; data_inicial: string; data_final: string; perfil: string; CFOP: string; lac_fiscal: string; pis: string; cofins: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_GeraRegistrosSpedCompleto( cArquivoMFD: string; cArquivoTXT: string; cDataInicial: string; cDataFinal: string; cPerfil: string; cCFOP: string; cCODOBSFiscal: string; cAliqPIS: string; cAliqCOFINS: string; cEmpresa: string; cCodMunicipio: string): Integer; StdCall; External 'BEMAFI32.DLL';

// Funções específicas da impressora fiscal MP-4200 TH FI (Conv. 09/09)

function Bematech_FI_MinutosEmitindoDocumentosFiscaisCV0909( cMinutos: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NumeroCupomCV0909( cNumero: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NumeroOperacoesNaoFiscaisCV0909( cNumero: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NumeroSerieCV0909( cNumero: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_RetornoAliquotasCV0909( cAliquotas: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_RetornoImpressoraCV0909( iCAT: integer; iRET0: integer; iRET1: integer; iRET2: integer; iRET3: integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaFormasPagamentoCV0909( cFormar: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaIndiceAliquotasIssCV0909( cIndices: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaRecebimentoNaoFiscalCV0909( cRecebimentos: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VerificaTotalizadoresNaoFiscaisCV0909( cTotalizadores: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VersaoFirmwareCV0909( cVersao: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_TempoEmitindoOperacionalCV0909( cTempoEmitindo: string; cTempoOperacional: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AbreComprovanteNaoFiscalVinculadoCV0909( iSequencia: integer; cIndice: string; iQtdeParcela: integer; iNumeroParcela: integer; cCPF: string; cNome: string; cEndereco: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AbreCupomCV0909( cCPF: string; cNome: string; cEndereco: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AbreRecebimentoNaoFiscalCV0909( cCPF: string; cNome: string; cEndereco: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AbreRelatorioGerencialCV0909( cRelatorio: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AcionaGuilhotinaCV0909( iModo: integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AcrescimoDescontoItemCV0909( cItem: string; cTipo: string; cModo: string; cValor: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_AcrescimoDescontoSubtotalCV0909( cTipo: string; cModo: string; cValor: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CancelaAcrescimoDescontoItemCV0909( cTipo: string; cItem: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CancelaAcrescimoDescontoSubtotalCV0909( cTipo: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CancelaCupomCV0909( cCOO: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_CancelaCupomAtualCV0909: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DownloadMFCV0909( cNomeArquivo: string; cTipo: string; cDadoInicial: string; cDadoFinal: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DownloadMFDCV0909( cNomeArquivo: string; cTipoDownload: string; cDadoInicial: string; cDadoFinal: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DownloadSBCV0909( cNomeArquivo: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_EfetuaFormaPagamentoIndiceCV0909( cIndice: string; cValor: string; cParcelas: string; cDescricao: string; cCodigoPagamento: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_EfetuaRecebimentoNaoFiscalCV0909( cIndiceTotalizador: string; cValor: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_EstornoFormasPagamentoCV0909( cFormaOrigem: string; cFormaDestino: string; cValor: string; iSequenciaForma: integer; cMensagem: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_EstornoNaoFiscalVinculadoCV0909( cCPF: string; cNome: string; cEndereco: string; cCOO: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_FechaRecebimentoNaoFiscalCV0909( cInformacao: string; iGuilhotina: integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_FechaRelatorioGerencialCV0909( iGuilhotina: integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ImpressaoFitaDetalheCV0909( cTipo: string; cDadoInicial: string; cDadoFinal: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_LeituraMemoriaFiscalDataCV0909( cDataInicial: string; cDataFinal: string; cFlag: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_LeituraMemoriaFiscalReducaoCV0909( cReducaoInicial: string; cReducaoFinal: string; cFlag: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_LeituraMemoriaFiscalSerialDataCV0909( cDataInicial: string; cDataFinal: string; cFlag: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_LeituraMemoriaFiscalSerialReducaoCV0909( cReducaoInicial: string; cReducaoFinal: string; cFlag: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ReducaoZCV0909( cData: string; cHora: string; iTransmite: integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ReimpressaoNaoFiscalVinculadoCV0909: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_SangriaCV0909( cValor: string; cInformacao: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_SegundaViaNaoFiscalVinculadoCV0909: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_SuprimentoCV0909( cValor: string; cInformacao: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_TerminaFechamentoCupomCV0909( cInformacao: string; iCupomAdicional: integer; iGuilhotina: integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_UsaRelatorioGerencialCV0909( cTexto: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VendeItemCV0909( cCodigo: string; cDescricao: string; cAliquota: string; cQuantidade: string; iDecimalQtde: integer; cValor: string; cUnidadeMedida: string; iDecimalValor: integer; cModo: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_InterrompeLeiturasCV0909: Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ImprimeRTDCV0909( cMensagem: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_BufferRespostaCV0909( cBuffer: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ProgramaAliquotaCV0909( cValor: string; iTipo: integer; cIndice: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ProgramaHorarioVeraoCV0909( iModo: integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NomeiaTotalizadorNaoSujeitoIcmsCV0909( iIndice: integer; cDescricao: string; cSituacao: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ProgramaIdAplicativoCV0909( cID: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_NomeiaRelatorioGerencialCV0909( cIndice: string; cDescricao: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_ProgramaFormaPagamentoCV0909( cIndice: string; cDescricao: string; iVincula: integer ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_DadosUltimaReducaoCV0909( cDados: string ): Integer; StdCall; External 'BEMAFI32.DLL';

function Bematech_FI_VendeItemArredondamentoMFD( Codigo: String; Descricao: String; Aliquota: String; UnidadeMedida: String; QtdFracionaria: String; VlrUnitario: String; Acrescimo: String; Desconto: String; Arredonda: 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

DECLARE INTEGER Bematech_FI_TotalIcmsCupom IN BemaFI32.DLL STRING @ c_valoricms

* 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

DECLARE INTEGER Bematech_FI_GeraRegistrosCAT52MFD IN BemaFI32.DLL STRING, STRING

DECLARE INTEGER Bematech_FI_GeraRegistrosCAT52MFDEx IN BemaFI32.DLL STRING, STRING, @ STRING

DECLARE INTEGER Bematech_FI_VendeItemArredondamentoMFD IN BemaFI32.DLL STRING, STRING, STRING, STRING, STRING, STRING, STRING, STRING, STRING

* Função para o SPED

DECLARE INTEGER Bematech_FI_GeraRegistrosSpedMFD IN BemaFI32.dll STRING, STRING, STRING, STRING, STRING, STRING, STRING, STRING, STRING


Declaração em JAVA

Declaração das Funções da BemaFI32.dll em Java

class Bematech

{

// Funções de Inicialização

public static native int AlteraSimboloMoeda( String cSimboloMoeda );

public static native int EspacoEntreLinhas( int iDots );

public static native int ForcaImpactoAgulhas( int iValorImpacto );

public static native int LinhasEntreCupons( int iLinhas );

public static native int NomeiaDepartamento( int iIndice, String cDepartamento );

public static native int NomeiaTotalizadorNaoSujeitoIcms( int iIndice, String cTotalizador );

public static native int ProgramaAliquota( String cAliquota, int iVinculo );

public static native int ProgramaArredondamento();

public static native int ProgramaTruncamento();

public static native int ProgramaHorarioVerao();

// Funções do Cupom Fiscal

public static native int AbreCupom( String CPF_CGC );

public static native int AumentaDescricaoItem( String cDescricao );

public static native int VendeItem( String cCodigo, String cDescricao, String cAliquota, String cTipoQuantidade, String cQuantidade, int iCasasDecimais, String cUnitario,String cTipoDesconto, String cDesconto );

public static native int VendeItemDepartamento( String cCodigo, String cDescricao, String cAliquota, String cValorUnitario, String cQuantidade, String cValorAcrescimo, String cValorDesconto, String cIndiceDepartamento, String cUnidadeMedida);

public static native int CancelaItemAnterior();

public static native int CancelaItemGenerico( String cNumeroItem );

public static native int CancelaCupom();

public static native int FechaCupom( String formaPagamento,String cAcrescimoDesconto, String cTipoAcrescimoDesconto,String cValorAcrescimoDesconto, String cValorPago,String cMensagem );

public static native int FechaCupomResumido( String formaPagamento,String cMensagem );

public static native int IniciaFechamentoCupom( String cAcrescimoDesconto,String cTipoAcrescimoDesconto, String cValorAcrescimoDesconto );

public static native int EfetuaFormaPagamento( String formaPagamento, String valorFormaPagamento );

public static native int EfetuaFormaPagamentoDescricaoForma( String formaPagamento, String valorFormaPagamento, String cDescricaoForma );

public static native int EstornoFormasPagamento( String cFormaOrigem, String cFormaDestino, String cValor );

public static native int TerminaFechamentoCupom( String cMensagem );

public static native int UsaUnidadeMedida( String cUnidadeMedida );

// Funções de Relatórios Fiscais

public static native int LeituraMemoriaFiscalData( String cDataInicial, String cDataFinal );

public static native int LeituraMemoriaFiscalReducao( String cReducaoInicial, String cReducaoFinal );

public static native int LeituraMemoriaFiscalSerialData( String cDataInicial, String cDataFinal );

public static native int LeituraMemoriaFiscalSerialReducao( String cReducaoInicial, String cReducaoFinal );

public static native int LeituraX();

public static native int LeituraXSerial();

public static native int ReducaoZ( String cData, String cHora );

// Funções de Operações Não Fiscais

public static native int AbreComprovanteNaoFiscalVinculado( String formaPagamento, String cValor, String cNumeroCupom );

public static native int UsaComprovanteNaoFiscalVinculado( String cTexto );

public static native int FechaComprovanteNaoFiscalVinculado();

public static native int FechaRelatorioGerencial();

public static native int RelatorioGerencial( String cTexto );

public static native int RecebimentoNaoFiscal( String cIndiceTotalizador, String cValorRecebimento, String formaPagamento );

public static native int Sangria( String cValor );

public static native int Suprimento( String cValor, String formaPagamento );

// Funções de Autenticação

public static native int Autenticacao();

public static native int ProgramaCaracterAutenticacao( String cCaracter );

// Função de Gaveta

public static native int VerificaEstadoGaveta( BemaInteger estado );

// Funções de Cheque

public static native int CancelaImpressaCheque();

public static native int ImprimeCheque( String cNumeroBanco, String cValor, String cFavorecido,String cCidade,String cData, String cMensagem );

public static native int ImprimeCopiaCheque();

public static native int IncluiCidadeFavorecido( String cCidade, String cFavorecido );

public static native int ProgramaMoedaPlural( String cMoedaPlural );

public static native int ProgramaMoedaSingular( String cMoedaSingular );

public static native int VerificaStatusCheque( BemaInteger status );

// Outras Funções

public static native int AberturaDoDia( String cValorAux, String formaPagamento );

public static native int AbrePortaSerial();

public static native int AbrePorta( int numero );

public static native int FechamentoDoDia();

public static native int FechaPortaSerial();

public static native int ImprimeConfiguracoesImpressora();

public static native int ImprimeDepartamentos();

public static native int MapaResumo();

public static native int RelatorioTipo60Analitico();

public static native int RelatorioTipo60Mestre();

public static native int ResetaImpressora();

public static native int RetornoImpressora( BemaInteger ACK, BemaInteger ST1, BemaInteger ST2 );

public static native int VerificaImpressoraLigada();

// Funções de Bilhete de Passagem

public static native int AbreBilhetePassagem( String cImprimeValorFim, String cImprimeEnfatizado, String cEmbarque, String cDestino, String cLinha, String cPrefixo, String cAgente, String cAgencia, String cData, String cHora, String cPoltrona, String cPlataforma );

public static native int ContadorBilhetePassagem( BemaString contador );

public static native int ImpressaoCarne( String cTitulo, String cParcela, String cDatas, int iQuantidade, String cTexto, String cCliente, String cRGCPF, String cCupom, int iVias, int iAssina );

// Funções de Informação da Impressora

public static native int Acrescimos( BemaString valorAcrescimo );

public static native int Cancelamentos( BemaString cancelamentos );

public static native int CGC_IE( BemaString CGC, BemaString IE );

public static native int ClicheProprietario( BemaString clicheProprietario );

public static native int ContadoresTotalizadoresNaoFiscais( BemaString Contadores );

public static native int DadosUltimaReducao( BemaString dadosReducao );

public static native int DataHoraImpressora( BemaString data, BemaString hora );

public static native int DataHoraReducao( BemaString data, BemaString hora );

public static native int DataMovimento( BemaString dataMovimento );

public static native int Descontos( BemaString descontos );

public static native int FlagsFiscais( BemaInteger flagFiscal );

public static native int FlagsVinculacaoIss( BemaInteger flag1, BemaInteger flag2 );

public static native int GrandeTotal( BemaString grandeTotal );

public static native int MinutosImprimindo( BemaString minutosImprimindo );

public static native int MinutosLigada( BemaString minutosLigada );

public static native int ModeloImpressora( BemaString modeloImpressora );

public static native int MonitoramentoPapel( BemaInteger linhasImpressas );

public static native int NumeroCaixa( BemaString numeroCaixa );

public static native int NumeroCupom( BemaString numeroCupom );

public static native int NumeroCuponsCancelados( BemaString numeroCuponsCancelados );

public static native int NumeroIntervencoes( BemaString numeroIntervencoes );

public static native int NumeroLoja( BemaString numeroLoja );

public static native int NumeroOperacoesNaoFiscais( BemaString operacoes );

public static native int NumeroReducoes( BemaString numeroReducoes );

public static native int NumeroSerie( BemaString numeroSerie );

public static native int NumeroSubstituicoesProprietario( BemaString substituicoes );

public static native int RetornoAliquotas( BemaString aliquotas );

public static native int SimboloMoeda( BemaString simboloMoeda );

public static native int SubTotal( BemaString subTotal );

public static native int UltimoItemVendido( BemaString ultimoItemVendido );

public static native int VendaBruta( BemaString valor );

public static native int ValorFormaPagamento( String forma, BemaString valorForma );

public static native int ValorPagoUltimoCupom( BemaString valorUltimoCupom );

public static native int ValorTotalizadorNaoFiscal( String totalizador, BemaString valor );

public static native int VerificaAliquotasISS( BemaString aliquotasISS );

public static native int VerificaDepartamentos( BemaString departamentos );

public static native int VerificaEpromConectada( BemaString flagEprom );

public static native int VerificaEstadoImpressora( BemaInteger ACK,BemaInteger ST1,BemaInteger ST2 );

public static native int VerificaFormasPagamento( BemaString formasPagamento );

public static native int VerificaIndiceAliquotasIss( BemaString indiceAliquotas );

public static native int VerificaModoOperacao( BemaString modoOperacao );

public static native int VerificaRecebimentoNaoFiscal( BemaString recebimentos );

public static native int VerificaReducaoZAutomatica( BemaInteger flag );

public static native int VerificaTipoImpressora( BemaInteger tipo );

public static native int VerificaTotalizadoresNaoFiscais( BemaString totalizadores );

public static native int VerificaTotalizadoresParciais( BemaString totalizadores );

public static native int VerificaTruncamento( BemaString flagTruncamento );

public static native int VersaoFirmware( BemaString versaoFirmware );

// Funções da Impressora Fiscal Convênio ICMS 85/01 (matriciais e térmicas)

public static native int AbreBilhetePassagemMFD( String cEmbarque, String cDestino, String cLinha, String cAgencia, String cData, String cHora, String cPoltrona, String cPlataforma, String cTipoPassagem, String cRG, String cNome, String cEndereco, String cUF );

public static native int AbreComprovanteNaoFiscalVinculadoMFD( String formaPagamento, String cValor, String cNumeroCupom, String cCPF, String cNome, String cEndereco );

public static native int AbreCupomMFD( String cCPF, String cNome, String cEndereco );

public static native int AbreRecebimentoNaoFiscalMFD( String cCPF, String cNome, String cEndereco );

public static native int AbreRelatorioGerencialMFD( String cTotalizador );

public static native int AcionaGuilhotinaMFD( int modo );

public static native int AcrescimoDescontoItemMFD( String cItem, String cAcrescimoDesconto, String cTipoAcrescimoDesconto, String cValorAcrescimoDesconto );

public static native int AcrescimoDescontoSubtotalRecebimentoMFD( String cFlag, String cTipo, String cValor );

public static native int AcrescimoDescontoSubtotalMFD( String cFlag, String cTipo, String cValor );

public static native int AutenticacaoMFD( String cLinhas, String cTexto );

public static native int CancelaAcrescimoDescontoItemMFD( String cFlag, String cItem );

public static native int CancelaAcrescimoDescontoSubtotalMFD( String cFlag );

public static native int CancelaAcrescimoDescontoSubtotalRecebimentoMFD( String cFlag );

public static native int CancelaCupomMFD( String cCPF, String cNome, String cEndereco );

public static native int CancelaRecebimentoNaoFiscalMFD( String cCPF, String cNome, String cEndereco );

public static native int ComprovantesNaoFiscaisNaoEmitidosMFD( BemaString cComprovantes );

public static native int CNPJMFD( BemaString cCNPJ );

public static native int ContadorComprovantesCreditoMFD( BemaString cContador );

public static native int ContadorCupomFiscalMFD( BemaString cContador );

public static native int ContadorFitaDetalheMFD( BemaString cContador );

public static native int ContadorOperacoesNaoFiscaisCanceladasMFD( BemaString cContador );

public static native int ContadorRelatoriosGerenciaisMFD( BemaString cContador );

public static native int ContadoresTotalizadoresNaoFiscaisMFD( BemaString cContador );

public static native int CupomAdicionalMFD();

public static native int DadosUltimaReducaoMFD( BemaString cDadosUltReducao );

public static native int DataHoraUltimoDocumentoMFD( BemaString cDataHora );

public static native int EfetuaFormaPagamentoMFD( String formaPagamento, String valorFormaPagamento, String cParcelas, String cDescricaoFormaPagto );

public static native int EfetuaRecebimentoNaoFiscalMFD( String cIndiceTotalizador, String cValorRecebimento );

public static native int EstornoNaoFiscalVinculadoMFD( String cCPF, String cNome, String cEndereco );

public static native int FechaRecebimentoNaoFiscalMFD( String cMensagem );

public static native int HabilitaDesabilitaRetornoEstendidoMFD( String cFlagRetorno );

public static native int ImprimeChequeMFD( String cNumeroBanco, String cValor, String cFavorecido, String cCidade, String cData,String cMsg,String cImpressaoVerso, String cLinhas );

public static native int IniciaFechamentoCupomMFD( String cAcrescimoDesconto, String cTipoAcrescimoDesconto, String cValorAcrescimo, String cValorDesconto );

public static native int IniciaFechamentoRecebimentoNaoFiscalMFD( String cAcrescimoDesconto, String cTipoAcrescimoDesconto, String cValorAcrescimo, String cValorDesconto );

public static native int InscricaoEstadualMFD( BemaString IE );

public static native int InscricaoMunicipalMFD( BemaString IM );

public static native int LeituraChequeMFD( BemaString cCMC7 );

public static native int LeituraMemoriaFiscalDataMFD( String cDataInicial,String cDataFinal,String cFlagLeitura );

public static native int LeituraMemoriaFiscalReducaoMFD( String cReducaoInicial,String cReducaoFinal,String cFlagLeitura );

public static native int LeituraMemoriaFiscalSerialDataMFD( String cDataInicial,String cDataFinal,String cFlagLeitura );

public static native int LeituraMemoriaFiscalSerialReducaoMFD( String cReducaoInicial,String cReducaoFinal,String cFlagLeitura );

public static native int MapaResumoMFD();

public static native int MarcaModeloTipoImpressoraMFD( BemaString marca, BemaString modelo, BemaString tipo );

public static native int MinutosEmitindoDocumentosFiscaisMFD( BemaString cMinutos );

public static native int NomeiaRelatorioGerencialMFD( String indice, String descricao );

public static native int NumeroSerieMFD( BemaString cNumeroSerie );

public static native int NumeroSerieMemoriaMFD( BemaString cNumeroSerie );

public static native int PercentualLivreMFD( BemaString cValor );

public static native int ProgramaFormaPagamentoMFD( String formaPagamento, String cOperacaoTef );

public static native int ReducoesRestantesMFD( BemaString cValor );

public static native int ReimpressaoNaoFiscalVinculadoMFD();

public static native int RetornoImpressoraMFD( BemaInteger ACK,BemaInteger ST1,BemaInteger ST2,BemaInteger ST3 );

public static native int SegundaViaNaoFiscalVinculadoMFD();

public static native int SubTotalizaCupomMFD();

public static native int SubTotalizaRecebimentoMFD();

public static native int TotalLivreMFD( BemaString cTamanho );

public static native int TamanhoTotalMFD( BemaString cTamanho );

public static native int TempoOperacionalMFD( BemaString cTempo );

public static native int TotalizaCupomMFD();

public static native int TotalizaRecebimentoMFD();

public static native int UsaRelatorioGerencialMFD( String cTexto );

public static native int ValorFormaPagamentoMFD( String formaPagamento, BemaString cValorForma );

public static native int ValorTotalizadorNaoFiscalMFD( String cTotalizador, BemaString cValor );

public static native int VerificaFormasPagamentoMFD( BemaString formasPagamento );

public static native int VerificaRecebimentoNaoFiscalMFD( BemaString recebimentoNaoFiscal );

public static native int VerificaRelatorioGerencialMFD( BemaString relatorio );

public static native int VerificaTotalizadoresNaoFiscaisMFD( BemaString totalizadores );

public static native int VerificaTotalizadoresParciaisMFD( BemaString totalizadores );

public static native int VersaoFirmwareMFD( BemaString versao );

public static native int CodigoBarrasCODABARMFD( String codigo );

public static native int CodigoBarrasCODE39MFD( String codigo );

public static native int CodigoBarrasCODE93MFD( String barcode );

public static native int CodigoBarrasCODE128MFD( String barcode );

public static native int CodigoBarrasEAN13MFD( String barcode );

public static native int CodigoBarrasEAN8MFD( String barcode );

public static native int CodigoBarrasISBNMFD( String barcode );

public static native int CodigoBarrasITFMFD( String barcode );

public static native int CodigoBarrasMSIMFD( String barcode );

public static native int CodigoBarrasPDF417MFD( int NCE, int altura,int largura,int numColunas,String barcode );

public static native int CodigoBarrasPLESSEYMFD( String barcode );

public static native int CodigoBarrasUPCAMFD( String barcode );

public static native int CodigoBarrasUPCEMFD( String barcode );

public static native int ConfiguraCodigoBarrasMFD( int altura, int largura,int posicaoCaracteres,int fonte,int margem );

public static native int DadosSintegra( String dataInicial ,String dataFinal );

public static native int DownloadMF( String nomeArquivo );

public static native int DownloadMFD( String nomeArquivo,String tipoDownload,String dadoInicial,String dadoFinal,String usuario );

public static native int DownloadSB( String nomeArquivo );

public static native int EfetuaFormaPagamentoImpAntiga( String formaPagamento, String valorFormaPagamento );

public static native int EfetuaFormaPagamentoIndice( String cIndice,String cValorFormaPagamento );

public static native int EfetuaFormaPagamentoIndiceMFD( String cIndice,String cValorFormaPagamento,String cParcelas, String cDescricaoForma);

public static native int FechaRelatorioXouZ();

public static native int FormatoDadosMFD( String cArquivoMFD,String cDestino,String cFormato,String cTipoDownload,String cDadoInicial,String cDadoFinal,String cUsuario);

public static native int GeraRelatorioSintegraMFD( int iRelatorios,String cOrigem,String cDestino, String cMes,String cAno,String cRazaoSocial,String cEndereco,String cNumero,String cComplemento,String cBairro,String cCidade,String cCEP,String cTelefone,String cFax,String cContato);

public static native int ImpressaoFitaDetalhe( String tipo, String dadoInicial, String dadoFinal, String usuario );

public static native int LeArquivoRetorno( BemaString retorno);

public static native int ProgramaIdAplicativoMFD( String cIdAplicativo);

public static native int ReducaoZImpAntiga();

public static native int RegistrosTipo60();

public static native int RelatorioGerencialImpAntiga( String texto );

public static native int RelatorioSintegraMFD( int relatorios, String arquivo,String mes,String ano,String razaoSocial,String endereco,String numero,String complemento,String bairro,String cidade,String CEP,String telefone,String fax,String contato );

public static native int TerminaFechamentoCupomCodigoBarrasMFD( String cMensagem,String cTipoCodigo,String cCodigo,int iAltura,int iLargura,int iPosicaoCaracteres,int iFonte,int iMargem,int iCorrecaoErros,int iColunas );

public static native int VersaoDll( BemaString versao );

public static native int AtivaDesativaVendaUmaLinhaMFD( int flag );

public static native int AtivaDesativaAlinhamentoEsquerdaMFD( int flag );

public static native int AtivaDesativaTratamentoONOFFLineMFD( int flag );

public static native int StatusEstendidoMFD( BemaInteger status );

public static native int TempoRestanteComprovanteMFD( BemaString tempo );

public static native int UFProprietarioMFD( BemaString UF );

public static native int GrandeTotalUltimaReducaoMFD( BemaString grandeTotal );

public static native int DataMovimentoUltimaReducaoMFD( BemaString dataMovimento );

public static native int SubTotalComprovanteNaoFiscalMFD( BemaString subTotal );

public static native int InicioFimCOOsMFD( BemaString COOInicial, BemaString COOFinal );

public static native int InicioFimGTsMFD( BemaString GTInicial, BemaString GTFinal );

public static native int VerificaFlagCorteMFD( BemaInteger flag );

public static native int SelecionaIniLocal();

public static native int CancelaItemNaoFiscalMFD( String numeroItem );

public static native int AcrescimoItemNaoFiscalMFD( String numeroItem , String acrDesc , String tipoAcrDesc , String valorAcrDesc );

public static native int CancelaAcrescimoNaoFiscalMFD( String numeroItem,String acrDesc );

public static native int ImprimeClicheMFD();

public static native int ImprimeInformacaoChequeMFD( int posicao, int linhas, String mensagem );

public static native int VerificaAliquotasIssImpAntiga( BemaString aliquotasIss );

public static native int VerificaIndiceAliquotasIssImpAntiga( BemaString indices );

public static native int InfoBalanca( BemaString porta, BemaInteger modelo, BemaString peso,BemaString precoKg, BemaString total );

public static native int VendeItemArredondamentoMFD( String Codigo, String Descricao, String Aliquota, String UnidadeMedida, String QtdFracionaria, String VlrUnitario, String Desconto, String Acrescimo, String Arredonda);

public static native int IniciaModoTEF();

public static native int FinalizaModoTEF();

public static native int UsaRelatorioGerencialMFDTEF( String texto );

public static native int RelatorioGerencialTEF( String texto );

public static native int UsaComprovanteNaoFiscalVinculadoTEF( String texto );

public static native int VerificaEstadoImpressoraMFD( BemaInteger ACK,BemaInteger ST1,BemaInteger ST2,BemaInteger ST3 );

public static native int RelatorioTipo60AnaliticoMFD();

public static native int GeraRegistrosSpedMFD( string arq_origem, string arq_destino, string data_inicial, string data_final, string perfil, string CFOP, string lac_fiscal, string pis, string cofins);

static

{

System.loadLibrary( "BemaFI32" );

}

}

class BemaInteger

{

public int number;

}

class BemaString

{

public String buffer;

}


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_NumeroSerieCriptografado Lib "BEMAFI32.DLL" (ByVal NumeroSerie As String) As Integer

Public Declare Function Bematech_FI_NumeroSerieDescriptografado Lib "BEMAFI32.DLL" (ByVal NumeroSerieCriptografado As String, ByVal NumeroSerieDescriptografado 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

Public Declare Function Bematech_FI_TotalIcmsCupom Lib "BEMAFI32.DLL" (ByVal ValorIcms As String) As Integer

Public Declare Function Bematech_FI_VerificaZPendente Lib "BEMAFI32.DLL" (ByVal StatusRZ As String) As Integer

Public Declare Function Bematech_FI_DataHoraGravacaoUsuarioSWBasicoMFAdicional Lib"BEMAFI32.DLL" (ByVal dataUsuario As String, ByVal dataSWBasico As String, ByValMFAdicional 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 String, 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

Public Declare Function Bematech_FI_GeraRegistrosCAT52MFD Lib "BEMAFI32.DLL" (ByVal cArquivo As String, ByVal cData As String) As Integer

Public Declare Function Bematech_FI_GeraRegistrosCAT52MFDEx Lib "BEMAFI32.DLL" (ByVal cArquivo As String, ByVal cData As String, ByVal cArqDestino 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

Bematech_FI_VendeItemArredondamentoMFD Lib "BEMAFI32.DLL" (ByVal Codigo As String, ByVal Descricao As String, ByVal Aliquota As String, ByVal UnidadeMedida As String, ByVal QtdFracionaria As String, ByVal VlrUnitario As Integer, ByVal Acrescimo As String,ByVal Arredonda As String, ByVal Desconto 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, MP-2100 TH FI e MP-4000 TH FI

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" (ByVal iFlag As Integer) 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

' Funções para o PAF-ECF

Public Declare Function Bematech_FI_AbreDocumentoAuxiliarVenda Lib "BEMAFI32.DLL" (ByVal cIndiceGerencial As String, ByVal cTituloDAV As String, ByVal cNumeroDAV As String, ByVal cNomeEmitente As String, ByVal cCNPJ_CPFEmitente As String, ByVal cNomeDestinatario As String, ByVal CNPJ_CPFDestinatario As String) As Integer

Public Declare Function Bematech_FI_UsaDocumentoAuxiliarVenda Lib "BEMAFI32.DLL" ( ByVal cMercadoria As String, ByVal cValorUnitario As String, ByVal cValorTotal As String ) As Integer

Public Declare Function Bematech_FI_FechaDocumentoAuxiliarVenda Lib "BEMAFI32.DLL" ( ByVal cTotal As String ) As Integer

Public Declare Function Bematech_FI_TerminaFechamentoCupomPreVenda Lib "BEMAFI32.DLL" ( ByVal cMD5 As String, ByVal cNumeroPreVenda As String, ByVal cMensagemPromocional As String ) As Integer

Public Declare Function Bematech_FI_DAVEmitidosRelatorioGerencial Lib "BEMAFI32.DLL" ( ByVal cIndiceGerencial As String, ByVal cDataInicial As String, ByVal cDataFinal As String) As Integer

Public Declare Function Bematech_FI_DAVEmitidosArquivo Lib "BEMAFI32.DLL" ( ByVal cNomeArquivo As String, ByVal cDataInicial As String, ByVal cDataFinal As String; ByVal cChavePublica As String, ByVal cChavePrivada As String ) As Integer

Public Declare Function Bematech_FI_LeituraMemoriaFiscalSerialDataPAFECF Lib "BEMAFI32.DLL" ( ByVal cDataInicial As String, ByVal cDataFinal As String, ByVal cFlagLeitura As String, ByVal cChavePublica As String, ByVal cChavePrivada As String ) As Integer

Public Declare Function Bematech_FI_LeituraMemoriaFiscalSerialReducaoPAFECF Lib "BEMAFI32.DLL" ( ByVal cCRZInicial As String, ByVal cCRZFinal As String, ByVal cFlagLeitura As String, ByVal cChavePublica As String, ByVal cChavePrivada As String ) As Integer

Public Declare Function Bematech_FI_EspelhoMFD Lib "BEMAFI32.DLL" ( ByVal cNomeArquivoDestino As String, ByVal cDadoInicial As String, ByVal cDadoFinal As String, ByVal cTipoDownload As String, ByVal cUsuario As String, ByVal cChavePublica As String, ByVal cChavePrivada As String ) As Integer

Public Declare Function Bematech_FI_ArquivoMFD Lib "BEMAFI32.DLL" ( ByVal cNomeArquivoOrigem As String, ByVal cDadoInicial As String, ByVal cDadoFinal As String, ByVal cTipoDownload As String, ByVal cUsuario As String, ByVal iTipoGeracao As Integer, ByVal cChavePublica As String, ByVal cChavePrivada As String, ByVal iUnicoArquivo As Integer ) As Integer

Public Declare Function Bematech_FI_ArquivoMFDPath Lib "BEMAFI32.DLL" ( ByVal cNomeArquivoOrigem As String, ByVal cNomeArquivoDestino As String, ByVal cDadoInicial As String, ByVal cDadoFinal As String, ByVal cTipoDownload As String, ByVal cUsuario As String, ByVal iTipoGeracao As Integer, ByVal cChavePublica As String, ByVal cChavePrivada As String, ByVal iUnicoArquivo As Integer ) As Integer

Public Declare Function Bematech_FI_IdentificacaoPAFECF Lib "BEMAFI32.DLL" ( ByVal cIndiceGerencial As String, ByVal cNumeroLaudo As String, ByVal cCNPJDesenvolvedor As String, ByVal cRazaoSocial As String, ByVal cEndereco As String, ByVal cTelefone As String, ByVal cContato As String, ByVal cNomeComercial As String, ByVal cVersao As String, ByVal cPrincipalExecutavel As String, ByVal cMD5PrincipalExecutavel As String, ByVal cDemaisArquivos As String, ByVal cMD5DemaisArquivos As String, ByVal cNumerosFabricacao As String ) As Integer

Public Declare Function Bematech_FI_GrandeTotalCriptografado Lib "BEMAFI32.DLL" ( ByVal cGTCriptografado As String ) As Integer

Public Declare Function Bematech_FI_GrandeTotalDescriptografado Lib "BEMAFI32.DLL" ( ByVal cGTCriptografado As String; ByVal cGTDescriptografado As String ) As Integer

Public Declare Function Bematech_FI_AbreRelatorioMeiosPagamento Lib "BEMAFI32.DLL" (ByVal cIndiceGerencial As String) As Integer

Public Declare Function Bematech_FI_UsaRelatorioMeiosPagamento Lib "BEMAFI32.DLL" ( ByVal cIdentificacao As String, ByVal cTipoDocumento As String, ByVal cValorAcumulado As String, ByVal cData As String ) As Integer

Public Declare Function Bematech_FI_FechaRelatorioMeiosPagamento Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_NomeiaRelatorioMeiosDePagamento Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_NomeiaRelatorioDocumentoAuxiliarDeVenda Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_NomeiaRelatorioDAVEmitidos Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_NomeiaRelatorioIdentificacaoPAFECF Lib "BEMAFI32.DLL" () As Integer

Public Declare Function Bematech_FI_NomeiaRelatoriosPAFECF Lib "BEMAFI32.DLL" () As Integer

' Função para o SPED

Public Declare Function Bematech_FI_GeraRegistrosSpedMFD Lib "BEMAFI32.DLL" ( ByVal arq_origem as string, ByVal arq_destino as string, ByVal data_inicial as string, ByVal data_final as string, ByVal perfil as string, ByVal CFOP as string, ByVal lac_fiscal as string, ByVal pis as string, ByVal cofins as string) as Integer

Public Declare Function Bematech_FI_GeraRegistrosSpedCompleto Lib "BEMAFI32.DLL" ( ByVal cArquivoMFD as string, ByVal cArquivoTXT as string, ByVal cDataInicial as string, ByVal cDataFinal as string, ByVal cPerfil as string, ByVal cCFOP as string, ByVal cCODOBSFiscal as string, ByVal cAliqPIS as string, ByVal cAliqCOFINS as string, ByVal cEmpresa as string, ByVal cCodMunicipio as string ) as Integer


Bematech_FIR_FechaCupomContaDividida

Bematech_FIR_FechaCupomContaDividida

Top

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

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_FechaConferenciaMesa

Bematech_FIR_FechaConferenciaMesa

Top

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';

cValor := '1000';

iRetorno := Bematech_FIR_FechaConferenciaMesa( pchar( cAcresDesc ),

pchar( cTipoAcresDesc ),

pchar( cValor ) );


Bematech_FIR_FechaCupomResumidoRestaurante

Bematech_FIR_FechaCupomResumidoRestaurante

Top

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.

Bematech_FI_IniciaFechamentoCupom, Bematech_FI_EfetuaFormaPagamento e Bematech_FI_TerminaFechamentoCupom que estão implementadas internamente na função.

' 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_FechaCupomRestaurante

Bematech_FIR_FechaCupomRestaurante

Top

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):

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)

- 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, 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_FI_FlagsFiscaisStr

Bematech_FI_FlagsFiscaisStr

Top

Retorna um número referente ao flag fiscal da impressora.

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.


generateead

generateEAD

Gera a assinatura EAD do arquivo a partir das chaves pública e privada informadas.

Parâmetros:

cNomeArquivo: Variável STRING com o cominho+nome do arquivo que será usado na geração do registro EAD.

cChavePublica: Variável STRING com a chave pública gerada.

cChavePrivada: Variável STRING com a chave privada gerada.

cRegistroEAD: Variável STRING com o tamanho de 256 bytes para receber o registro EAD criado

iGrava: Variável INTEGER para indicar se o registro EAD será ou não incluído ao final do arquivo informado, onde:

0: não incluir.

1: incluir.

retornos da Função (INTEIRO):

0: Erro de execução.

1: OK.

Observações:

· No arquivo informado deve existir uma linha em branco ao seu final para que a assinatura EAD (registro EAD) seja incluído, caso o parâmetro iGrava esteja igual a 1 na função.
· As chaves pública e privada devem ser geradas pela função genkkey antes de serem passadas como parâmetro na função generateEAD.
· A variável que receberá a assinatura EAD (registro EAD) deve ser inicializada com 256 espaços antes de usá-la.

Exemplo:

' Exemplo em Visual Basic

(...)

cRegistroEAD = Space(256)

cNomeArquivo = "C:\Espelho.txt"

iRetorno = generateEAD( cNomeArquivo, cChavePublica, cChavePrivada, cRegistroEAD, 1 )

If ( iRetorno = 0 ) Then

MsgBox "Erro de execução!", vbInformation + vbOKOnly, "Atenção"

Else

MsgBox "Sucesso!", vbInformation + vbOKOnly, "Atenção"

End If

(...)

// Exemplo em Delphi

(...)

setlength( cRegistroEAD, 256 );

cNomeArquivo := "C:\Espelho.txt";

iRetorno := generateEAD( cNomeArquivo, cChavePublica, cChavePrivada, , 1 );

if ( iRetorno = 0) then

application.MessageBox( 'Erro de execução!', 'ERRO', MB_ICONINFORMATION + MB_OK )

else

application.MessageBox( 'Sucesso!', 'ERRO', MB_ICONINFORMATION + MB_OK );

(...)


genkkey

genkkey

Gera as chaves pública e privada.

Parâmetro:

cChavePublica: Variável STRING com o tamanho de 256 bytes para receber a chave pública gerada.

cChavePrivada: Variável STRING com o tamanho de 256 bytes para receber a chave privada gerada.

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

0: Erro de execução.

1: OK.

Observações:

· As variáveis devem ser inicializadas com 256 espaços antes de usá-las.

Exemplo:

' Exemplo em Visual Basic

(...)

cChavePublica = Space(256)

cChavePrivada = Space(256)

iRetorno = genkkey(cChavePublica, cChavePrivada)

If (iRetorno = 0) Then

MsgBox "Erro de execução!", vbInformation + vbOKOnly, "Atenção"

End If

(...)

// Exemplo em Delphi

(...)

setlength( cChavePublica, 256 );

setlength( cChavePrivada, 256 );

iRetorno := genkkey( cChavePublica, cChavePrivada );

if ( iRetorno = 0 ) then

application.MessageBox( 'Erro de execução!', 'ERRO', MB_ICONINFORMATION + MB_OK );

(...)


Bematech_FIR_ImprimeCardapio

Bematech_FIR_ImprimeCardapio

Top

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();


Funções Incompatíveis com a Impressora Fiscal YANCO

Funções Incompatíveis com a Impressora Fiscal YANCO

Top

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_ProgramaArredondamento

- Bematech_FI_ProgramaCaracterAutenticacao

- Bematech_FI_ProgramaTruncamento

-

- Bematech_FI_UltimoItemVendido

- Bematech_FI_ValorPagoUltimoCupom

- Bematech_FI_VendeItemDepartamento

-

- Bematech_FI_VerificaStatusCheque


Bematech_FI_LeArquivoRetorno

Bematech_FI_LeArquivoRetorno

Top

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;

Bematech_FI_NumeroCupom( sCupom );

iRetorno := Bematech_FI_RetornoImpressora( iACK, iST1, iST2 );

iRetorno := Bematech_FI_LeArquivoRetorno( sCupom );

end;


Linguagem de Programação MAGIC

Linguagem de Programação MAGIC

Top

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


md5fromfile

md5FromFile

Gera o MD5 do arquivo executável da aplicação.

Parâmetros:

cNomeArquivo: Variável STRING com o cominho+nome do arquivo que será usado na geração do MD5, com o tamanho de até 512 caracteres.

cMD5: Variável STRING inicializada com 33 espaço para receber o MD5 gerado.

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

0: Erro de execução.

1: OK.

Exemplo:

' Exemplo em Visual Basic

(...)

cNomeArquivo = "C:\App.exe"

cMD5 = space(33)

cNomeArquivo, cMD5)

If (iRetorno = 0) Then

MsgBox "Erro na chave!"

Else

MsgBox "Chave correta!", vbInformation + vbOKOnly, "Atenção"

End If

(...)

// Exemplo em Delphi

(...)

cNomeArquivo := "C:\App.exe";

SetLength( cMD5, 33 );

iRetorno := md5FromFile( cNomeArquivo, cMD5 );

if ( iRetorno = 0 ) then

application.MessageBox( 'Erro na chave !', 'ERRO', MB_ICONINFORMATION + MB_OK )

else

application.MessageBox( 'Chave correta!', 'ERRO', MB_ICONINFORMATION + MB_OK );

(...)


Variável do Tipo PCHAR

STRING terminada em nulo (#0), usada geralmente nas funções da API do Windows.


Bematech_FIR_RegistroVendaSerial

Bematech_FIR_RegistroVendaSerial

Top

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 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_RegistraVenda

Bematech_FIR_RegistraVenda

Top

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):

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,000", "1,00", "A", "0")

// Exemplo em Delphi

cMesa := '0001';

cCodigo := '123';

cDescricao := 'Coca-Cola';

cAliquota := '17,00';

cQtde := '3,000';

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 ) );


Gerando os Registro Tipo E (Ato Cotepe 17/04)

Gerando os Registro Tipo E (Ato Cotepe 17/04)

Top Previous Next

É possível gerar os registro do Ato Copete 17/04 por intervalo de datas, a partir da função BemaGeraRegistrosTipoE da BemaMFD.dll e BemaMFD2.dll.

Uma das exigências da legislação do PAF-ECF é gerar o arquivo do Ato Cotepe 17/04 por intervalo, ou seja, de um período específico. Então, a Bematech disponibilizou uma função para realizar isso.

Importante:

•

Para os modelos de impressoras fiscais MP-2000 TH FIe MP-6000 TH FI, a função BemaGeraRegistrosTipoE deve ser chamada da dll BemaMFD.

•

Para os modelos de impressoras fiscais MP-2100 TH FI, MP-3000 TH FI, MP-4000 TH FI, MP-6100 TH FI ou MP-7000 TH FI, a função BemaGeraRegistrosTipoE deve ser chamada da dll BemaMFD2.

typedef int (__stdcall *BemaGeraRegistrosTipoE) (char * szMemFileName, char * szReportFileName, char * szDataInicial, char * szDataFinal, char * szRazaoSocial, char * szEndereco, char * szModelo, char * szCmd, char * szCRZ, char * szCRO, char * szCOO, char * szGNF, char * szCCF, char * szCVC, char * szCBP, char * szGRG, char * szCMV, char * szCFD, char * szGT, char * szNECF, char * szBP);

Parâmetros:

ArqMFD: STRING com o nome + caminho do arquivo .mfd, previamente capturado da impressora. Ex: C:\Download.mfd".

ArqTXT: STRING com o nome + caminho do arquivo .txt de destino. Ex: "Cotep1704.txt".

DataInicio: STRING com a data inicial do intervalo, no formato "DDMMAAAA"

DataFim: STRING com a data final do intervalo, no formato "DDMMAAAA"

RazaoSocial: STRING com a razão social do contribuinte.

Endereco: STRING com o endereço do contribuinte.

Par1: STRING nula.

CMD: STRING com o comando de geração dos registros, fixo em "2".

Par2: STRING nula.

Par3: STRING nula.

Par4: STRING nula.

Par5: STRING nula.

Par6: STRING nula.

Par7: STRING nula.

Par8: STRING nula.

Par9: STRING nula.

Par10: STRING nula.

Par11: STRING nula.

Par12: STRING nula.

Par13: STRING nula.

Par14: STRING nula.

Declaração em VB:

Public Declare Function BemaGeraRegistrosTipoE Lib "BEMAMFD2.DLL" (ByVal cArqMFD As String, ByVal cArqTXT As String, ByVal cDataInicial As String, ByVal cDataFim As String, ByVal cRazao As String, ByVal cEndereco As String, ByVal cPAR1 As String, ByVal cCMD As String, ByVal cPAR2 As String, ByVal cPAR3 As String, ByVal cPAR4 As String, ByVal cPAR5 As String, ByVal cPAR6 As String, ByVal cPAR7 As String, ByVal cPAR8 As String, ByVal cPAR9 As String, ByVal cPAR10 As String, ByVal cPAR11 As String, ByVal cPAR12 As String, ByVal cPAR13 As String, ByVal cPAR14 As String) As Integer

ou

Public Declare Function BemaGeraRegistrosTipoE Lib "BEMAMFD.DLL" (ByVal cArqMFD As String, ByVal cArqTXT As String, ByVal cDataInicial As String, ByVal cDataFim As String, ByVal cRazao As String, ByVal cEndereco As String, ByVal cPAR1 As String, ByVal cCMD As String, ByVal cPAR2 As String, ByVal cPAR3 As String, ByVal cPAR4 As String, ByVal cPAR5 As String, ByVal cPAR6 As String, ByVal cPAR7 As String, ByVal cPAR8 As String, ByVal cPAR9 As String, ByVal cPAR10 As String, ByVal cPAR11 As String, ByVal cPAR12 As String, ByVal cPAR13 As String, ByVal cPAR14 As String) As Integer

Declaração em Delphi:

function BemaGeraRegistrosTipoE( cArqMFD: string; cArqTXT: string; cDataInicial: string; cDataFinal: string; cRazao: string; cEndereco: string; cPAR1: string; cCMD: string; cPAR2: string; cPAR3: string; cPAR4: string; cPAR5: string; cPAR6: string; cPAR7: string; cPAR8: string; cPAR9: string; cPAR10: string; cPAR11: string; cPAR12: string; cPAR13: string; cPAR14: string ): Integer; StdCall; External 'BemaMFD2.dll';

ou

function BemaGeraRegistrosTipoE( cArqMFD: string; cArqTXT: string; cDataInicial: string; cDataFinal: string; cRazao: string; cEndereco: string; cPAR1: string; cCMD: string; cPAR2: string; cPAR3: string; cPAR4: string; cPAR5: string; cPAR6: string; cPAR7: string; cPAR8: string; cPAR9: string; cPAR10: string; cPAR11: string; cPAR12: string; cPAR13: string; cPAR14: string ): Integer; StdCall; External 'BemaMFD.dll';

Exemplos:

' em Visual Basic

cArqMFD = "Downlaod.mfd"

cArqTXT = "Cotep1704.txt"

cRazao = "Bematech S/A"

cEndereco = "Rua ABCDEF, 1234"

cCMD = "2"

cDataIni = "01062009" ' DDMMAAAA

cDataFim = "30062009" ' DDMMAAAA

iRetorno = BemaGeraRegistrosTipoE(cArqMFD, cArqTXT, cDataIni, cDataFim, cRazao, cEndereco, "", cCMD, "", "", "", "", "", "", "", "", "", "", "", "", "")

// em Delphi

cArqMFD := 'Download.mfd';

cArqTXT := 'Cotep1704.txt';

cEndereco := 'Rua ABCDEF, 1234';

cCMD := '2';

cDataIni := 01062009; // DDMMAAAA

cDataFim := 30062009; // DDMMAAAA

iRetorno := BemaGeraRegistrosTipoE(pchar(cArqMFD), pchar(cArqTXT), pchar(cDataIni), pchar(cDataFim), pchar(cRazao), pchar(cEndereco), '', pchar(cCMD), '', '', '', '', '', '', '', '', '', '', '', '', '');


Bematech_FIR_RelatorioMesasAbertasSerial

Bematech_FIR_RelatorioMesasAbertasSerial

Top

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.

-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_RelatorioMesasAbertas

Bematech_FIR_RelatorioMesasAbertas

Top

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:

- 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_FI_RetornoImpressoraStr

Bematech_FI_RetornoImpressoraStr

Top

Lê o retorno da impressora referente ao último comando enviado.

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)

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

ST2

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 >= 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

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 >= Then // bit 4

St2 = St2 - 16

sMsg = "Alíquota Não Programada"

End If

If St2 >= 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).


setlibtype

setLibType

Seleciona o tipo de bliblioteca a ser aplicada na geração das chaves.

Parâmetro:

iTipo: Variável INTEGER com o tipo de biblioteca, onde:

0: usa a biblioteca OpenSSL

1: usa a biblioteca Miracl

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

0: Erro de execução.

1: OK.

Observações:

· É recomendado o uso da biblioteca OpenSSL

Exemplo:

' Exemplo em Visual Basic

(...)

iRetorno = setLibType( 0 )

(...)

// Exemplo em Delphi

(...)

iRetorno := setLibType( 0 );

(...)


Bematech_FIR_TransferenciaItem

Bematech_FIR_TransferenciaItem

Top

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( cMesaDestino ) );


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.

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( ( cMesaOrigem),

pchar( cMesaDestino ) );


Como utilizar o executável Bematech MONITOR

Como utilizar o executável Bematech MONITOR

Top Previous Next

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".

Observação: Este aplicativo aparecerá no relógio do Windows (barra de tarefas), aguardando a sua execução.

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:

Configuração do Bematech Monitor

Para configurar o Bematech Monitor, clique na opção "Configurações". Aparecerá a seguinte tela:

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.

- Gerar Arquivo de Log: Ao selecionar esta opção, o Bematech MONITOR criará um arquivo de log contendo informações sobre a troca de arquivos entre sua aplicação. O nome do arquivo de log será BematechMONITOR.log e será criado no mesmo diretório configurado nesta tela.

- 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.

- 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 o executável Bematech MONITOR

Como utilizar o executável Bematech MONITOR

Top

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".

Observação: Este aplicativo aparecerá no relógio do Windows (barra de tarefas), aguardando a sua execução.

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:

Configuração do Bematech Monitor

Para configurar o Bematech Monitor, clique na opção "Configurações". Aparecerá a seguinte tela:

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.

- Gerar Arquivo de Log: Ao selecionar esta opção, o Bematech MONITOR criará um arquivo de log contendo informações sobre a troca de arquivos entre sua aplicação. O nome do arquivo de log será BematechMONITOR.log e será criado no mesmo diretório configurado nesta tela.

- 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".


validatefile

validateFile

Valida o arquivo com o registro EAD gravado em seu final. Se o registro EAD estiver OK, a função retornará 1 (um), caso contrário retornará 0 (zero).

Parâmetros:

cNomeArquivo: Variável STRING com o cominho+nome do arquivo que será usado na geração do registro EAD.

cChavePublica: Variável STRING com a chave pública gerada.

cChavePrivada: Variável STRING com a chave privada gerada.

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

0: Erro de execução.

1: OK.

Observações:

· As chaves pública e privada devem ser geradas pela função genkkey antes de serem passadas como parâmetro na função validateFile.

Exemplo:

' Exemplo em Visual Basic

(...)

cNomeArquivo = "C:\Espelho.txt"

iRetorno = validateFile(cNomeArquivo, cChavePublica, cChavePrivada)

If (iRetorno = 0) Then

MsgBox "Erro na chave !", vbInformation + vbOKOnly, "Atenção"

Else

MsgBox "Chave correta!", vbInformation + vbOKOnly, "Atenção"

End If

(...)

// Exemplo em Delphi

(...)

cNomeArquivo := "C:\Espelho.txt";

iRetorno := validateFile( cNomeArquivo, cChavePublica, cChavePrivada );

if ( iRetorno = 0 ) then

application.MessageBox( 'Erro na chave !', 'ERRO', MB_ICONINFORMATION + MB_OK )

application.MessageBox( 'Chave correta!', 'ERRO', MB_ICONINFORMATION + MB_OK );

(...)


Bematech_FI_VerificaEstadoGavetaStr

Bematech_FI_VerificaEstadoGavetaStr

Top

Retorna se a gaveta está fechada ou aberta.

Parâmetros:

Estado = 1 sensor em nível 1 (aberta)

Estado = 0 sensor em nível 0 (fechada)

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

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.

-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

Bematech_FI_VerificaEstadoImpressoraStr

Top

Retorna o estado da impressora.

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_FIR_VerificaMemoriaLivre

Bematech_FIR_VerificaMemoriaLivre

Top

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.

-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

iConta := 1 to 6 do Bytes := Bytes + ' ';

iRetorno := Bematech_FI_VerificaMemoriaLivre( Bytes );


Bematech_FI_VerificaStatusChequeStr

Bematech_FI_VerificaStatusChequeStr

Top

Verifica o status do cheque.

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

Bematech_FI_VerificaTipoImpressoraStr

Top

Retorna o tipo de impressora.

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.

6 - Impressora bilhete de passagem, gaveta, cutter.

8 - Impressora bilhete de passagem, presenter, cutter.