Olá colegas dephianos, estou de volta com a coluna automação comercial.
Hoje vou falar sobre o tão conhecido e temido para alguns ecf, vamos conhecer o que precisamos saber para emitir um cupom fiscal usando o Delphi, utilizar a DLL do fabricante
O primeiro passo e saber como instalar o emulador do ECF, para esse exemplo eu
vou usar o emulador da bematech.
Por que usar Emulador?
Para fazer os testes de venda de um cupom fiscal precisamos de uma impressora
fiscal fisicamente instalada no computador.
Para contornar esse problema a maioria dos fabricantes disponibiliza nos seus
sites os emuladores dos seus ecf’s.
O emulador simula todas as funções de uma impressora fiscal real, ate mesmos os
erros que ocorrem quando o ECF apresenta problemas.
Faça a instalação no emulador para iniciarmos o passo a passo de uso dos
recursos do ECF.
Bom, com o emulador instalado o
próximo passo é abrir o mesmo e ligar.
Clique com o botão direito no emulador e escolha a opção Ligar.

Quando ligamos o ECF
pela primeira vez o mesmo vai está bloqueado para uso, então siga as instruções
que o emulador lhe apresentar para desbloqueá-lo.
As instruções são:

Então é só clicar cinco
vezes no botão seleção e o ECF vai estar desbloqueado e pronto para uso.
Observe a mensagem de desbloqueio que e apresentada no emulador.

Pré-requisitos
No site do fabricante no nosso caso a bematech, existe tudo o que você precisa
saber para desenvolver o seu PDV, exemplo com fonte em Delphi, manuais, e as
dlls necessárias,
Precisamos então baixar os exemplo fonte em Delphi e as DLL.
Os links diretos para download são:
Link DLL:
http://www.bematech.com.br/suporte/downloads/fisc_win/BEMAFI32.zip
Link Exemplo Fonte:
http://www.bematech.com.br/suporte/downloads/fisc_win/ExemploDelphi.zip
Depois de baixar os pré-requisitos, coloque a BemaFI32.dll e os arquivos ini que
acompanham a dll na mesma pasta do exemplo com fontes.
Configurando o BemaFI32.ini
Bom quando trabalhamos com emulador do ECF e não com ECF fisicamente precisamos
informar para a DLL que o comando será enviado para o emulador.
Para isso precisamos configurar a chave EmulMFD=1 no BemaFI32.ini, então abra o
ini e altere esse valor, pois por padrão ele vem como EmulMFD=0.
|
NOTA - Vejam o que diz o manual
do emulador. |
|
Esta chave deverá ser igual a 1
(um) para utilizar a comunicação interna e direta com o Emulador. Se a chave
for igual a 0 (zero) a dll irá enviar os comandos requisitados pela porta
serial normalmente. |
Eu aconselho a todos
lerem o help do emulador que explica todos os recursos bem detalhados.
O Manual do mesmo se encontra na pasta arquivos de programas.
Ex: C:\Program Files\Emul2100\Emul2100.chm
Simulando uma Venda no ECF
Vamos simular a nossa primeira venda no ECF/Emulador.
Os passos a serem realizados são:
· Abertura do cupom.
· Vender Item.
· Iniciar fechamento do cupom.
· Efetuar forma de pagamento.
· Terminar o fechamento do Cupom.
Abertura do cupom
Abra o exemplo com fonte da Bematech e vamos iniciar pela abertura do cupom.
E nesse momento que informamos que queremos iniciar a venda.
Quando chamamos essa função da DLL temos que dizer para o ecf se vai ser
informado o CGC/CPF do cliente ou não, sendo que o mesmo não e obrigatório.

Nesse caso eu vou clicar
em não.
Acompanhe no emulador que o processo de emissão do cupom fiscal foi iniciado.
A função abre cupom inicia basicamente o cabeçalho do cupom.

|
NOTA - Dica |
|
Cada ECF tem cadastrado os dados
do seu cliente/CGC, quem faz esse cadastrado e revendedor autorizado do seu
modelo de ECF. |
Vender Item
Agora entramos na fase de venda dos produtos, podemos informar quantos produtos
sejam necessários, não existe um limite de itens por cupom
|
NOTA - Vejam o que diz o manual
do emulador. |
|
Num PDV final a função abrir
cupom só deve ser chamada quando for inserir o primeiro produto, sendo que
para os demais produtos a mesma não deve ser mais chamada. |
No demo da bematech vá
ate o menu cupom fiscal e escolha a opção vende item.
Como podemos observar nessa tela temos todos os campos necessários para inserir
o produto como:
· Código de barra.
· Nome do produto.
· Alíquota fiscal, pode isenta ou tributada.
· A quantidade que pode ser inteira ou fracionada (quebrada).
· Casas decimais.
· Desconto no subtotal do produto.

Após informar os dados
necessários clique no botão OK.
Pronto o item foi inserido.
Observe no emulador que o item foi inserido com sucesso.

Iniciar fechamento do
cupom
Quando iniciamos o fechamento do cupom e onde ECF totalizar os itens, e onde
podemos informar se queremos informar algum desconto do subtotal do
item/produto.
No demo da bematech vá ate o menu Fechamento do Cupom / Inicia fechamento do
Cupom.

O desconto não é
obrigatório, por isso podemos apenas informar zero.
Observe que o desconto pode ser informado em Percentual ou em Valor.
Nesse exemplo vou adicionar um desconto de 0,30 centavos já que o produto que
acabei de inserir foi de 1,00.

Após informar o valor de
desconto clique no botão ok.
Observe no emulador que foi adicionado os totais do cupom.

Efetuar forma de
pagamento
O nosso cliente pode nos pagar em várias formas de pagamento, para isso devemos
informar que temos essa função.
Uma venda pode ser finalizada em várias formas de pagamento, um exemplo bem
clássico seria.
Dinheiro
Cartão Visa
Cartão Mastercard
Existem situações que temos dois cartões da mesma bandeira.
Ex:
Dinheiro
Cartão Mastercard
Cartão Mastercard
Pois a venda pode ser passada no cartão Mastercard de duas pessoas diferentes.
No demo da bematech vá ate o menu Fechamento do Cupom / Efetuar forma de
pagamento.
Informa o nome da modalidade de pagamento e o valor a ser pago.

No nosso exemplo eu vou
está efetuando o pagamento total da venda em dinheiro.
Vamos simular que o nosso cliente não tinha trocado então ele pagou com 1,00
real.

|
NOTA - Vejam o que diz o manual
do emulador. |
|
O ECF calcula automaticamente o
valor de troco de deve ser devolvido para o nosso cliente.
Observe no emulador a forma de pagamento que foi inserida. |
Terminar o fechamento
do Cupom
Por fim o ultimo passo e chamar o comando de fechamento do cupom, nesse momento
precisamos informar uma mensagem promocional ou outro texto de sua preferência.
No demo da bematech vá ate o menu Fechamento do Cupom / Terminar Fechamento do
Cupom.
Informe a descrição desejada e clique no botão ok.

|
NOTA - Dica |
|
Geralmente no nosso sistema temos
um local onde guardamos essa mensagem promocional para que a mesma seja
informada automaticamente e não seja necessário que o operador de caixa
informe a mesma a cada nova venda. |
Observe no emulador que
foi finalizado o cupom fiscal, foi mostrando o troco e mensagem promocional que
informamos.

Conclusão
Bom nesse artigo eu tentei passar que o ECF não é um bicho de sete cabeças como
muitos pensam, no próximo artigo vamos passar a parte de codificação inicial.
Vamos conhecer alguns relatórios gerenciais, e para deixar vocês com água na
boca vou logo adiantando que vamos falar sobre outro assunto muito comentado nos
últimos meses, a tal da NFe.
Vou apresentar algumas soluções grátis para gerar a NFE sem gastar praticamente
nada.
Até Lá!
Seus comentários sobre esse artigo é muito importante para nos da Active Delphi,
fico aguardando os seus comentários.
Sérgio de Castro Guedes
Contato: sergio_rj45@yahho.com
Programador com experiência em banco de dados MSSQL, Firebird e Oracle.
Moderador de Conteúdo do Fórum, Editor Técnico e Colunista do Portal Active
Delphi.
Administrador do Projeto Open Source LivreERP (Sistema Comercial ERP).
Desenvolvedor da VAP Informática, umas das maiores empresas de software de
Manaus AM.
|