1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
A impressora não está ligando. O que devo fazer? .................................................. 3
A impressão está fraca. O que devo fazer?.............................................................. 3
A impressora não imprime os dados recebidos. O que devo fazer? ......................... 3
A impressora está imprimindo caracteres estranhos. O que devo fazer? ................. 3
Como testar o sensor de documento/autenticação? ................................................. 4
Como saber a Data e Hora corrente da Impressora? ............................................... 4
O que é Modo Menu?............................................................................................... 4
Quais as opções apresentadas no Modo Menu?...................................................... 5
Como navegar nas opções do Modo Menu? ............................................................ 5
O que fazer se for selecionada uma opção não desejada no Modo Menu?.............. 5
Como solicitar Leituras Fiscais pela impressora? ..................................................... 5
Como alterar a largura da bobina? ........................................................................... 6
Como alterar o espaçamento entre linhas? .............................................................. 6
Como ativar ou desativar o Clichê pré-impresso? .................................................... 6
Como modificar o alinhamento? ............................................................................... 6
Como alterar a Velocidade de Comunicação?.......................................................... 7
Como alterar o protocolo de comunicação? ............................................................. 7
Como ativar ou desativar o modo Ack/Nack? ........................................................... 7
Como alterar a paridade? ......................................................................................... 7
Como alterar o número de bits? ............................................................................... 8
O que é o auto-teste?............................................................................................... 8
Qual a configuração padrão do ECF? ...................................................................... 8
Quais as características do Modo Intervenção Fiscal? ............................................. 9
Quais as características do Modo Treinamento?...................................................... 9
Quais as características do Modo Normal? ............................................................ 10
O que devo fazer quando a Memória Fiscal se esgotar?........................................ 11
Quantos estabelecimentos são possíveis gravar na Memória Fiscal? .................... 11
O que é Leitura X? ................................................................................................. 11
O que é Redução Z? .............................................................................................. 11
Quais são as informações impressas na Leitura X e na Redução Z? ..................... 12
O que é Leitura da Memória Fiscal?....................................................................... 14
O que é Relatório Gerencial? ................................................................................. 15
Como emitir um Relatório Gerencial?..................................................................... 15
O que é Mensagem Publicitária? ........................................................................... 15
Como posso cancelar um Cupom Fiscal que está em andamento (aberto)? .......... 15
Como posso cancelar o Cupom Fiscal anterior? .................................................... 16
O que é Comprovante Não Fiscal? ........................................................................ 16
O que é Comprovante Não Fiscal Vinculado? ........................................................ 16
O que é Comprovante Não Fiscal Não Vinculado? ................................................ 17
Como emitir um Comprovante Não Fiscal Vinculado?............................................ 17
Como utilizar a impressão de Linha Não Fiscal? .................................................... 17
Como emitir um Comprovante Não Fiscal Não Vinculado? .................................... 18
O que é Situação Tributária?.................................................................................. 18
O que significa Totalizar um Cupom Fiscal? .......................................................... 19
O que é Modalidade de Pagamento? ..................................................................... 19
Como informar a Modalidade de Pagamento? ....................................................... 19
Quais são as ferramentas de desenvolvimento para ambiente DOS? .................... 19
Quem deve utilizar o device driver DRVECF.SYS? ................................................ 20
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 1 / 46
49. Como instalar o device driver DRVECF.SYS? ....................................................... 20
50. Que cuidados que devo tomar quanto à comunicação serial usando o
DRVECF.SYS? ................................................................................................................ 20
51. Como enviar os comandos usando o device driver DRVECF.SYS? ....................... 20
52. Como tratar o retorno dos comandos usando o device driver DRVECF.SYS? ....... 21
53. Quais são as ferramentas de desenvolvimento para ambiente Windows? ............. 22
54. Quem deve usar a DLL ECF32M? ......................................................................... 22
55. Como instalar a DLL ECF32M?.............................................................................. 22
56. Quais as informações que eu posso configurar no arquivo CIF.INI da DLL ECF32M?
22
57. Quais os cuidados que devo tomar quanto à comunicação serial usando DLL
ECF32M? ........................................................................................................................ 23
58. Como tratar o retorno das Funções usando a DLL ECF32M? ................................ 23
59. Como usar a Função EsperaResposta()? .............................................................. 24
60. Como usar a Função AbreCupomFiscal()? ............................................................ 24
61. Como usar a Função VendaItem()? ....................................................................... 25
62. Como usar a Função TotalizarCupom()?................................................................ 28
63. Como usar a Função Pagamento()? ...................................................................... 29
64. Como usar a Função PagamentoComTexto()? ...................................................... 30
65. Como usar a Função Troco()? ............................................................................... 31
66. Como usar a Função FechaCupomFiscal()? .......................................................... 32
67. Como usar a Função AbreCupomNaoVinculado()? ................................................ 33
68. Como usar a Função OperRegNaoVinculado()? .................................................... 34
69. Como usar a Função EncerraCupomNãoFiscal()? ................................................. 35
70. Como usar a Função LeituraX()? ........................................................................... 36
71. Como usar a Função ReducaoZ()? ........................................................................ 37
72. Como usar a Função ImprimeValidacao()? ............................................................ 38
73. Como usar a Função ImprimeCheque()? ............................................................... 39
74. Como verificar o estado de pagamento de um Cupom Fiscal em aberto? .............. 41
75. Como utilizar programação direta em impressoras fiscais? .................................... 43
76. Contador de Ordem de Operações (COO) X Contador de Cupons Fiscais (CCF).. 44
77. Como eu posso testar a Impressora Fiscal? .......................................................... 46
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 2 / 46
1. A impressora não está ligando. O que devo fazer?
Primeiro certifique-se que a tomada elétrica está funcionando corretamente. A seguir, verifique se o cabo de alimentação
está conectado adequadamente ou se não está rompido. Retire o cabo de força da tomada elétrica e aguarde alguns
instantes (em torno de um minuto). Conecte novamente o cabo de força na tomada elétrica e ligue a impressora. Caso a
máquina não funcione é preciso entrar em contato com uma Assistência Técnica especializada.
Informe-se nesse site qual a Assistência Técnica mais próxima de seu estabelecimento.
OBS: A impressora possui um recurso destinado a proteger sua fonte de alimentação contra sobretensão. Se ocorrer
sobretensão, a impressora interrompe a impressão e todos os led's do painel ficam apagados. Quando isto ocorrer, desligar
a impressora e mantê-la desligada por aproximadamente 1 minuto. Ligar a impressora novamente; se a falha persistir
contatar a Assistência Técnica.
2. A impressão está fraca. O que devo fazer?
Verifique se a fita entintada da impressora está gasta, se estiver, você deverá trocá-la. Para saber com mais detalhes como
trocar a Fita, consulte o Manual do Usuário. Caso a Fita não esteja no fim de uso, a impressora pode estar com problemas.
Neste caso é aconselhável que a Impressora seja encaminhada a uma Assistência Técnica Autorizada, pois posteriormente
a Máquina poderá interromper o funcionamento durante uma operação.
3. A impressora não imprime os dados recebidos. O que devo fazer?
Primeiro tente executar auto-teste da impressora. Caso haja algum problema neste teste, é aconselhável que a Impressora
seja encaminhada a uma Assistência Técnica Autorizada. Se o auto-teste está sendo executado satisfatoriamente,
−
O cabo de comunicação serial deve ser padrão RS232.
−
Verifique se o cabo de comunicação está bem conectado à porta serial correta.
−
Certifique-se que a porta serial utilizada está especificada corretamente nas configurações do seu aplicativo.
−
Verifique se o software aplicativo é compatível com o seu modelo de impressora.
−
Verifique se há algum problema na instalação do driver ou DLL em uso no seu aplicativo (consulte essa FAQ
para obter maiores informações sobre os drivers e DLLs disponíveis).
−
Verifique se os parâmetros de comunicação (velocidade, paridade, protocolo, ...) gravados em sua impressora
estão coerentes com o configurado no seu micro.
4. A impressora está imprimindo caracteres estranhos. O que devo fazer?
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 3 / 46
Se a impressora está imprimindo o sinal de interrogação (?) no meio do texto, e não está no Modo Treinamento, o sistema
está enviando códigos de controle que não são interpretados pela impressora. Verificar o software utilizado, pois ele pode
não ser compatível com a impressora.
Se durante o uso do aplicativo for impresso caracteres estranhos, verifique se o protocolo de comunicação definido na
impressora está coerente com o protocolo de comunicação que o software aplicativo está usando. O protocolo padrão de
fábrica na impressora, driver e DLL é o STX/ETX.
5. Como testar o sensor de documento/autenticação?
A impressora permite testar o sensor de documento/autenticação. A impressora detecta se existe ou não documento para
ser autenticado através de um sensor óptico reflexivo infra-vermelho. Este sensor verifica a existência de um documento
através da reflexão da luz no papel utilizado. Se o papel for de cor escura e fosca o sensor não atuará. Recomenda-se,
portanto, a utilização de papéis de cores claras e superfícies lisas. Para realizar o teste, execute o auto-teste e logo após a
impressão da mensagem abaixo, posicione um documento na posição de autenticação:
Insira DOCUMENTO p/ teste do SENSOR DE DOCUMENTO.
Em seguida será impresso a seguinte mensagem no documento:
******** SENSOR de DOCUMENTO -->> OK ********
Se nenhum documento for posicionado ou se o sensor estiver com defeito, a mensagem abaixo será impressa:
SENSOR de DOCUMENTO-->> NÃO TESTADO
6. Como saber a Data e Hora corrente da Impressora?
O relógio interno controla Data e Hora, as quais são impressas no início e no fim de todos os documentos emitidos pelo
ECF. Sua programação é acessível apenas através de intervenção
fiscal, exceto quanto ao ajuste diário e ao horário
de verão. A presença de uma bateria garante o seu funcionamento mesmo na falta de energia elétrica.
7. O que é Modo Menu?
O Modo Menu permite configurar vários parâmetros para o funcionamento da impressora como por exemplo:
−
Emitir leituras fiscais como Leitura X e Leitura da Memória Fiscal.
−
Configurar parâmetros de comunicação.
−
Ajustar o alinhamento da impressão.
−
Executar o auto teste.
Para entrar no Modo Menu: Ao ligar a impressora, mantenha a tecla LINE FEED pressionada até ser impressa a palavra
“AGUARDE”. Logo após, o menu de opções será impresso. Para sair do modo Menu ative a opção SAÍDA no menu
principal ou se preferir desligue a impressora.
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 4 / 46
8. Quais as opções apresentadas no Modo Menu?
As configurações que estão gravadas serão impressas em itálico. As opções serão apresentadas da seguinte maneira:
MENU:
1 - Leitura X
2 - Leitura da Memória Fiscal
3 - Leitura da Memória Fiscal Resumida
4 - Configuração
5 – Auto teste
6 - SAÍDA
[1] [2] [3] [4] [5] [6]
9. Como navegar nas opções do Modo Menu?
Depois do menu impresso, mova a cabeça de impressão para a opção desejada com um toque rápido na tecla LINE FEED.
Quando a cabeça de impressão estiver apontando para a opção desejada dê dois toques rápidos na tecla LINE FEED
(como o duplo-click do mouse) para selecioná-la. Para confirmar a seleção, a impressora imprimirá logo abaixo do item
selecionado um sublinhado formado por vários caracteres “X”.
10. O que fazer se for selecionada uma opção não desejada no Modo Menu?
Caso uma opção não desejada for selecionada é preciso voltar ao menu principal e reiniciar a operação, ou se preferir
desligue a impressora e repita a operação.
11. Como solicitar Leituras Fiscais pela impressora?
Entre em modo menu, você encontrará três opções de leituras:
−
Leitura X
−
Leitura MF(memória fiscal)
−
Leitura MF resumida
Em seguida escolha a opção desejada.
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 5 / 46
12. Como alterar a largura da bobina?
Pode-se configurar a impressora para usar bobina de 76mm ou 89mm. Para a utilização da bobina de 76mm é necessário a
utilização de um adaptador opcional. Este adaptador pode ser adquirido junto ao revendedor autorizado Diebold. Para
mudar a largura da bobina, entre em modo menu e selecione os seguintes itens:
−
Configuração
−
Bobina
Em seguida selecione a opção desejada.
13. Como alterar o espaçamento entre linhas?
Há possibilidade de configurar o espaçamento entre linhas como 1/6 polegadas ou 1/8 polegadas. Para mudar o
espaçamento entre linhas, entre em modo menu e selecione os seguintes itens:
−
Configuração
−
Espaçamento de linha
Em seguida selecione a opção desejada.
14. Como ativar ou desativar o Clichê pré-impresso?
Clichê são os dados impressos em cada início de operação. Ao configurar o clichê como pré-impresso, há um melhor
aproveitamento da bobina de papel (a economia de papel gira em torno de 30%). Nesse modo, em todo final de operação a
impressora já imprime o clichê automaticamente, antes mesmo de iniciar uma nova operação. Para ativar esta função entre
em modo menu e selecione os seguintes itens:
−
Configuração
−
Clichê
Em seguida habilite-o ou desabite-o.
15. Como modificar o alinhamento?
Este recurso é útil quando verifica-se que o alinhamento vertical não está satisfatório. Esta opção imprime seis posições
possíveis de alinhamento, devendo o usuário selecionar a que se apresenta com menor número de colunas. Para fazer a
seleção entre em modo menu, selecionando os seguintes itens:
−
Configuração
−
Alinhamento
Em seguida escolha a opção desejada.
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 6 / 46
16. Como alterar a Velocidade de Comunicação?
Há possibilidade de configurar a velocidade de comunicação em 1200, 2400, 4800 e 9600 bps. A velocidade padrão de
fábrica é 9600 bps. Para mudar a velocidade da impressora, entre em modo menu e selecione os seguintes itens:
−
Configuração
−
Comunicação
−
Velocidade
Em seguida defina a velocidade desejada.
17. Como alterar o protocolo de comunicação?
Há possibilidade de configurar o protocolo de comunicação como ETX, ETX/BCC, STX/ETX, STX/ETX/BCC. O protocolo de
comunicação padrão de fábrica é STX/ETX. Para mudar o protocolo de comunicação, entre em modo menu e selecione os
seguintes itens:
−
Configuração
−
Comunicação
−
Protocolo
Em seguida selecione a opção desejada.
18. Como ativar ou desativar o modo Ack/Nack?
A opção padrão de fábrica é o Modo Ack/Nack estar desativado. Lembre-se que se o Modo Ack/Nack estiver ativado, irá
trabalhar em conjunto com o protocolo de comunicação habilitado. Para ativar ou desativar o modo Ack/Nack, entre em
modo menu e selecione os seguintes itens.
−
Configuração
−
Comunicação
−
Modo Ack/Nack
Em seguida selecione a opção desejada.
19. Como alterar a paridade?
Há a possibilidade de configurar a comunicação como paridade par ou sem paridade. A opção padrão de fábrica é sem
paridade. Para alterar a paridade entre em modo menu e selecione os seguintes itens:
−
Configuração
−
Comunicação
−
Paridade
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 7 / 46
Em seguida ative ou desative-a.
20. Como alterar o número de bits?
Há a possibilidade de configurar a comunicação para 8 ou 7 bits. A opção padrão de fábrica é 8 bits e 1 stop bits. Para
alterar o número de bits entre em modo menu e selecione os seguintes itens:
−
Configuração
−
Comunicação
−
Num de bits
Em seguida selecione a opção desejada.
21. O que é o auto-teste?
O auto teste imprime informações para análise do estado geral da impressora. O usuário pode conferir se a impressora está
funcionando corretamente fazendo uma breve análise nos gráficos e palavras impressas. A impressora imprime o auto teste
repetidamente. Entre a impressão de um teste e outro, há um intervalo de aproximadamente 5 segundos. Para interromper
o teste, pressionar a tecla LINE FEED ou desligar a impressora. Sempre que a tampa frontal da impressora for aberta
enquanto ela estiver imprimindo, a impressão será interrompida. Se o papel acabar durante a impressão do auto teste, a
cabeça impressora continuará movimentando-se, porém sem imprimir. O número de linhas impressas é gravado na
memória da impressora somente a cada 100 linhas impressas, ou seja, se a impressora for desligada antes de imprimir 100
linhas, a contagem anterior é mantida. Além de verificar possíveis erros, o usuário pode também tomar conhecimento dos
seguintes parâmetros:
−
Versão da EPROM
−
Número de série do ECF
−
Data e Hora atual
−
Interface de Comunicação
−
Protocolo
−
Baud rate (Velocidade)
−
Bits de dados
−
Paridade
−
Modo Ack/Nack
−
Desconto ISS (habilitado ou desabilitado)
−
Estado da bobina (com papel, sem papel ou com pouco papel)
22. Qual a configuração padrão do ECF?
Ao executar o auto teste deverá ser impresso a seguinte configuração:
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 8 / 46
23. Quais as características do Modo Intervenção Fiscal?
Somente empresas ou técnicos possuidores de Atestado de Capacitação Técnica tem acesso a este modo. O Modo
Intervenção Fiscal é usado para fins de manutenção, reparos ou para programação de parâmetros. A Leitura X deve ser
emitida, se possível, antes e depois de qualquer Intervenção Fiscal realizada no equipamento. A programação inicial do
clichê e da alíquota fiscal pode ser realizada sem a necessidade de Intervenção Fiscal. Porém, qualquer alteração posterior
necessitará entrar neste Modo. No modo de Intervenção Fiscal pode-se realizar as seguintes operações:
−
Programar o relógio
−
Programar dados cadastrais ( CGC, IE)
−
Programação Arredondamento
−
Recompor o Totalizador Geral e os dados da Memória Fiscal
−
Programação Símbolo de Autenticação
−
Programar o número de série da impressora
−
Programar a tabela de alíquotas fiscais
−
Programar os dados do estabelecimento ( clichê )
24. Quais as características do Modo Treinamento?
Na Impressora Fiscal IF100 o Modo Treinamento é caracterizado por não haver nenhum CNPJ e IE cadastrados na
Memória Fiscal, ou seja, estes dois campos estão cadastrados como saíram da fábrica (iguais a zero). Neste modo a
Impressora Fiscal emite cupons SEM VALOR FISCAL e realiza funções como se estivesse no Modo Normal seguindo com
as características abaixo:
−
O caractere “?” é impresso no lugar de todos os espaços em branco.
−
Não é impresso o logotipo fiscal estilizado BR.
−
Não é impresso o símbolo de acumulação do GT (Totalizador Geral).
−
Em todos os cupons é impressa a mensagem: “MODO TREINAMENTO”.
−
No início, fim e a cada dez linhas dos cupons é impressa a mensagem: “NÃO SUJEITA AO ICMS”.
−
Permite realizar várias reduções Z no mesmo dia.
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 9 / 46
Consulte a legislação da sua região para saber como e em quais situações o Modo Treinamento é permitido. Geralmente, é
utilizado para treinamento dos funcionários (longe do ponto de venda) e para auxiliar nas fases de desenvolvimento e testes
de aplicativos que se comunicam com a Impressora Fiscal.
25. Quais as características do Modo Normal?
Este é o modo normal de operação da impressora para a emissão de cupons fiscais e não sujeitos ao ICMS. Para entrar
neste modo é necessário que haja pelo menos os dados de um estabelecimento gravado na Memória Fiscal. É possível
realizar as seguintes operações neste estado:
−
Abertura de Cupom Fiscal
−
Venda de item
−
Cancelamento de item
−
Totalização do Cupom de Venda
−
Pagamento do Cupom de Venda
−
Encerramento de Cupom de Venda
−
Cancelamento de Cupom de Venda
−
Leitura X
−
Redução Z
−
Leitura da Memória Fiscal por intervalo de datas
−
Leitura da Memória Fiscal por intervalo de reduções
−
Abertura comprovante vinculado e não vinculado
−
Encerramento de Cupom Não Fiscal
−
Operação em Totalizador Não Sujeita ao ICMS
−
Abertura de Gaveta
−
Programação de legenda dos Totalizadores Não Sujeitas ao ICMS
−
Programação do Horário de Verão
−
Programação do Ajuste de Hora Diário
−
Programação da legenda adicional
−
Impressão dos Totalizadores Não Sujeitas ao ICMS
−
Transmissão de Status
−
Transmissão de Data / Hora
−
Transmissão da Tabela de Alíquotas
−
Transmissão dos Totalizadores Fiscais e Contadores
−
Transmissão dos Parâmetros do ECF
−
Transmissão do ID
−
Impressão em Documento para Autenticação (Validação)
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 10 / 46
26. O que devo fazer quando a Memória Fiscal se esgotar?
Como cada redução é registrada na Memória Fiscal, e esta não pode ser apagada ou alterada, há um limite para o número
de reduções possíveis. A versão FCP-500 permite até 2010 reduções, ou seja, pode operar por aproximadamente 07 anos,
antes que se esgote a capacidade da Memória Fiscal. Após este limite, a Memória dever ser substituída por outra. Na
Leitura X e na Redução Z é impresso o número de reduções disponíveis. Em caso de esgotamento da capacidade, o ECF
***MEMÓRIA FISCAL
ESGOTADA***. Em caso de falha ou desconexão da Memória Fiscal, a impressora entrará em estado de erro, sendo
bloqueará qualquer nova tentativa de venda e ainda será impressa a mensagem:
impressa a mensagem: ***MEMÓRIA
FISCAL COM PROBLEMA***
27. Quantos estabelecimentos são possíveis gravar na Memória Fiscal?
O equipamento permite a inclusão de até 12 estabelecimentos, para o caso de transferência de posse da impressora ou
alteração cadastral. Neste caso é encerrado um período, sendo efetuado a totalização das vendas brutas registradas pelo
usuário anterior, para efeito de Leitura da Memória Fiscal. Se chegar ao limite o número de estabelecimentos gravados, e
for necessário um novo cadastro, o usuário deverá encaminhar a impressora a uma Assistência Técnica.
28. O que é Leitura X?
A Leitura X é um documento fiscal que mostra os valores acumulados nos contadores e totalizadores fiscais. Deve ser
emitida nas seguintes situações:
−
−
Antes da primeira venda do dia.
Em casos de Intervenção Técnica, sempre que possível, deve-se emitir a Leitura X antes e depois da
intervenção para preenchimento do Atestado de Intervenção.
Para garantir a continuidade da fita-detalhe observe as seguintes situações:
−
−
Deve-se emitir a Leitura X no início e no fim de todas as bobinas de papel.
Caso haja necessidade de rasgar/cortar a fita detalhe, se possível, deve-se emitir a Leitura X antes e depois do
corte.
A função principal desse documento é dar uma ”fotografia” do movimento diário da impressora no momento em que o
mesmo foi emitido. Comando para emitir a Leitura X:
Ferramenta
Comando/Função
DLL ECF32M
LeituraX()
Device Driver DRVECF.SYS
$15
29. O que é Redução Z?
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 11 / 46
Redução Z é um documento fiscal que deve ser impresso obrigatoriamente no final do dia. Ao ser emitido envia para a
Memória Fiscal as seguintes informações:
−
Data e a Hora da Redução Z.
−
Contador de Reduções incrementado em uma unidade.
−
Valor da Venda Bruta Diária.
Após a emissão da Redução Z são zerados todos os totalizadores parciais e a Impressora Fiscal não permite iniciar novas
vendas até que seja alterada a data de seu relógio interno, ou seja, até 00:00hs do dia seguinte. Os dados impressos são
os mesmos da Leitura X. Para viabilizar o funcionamento de Lojas 24 horas, a legislação atual permite que o
estabelecimento emita a Redução Z até o prazo limite das 02:00hs do dia seguinte ao do movimento fiscal. Após este prazo
a Impressora Fiscal exige a emissão da Redução Z e será impressa a mensagem: “*** REDUÇÃO Z PENDENTE ***”.
Comando para emitir a Redução Z:
Ferramenta
Comando/Função
DLL ECF32M
ReducaoZ()
Device Driver DRVECF.SYS
$16
30. Quais são as informações impressas na Leitura X e na Redução Z?
As principais informações que são impressas na Leitura X e na Redução Z estão listadas abaixo:
COO
Contador de Ordem de Operação. Contador irreversível e crescente com capacidade de 6 dígitos, incrementado de uma
unidade ao ser emitido qualquer documento pelo ECF. É impresso em todos os cupons.
REFERENTE A DATA
Informação impressa somente na Redução Z. Indica a Data do Movimento Fiscal que está sendo encerrado.
CONT REDUCOES
Contador de Reduções Z. Número de reduções armazenadas na EPROM incluindo as de proprietários anteriores.
Contador irreversível e crescente com capacidade de 4 dígitos, incrementado de uma unidade a cada operação de Redução
Z.
CONT LEITURA X
Contador de Leitura X. Contador de Leituras X emitidas no dia.
CONT REINICIO OP
Contador de Reinício de Operação. Contador irreversível e crescente com capacidade de 4 dígitos, incrementado de uma
unidade em cada entrada no Modo Normal, em função de uma Intervenção Técnica.
CONT CUP. CANC.:
Contador de Cupons Cancelados. Contador irreversível e crescente com capacidade de 4 dígitos, incrementado de uma
unidade a cada operação de Cancelamento de Cupons.
CONT CF Inicial:
Conteúdo do Contador de Ordem de Operação (COO) da primeira operação do dia.
CONT CF Final:
Conteúdo do Contador de Ordem de Operação (COO) da última operação realizada até o momento.
TOT GERAL:
Total Geral acumulado na Memória Fiscal. Expressa a somatória das Vendas Brutas gravadas na Memória Fiscal mais o
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 12 / 46
valor acumulado no totalizador de Venda Bruta Diária, para o mesmo número de Cadastro Nacional de Pessoa Jurídica
(CNPJ), Inscrição Estadual (IE) ou Inscrição Municipal (IM).
VENDA BRUTA DIA:
Valor Total de Venda Bruta Diária. É a somatória de todos os itens registrados a partir da última Redução Z, ou seja, Venda
Líquida Diária mais os valores de cancelamentos e descontos.
TOT CANCELAMENTO:
Valor Total de Operações de Cancelamento de ICMS.
TOT CANCto ISS:
Valor Total de Operações de Cancelamento de ISSQN.
TOT DESCONTO
Valor Total de Operações de Desconto em ICMS.
TOT DESCONTO ISS:
Valor Total de Operações de Desconto em ISS.
VENDA LIQ. ISS:
Valor da Venda que efetivamente entrou no caixa acumulada em ISS.
VENDA LIQ. DIA:
Valor da Venda que efetivamente entrou no caixa acumulada em ICMS. É a somatória dos itens que foram efetivamente
vendidos no dia, deduzido dos valores de cancelamento e descontos.
TOT ACRESCIMO:
Valor Total de Acréscimo em ICMS.
TOT ACRESC ISS:
Valor Total de Acréscimo em ISS.
SUBSTITUICAO:
Valores acumulados das vendas com faixa tributária Substituição Tributária (F).
INSENCAO:
Valores acumulados das vendas com faixa tributária Isento (I).
N-TRIBUTADO:
Valores acumulados das vendas com faixa tributária Não Incidência (N).
TOTALIZADOR PARCIAL ISSQN:
Parte do relatório onde são impressas as Legendas, Alíquotas e Valores acumulados nos Totalizadores de ISS cadastrados
no ECF. Totalizadores reversíveis com capacidade de acumulação de 15 dígitos, destinados a acumulação de valores
líquidos referentes às operações de serviços sujeitas ao ISS.
MONTANTE IMPOSTO:
Soma de todos os valores acumulados em ISSQN.
TOTALIZADORES PARCIAIS:
Parte do relatório onde são impressas as Legendas, Alíquotas e Valores acumulados nos Totalizadores de ICMS
cadastrados no ECF. Totalizadores reversíveis com capacidade de acumulação de 15 dígitos, destinados a acumulação de
valores líquidos referentes às operações de serviços sujeitas ao ICMS.
MONTANTE IMPOSTO:
Soma de todos os valores acumulados em ICMS.
REGISTRADORES não FISCAIS
Parte do relatório onde são impressas as Legendas, Alíquotas e Valores acumulados nos Registradores Não Fiscais
(Modalidades de Pagamento e Comprovantes Não Fiscais Não Vinculados). Não contém informações de interesse Fiscal e
podem ser cadastradas pelo operador . Ex.: Formas de Pagamento, Comprovante de Transferência Eletrônica de Fundos
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 13 / 46
(TEF), Comprovante de Pagamento para Retirada de Pacote.
Contador Geral de CNF:
Contador de Comprovantes Não Fiscais emitidos.
Modalidades Recebidas:
Valores acumulados nos registradores não fiscais (00 a 15). Os valores são separados por cada uma das Modalidades de
Pagamento cadastradas. Exemplo: cheque, cartão, dinheiro.
TOTAL
Soma de todos os valores acumulados nas Modalidades de Pagamento.
Comprovante Não FiscaL NÃO Vinculado:
Valores acumulados nos registradores não fiscais (16 a 31). Por exemplo: Sangria, Reforço de Caixa, etc.
TOT ACRESCIMO CNFNV:
Valor Total de Acréscimo em Cupom Não Fiscal Não Vinculado.
TOT DESCONTO CNFNV:
Valor Total de Desconto em Cupom Não Fiscal Não Vinculado.
TOT CANto CNFNV:
Valor Total de Cancelamento em Cupom Não Fiscal Não Vinculado.
CONT CANCto CNFNV:
Contador de Cancelamento em Cupom Não Fiscal Não Vinculado.
Comprovante Não Fiscal Vinculado:
Informações sobre os Comprovantes Não Fiscais Vinculados.
CONT CNFV
Contador de Comprovantes Não Fiscais Vinculados emitidos.
CONT CANCto CNFV
Contador de Comprovantes Não Fiscais Vinculados Cancelados.
TEMPO OPER. DIA:
Tempo em que a Impressora Fiscal ficou ligada no dia.
TEMPO OPER. CUP:
É o tempo em que a impressora ficou imprimindo cupons fiscais no dia.
RED. DISPONIVEIS:
Número de Reduções disponíveis na Memória Fiscal.
VERSAO FISCAL:
Versão do firmware (Eprom) da Impressora Fiscal.
31. O que é Leitura da Memória Fiscal?
A Leitura da Memória Fiscal é um documento fiscal que deve ser emitida ao final de cada período de apuração. Pode ser
usada nas seguintes situações:
−
Auditoria Fiscal.
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 14 / 46
−
Verificação de Data e Hora da última Intervenção Técnica.
−
Quando possível deve ser emitida antes e após uma Intervenção Técnica.
A Leitura da Memória Fiscal pode ser emitida por redução ou data. Comandos para emitir a Leitura da Memória Fiscal:
Ferramenta
DLL ECF32M
Comando/Função
LeMemFiscalData()
LeMemFiscalReducao()
Device Driver DRVECF.SYS
$17
$18
32. O que é Relatório Gerencial?
O Relatório Gerencial é um estado do Módulo Fiscal onde conseguimos montar um relatório com informações genéricas
(administrativas do estabelecimento comercial). Ao entrar nesse modo, a aplicação tem o prazo limite de 10 minutos para
finalizar o relatório. Passado esse tempo a impressora aceitará somente o comando para encerrar Cupom Não Fiscal. O
Módulo Fiscal imprimirá a cada 10 linhas impressas “OPERACAO NÃO FISCAL” (em modo expandido). Um exemplo de
Relatório Gerencial seria um relatório para mostrar a estatística de venda por Operador de Caixa.
33. Como emitir um Relatório Gerencial?
Para entrar no Modo Relatório Gerencial, é necessário executar uma Leitura X e passar com parâmetro a indicação de
Relatório Gerencial (consulte essa FAQ sobre a Leitura X). Se a opção de Relatório Gerencial estiver habilitada, o ECF
entrará automaticamente em Modo Relatório Gerencial após a emissão da Leitura X. Estando em Modo Relatório Gerencial,
será aceito o comando para imprimir Linha Não Fiscal tantas vezes forem necessárias para montar o relatório. A impressão
é livre (exceto a palavra “TOTAL”) e limitada a 10 minutos. Lembre-se que para sair do Modo Relatório Gerencial, é
necessário usar o comando para encerrar Cupom Não Fiscal.
34. O que é Mensagem Publicitária?
Mensagem Publicitária é o nome dado às últimas linhas do Cupom Fiscal, onde o aplicativo pode enviar um texto qualquer,
por exemplo um texto promocional da loja. É possível imprimir no máximo 8 linhas. Este texto pode ser enviado no comando
para Fechar Cupom Fiscal (consultar esta FAQ para obter maiores informação sobre este comando).
35. Como posso cancelar um Cupom Fiscal que está em andamento (aberto)?
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 15 / 46
Há a possibilidade de cancelarmos um Cupom Fiscal em andamento. Este comando irá cancelar automaticamente o Cupom
Fiscal que estiver aberto e pode ser enviado a qualquer momento. Comando para Cancelar Cupom Fiscal:
Ferramenta
Comando/Função
DLL ECF32M
CancelaCupomFiscal()
Device Driver DRVECF.SYS
$14
36. Como posso cancelar o Cupom Fiscal anterior?
Por exigência da legislação atual, este comando só será executado com sucesso se a operação anterior tiver sido um
Cupom Fiscal. Explicando melhor, para cancelar o Cupom Fiscal anterior, é necessário que o Contador de Ordem de
Operação (COO) ainda não tenha sido incrementado. O Contador de Ordem de Operação (COO) é incrementado com o
início de qualquer operação. Exemplos de operações que incrementam o COO:
−
Leitura X
−
Comprovante Não Fiscal Vinculado
−
Comprovante Não Fiscal Não Vinculado
−
Cupom Fiscal
Comando para Cancelar Cupom Fiscal anterior:
Ferramenta
Comando/Função
DLL ECF32M
CancelaCupomFiscal()
Device Driver DRVECF.SYS
$14
37. O que é Comprovante Não Fiscal?
Comprovantes Não Fiscais são operações que incrementam o Contador de Ordem de Operação (COO) e não incidem
Tributação. Atualmente, existem dois tipos de Comprovante Não Fiscal:
−
Vinculado
−
Não Vinculado
38. O que é Comprovante Não Fiscal Vinculado?
Os Comprovantes Não Fiscais Vinculados são usados para emitir informações adicionais após a emissão de um Cupom
Fiscal e relacionadas ao mesmo. A legislação atual exige um tempo limite de 2 minutos para finalização do Comprovante
Não Fiscal Vinculado. Após esse tempo, o ECF trava e exige o comando para finalizar o comprovante. Ao montar o texto do
comprovante não é permitido imprimir a palavra “TOTAL”.
Exemplo:
−
Comprovante de uma Transação Eletrônica de Fundos (TEF).
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 16 / 46
39. O que é Comprovante Não Fiscal Não Vinculado?
O Comprovante Não Fiscal Não Vinculado é usado para registrar movimentação de valor no caixa que não incida
tributação. Todos os tipos de Comprovantes Não Fiscais Não Vinculados devem estar cadastrados no ECF. Os
Registradores Não Fiscais 16 a 31 são usados para essa finalidade. Ao se cadastrar um tipo de Comprovante Não Fiscal
Não Vinculado não é possível determinar a natureza da operação (débito ou crédito), todos os tipos cadastrados irão
trabalhar como crédito. Exemplos:
−
Sangria
−
Reforço de Caixa
−
Vale Funcionário
40. Como emitir um Comprovante Não Fiscal Vinculado?
Para emitir um Comprovante Não Fiscal Vinculado, é necessário que a operação anterior tenha sido um Cupom Fiscal.
Procedimento básico para emissão de um Comprovante Não Fiscal Vinculado:
Descrição
Ferramenta
Comando/Função
Abrir o Comprovante Não Fiscal Vinculado
DLL ECF32M
AbreCupomVinculado()
DRVECF.SYS
$20
Imprimir Linha Não Fiscal (quantas vezes forem DLL ECF32M
ImprimeLinhaNaoFiscal()
necessárias)
DRVECF.SYS
$26
Encerrar o Comprovante Não Fiscal Vinculado
DLL ECF32M
EncerraCupomNaoFiscal()
DRVECF.SYS
$21
41. Como utilizar a impressão de Linha Não Fiscal?
A impressão de Linha Não Fiscal poderá ser utilizada em Comprovantes Não Fiscais Vinculados ou Relatórios Gerenciais.
Para agilizar a impressão de um texto não fiscal, foi implementado nas versões de firmware FCP-500 e FCP-501, o envio de
linha com até 999 caracteres normais.
Exemplo 1:
“$26S0981234567890123456789012345678901234567890123456781234567890123456789012345678901234567890123
45678" + chr(10) + chr(13)
Exemplo 2:
"S050
TECNOLOGIA DE BANCO " + chr(10) + chr(13) )
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 17 / 46
Descrição
Ferramenta
Imprimir Linha Não Fiscal, quantas vezes forem DLL ECF32M
necessárias
DRVECF.SYS
Comando/Função
ImprimeLinhaNaoFiscal()
$26
Imprimir Linha Não Fiscal, somente para versões DLL ECF32M
ImprimeLinhaNaoFiscalTexto()
FCP-500 ou FCP-501
$26Snnn
DRVECF.SYS
42. Como emitir um Comprovante Não Fiscal Não Vinculado?
Para emitir um Comprovante Não Fiscal Não Vinculado, veja uma sequência básica de comandos:
Descrição
Ferramenta
Comando/Função
Abrir o Comprovante Não Fiscal Não Vinculado
DLL ECF32M
AbreCupomNaoVinculado()
DRVECF.SYS
$22
Informar
o
registrador
não
fiscal
e
o
valor DLL ECF32M
relacionado à operação.
DRVECF.SYS
Comando OPCIONAL. Usado para informar a DLL ECF32M
OperRegNaoVinculado()
$23
Pagamento() / PagamentoComTexto()
Modalidade de Pagamento.
DRVECF.SYS
$07
Encerrar o Comprovante Não Fiscal Não Vinculado.
DLL ECF32M
EncerraCupomNaoFiscal()
DRVECF.SYS
$21
43. O que é Situação Tributária?
Situação Tributária é o código que identifica a tributação na qual se enquadra o item vendido. A Situação Tributária deve
pertencer a uma das classificações programadas na Impressora Fiscal. O primeiro caractere da Situação Tributária deve ser
um dos abaixos:
−
T : Tributação ICMS
−
S : Tributação ISS
−
I : Isento de Tributação
−
F : Substituição Tributária
−
N : Não Tributável
No caso do item estar enquadrado em Tributação por ICMS ou ISS, é necessário que a alíquota (taxa percentual)
correspondente esteja cadastrada no ECF. Cada alíquota cadastrada no ECF possui um código de identificação. Por
exemplo: T01, T02, S04. Todas as alíquotas cadastradas na Impressora Fiscal devem estar associadas ao ICMS (T) ou ao
ISS (S).
É possível cadastrar no máximo 15 alíquotas distintas. Lembre-se que a primeira alíquota (00) sempre irá
pertencer ao ISS (S) e as demais poderão ser classificadas como ICMS (T) ou ISS (S). A inclusão de uma NOVA alíquota
pode ser feita após uma Redução Z e antes da primeira venda do dia. As Situações Tributárias de Isenção (I), Substituição
(F) e Não Tributável (N) estarão sempre cadastradas na Impressora Fiscal. Nos comandos fiscais onde é necessário
informar a Situação Tributária, devem ser indicadas respectivamente como: I00, F00 e N00.
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 18 / 46
44. O que significa Totalizar um Cupom Fiscal?
A operação de Totalizar Cupom Fiscal sinaliza para a Impressora Fiscal que terminou de registrar todos os itens e que não
haverá cancelamento de item no Cupom Fiscal atual, e o aplicativo está pronto para enviar as Modalidades de Pagamento.
A sequência de comandos para finalizar o Cupom Fiscal é:
−
−
Totalizar o Cupom Fiscal
Informar as Modalidades de Pagamento (lembre-se que podem ser informadas mais de uma Modalidade de
Pagamento em um mesmo Cupom Fiscal ou Não Fiscal).
−
Finalizar o Cupom Fiscal.
45. O que é Modalidade de Pagamento?
As Modalidades de Pagamento são as formas com as quais o consumidor pode efetuar o pagamento do Cupom Fiscal ou
Não Fiscal. São conhecidas também por “finalizadoras”. Exemplos:
−
Dinheiro
−
Cheque
−
TEF
Toda Modalidade de Pagamento deve estar cadastrada em um Registrador Não Fiscal. Os Registradores Não Fiscais de 00
a 15 são usados para cadastrar as Modalidades de Pagamento. A inclusão de uma NOVA Modalidade de Pagamento pode
ser feita após uma Redução Z e antes da primeira venda do dia.
46. Como informar a Modalidade de Pagamento?
Conforme a ferramenta de desenvolvimento, utilize um dos comandos abaixo:
Ferramenta
Comando/Função
DLL ECF32M
Pagamento() / PagamentoComTexto()
Device Driver DRVECF.SYS
$07
47. Quais são as ferramentas de desenvolvimento para ambiente DOS?
A DIEBOLD oferece o device driver DRVECF.SYS para aplicações que trabalham sob o Sistema Operacional DOS. É uma
interface de comunicação que trabalha com todos os modelos de impressoras fiscais da MECAF.
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 19 / 46
48. Quem deve utilizar o device driver DRVECF.SYS?
Devem usar o device driver DRVECF.SYS todas as aplicações que suportam o Sistema Operacional DOS. É uma interface
de comunicação que trabalha com todos os modelos de impressoras fiscais da MECAF.
49. Como instalar o device driver DRVECF.SYS?
O device driver DRVECF.SYS deve ser instalado da seguinte forma:
−
1. Copie o arquivo DRVECF.SYS para o diretório raíz de sua unidade (Exemplo: “C:\”).
−
2. Insira a seguinte linha no arquivo CONFIG.SYS:
DEVICEHIGH = C:\DRVECF.SYS /1
OBS:
−
O parâmetro /1 indica que o ECF está instalado na COM1. Caso se deseje instalar na COM2, o parâmetro será
"/2"; para COM3 o parâmetro
−
No exemplo, a unidade em questão é “C:”, faça a alteração caso sua a unidade seja diferente.
50. Que cuidados que devo tomar quanto à comunicação serial usando o DRVECF.SYS?
O seu aplicativo deve estar atento quanto ao uso da porta serial:
−
Para estabelecer comunicação com a Impressora Fiscal (interface serial), o primeiro comando que o seu
aplicativo deve enviar é o de abertura do arquivo
. Se a abertura do arquivo não for executada
com sucesso, a comunicação serial não estará estabelecida. Este arquivo deve ser aberto somente uma única
vez enquanto o seu aplicativo estiver em execução.
−
Para encerrar a comunicação com a Impressora Fiscal (interface serial), o último comando que o seu aplicativo
deve enviar é o de fechamento do arquivo “DRVCIF@C”. Se o fechamento do arquivo não for executado com
sucesso, a comunicação serial por outros aplicativos poderá apresentar falhas. Este arquivo deve ser fechado
somente ao finalizar a execução do seu aplicativo.
−
−
Informe a porta serial corretamente no arquivo de configuração de sistema “config.sys”.
O device driver DRVECF.SYS necessita que o IRQ e o ENDEREÇO da porta serial esteja configurado da
seguinte forma: COM1 (IRQ: 4 ENDEREÇO: 03F8) e COM2 (IRQ:3 ENDEREÇO: 02F8). Para saber essas
informações, consulte o SETUP do micro ou as Configurações das Portas Seriais no Painel de Controle do
Windows.
−
Certifique-se que não há qualquer outro dispositivo ou driver instalado na porta serial onde está instalada a
Impressora Fiscal.
51. Como enviar os comandos usando o device driver DRVECF.SYS?
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 20 / 46
Quando o seu aplicativo desejar enviar um comando ao ECF, deve escrevê-lo no arquivo “DRVCIF@C”. Ao escrever um
comando no device driver, a aplicação deverá fazê-lo sem inserir o protocolo de comunicação (STX/ETX). Assim que o
comando de escrita no arquivo retornar sucesso, é necessário obter o retorno do ECF lendo o conteúdo do mesmo arquivo.
Utilize uma função, conforme a linguagem empregada, para realizar a escrita do comando.
Exemplo (em linguagem Clipper):
Comando = Chr(27) + "$15"
Retorno = FWRITE( HANDLE ,@Comando ,LEN( Comando ) )
52. Como tratar o retorno dos comandos usando o device driver DRVECF.SYS?
Quando o seu aplicativo desejar tratar um retorno do ECF, deve ler o conteúdo do arquivo “DRVCIF@C”. Ao tratar o
conteúdo do arquivo do device driver, a aplicação deverá fazê-lo sem requisitar o protocolo de comunicação (STX/ETX).
Utilize uma função, conforme a linguagem empregada, para realizar a leitura da mensagem de retorno.
O conteúdo do arquivo conterá a mensagem de retorno do ECF. Esta mensagem seguirá um padrão pré-estabelecido:
<tipo><nseq><código de retorno><mensagem>
<tipo>
<nseq>
É um único caractere ASCII que indica:
−
+ = comando executado com sucesso.
−
- = comando não executado ou executado com erro.
−
S = comando do tipo STATUS.
São 4 caracteres numéricos ASCII, no formato NNNN (`0' =< N <= `9'), formando um contador
incrementado de uma unidade a cada comando recebido e executado com sucesso. Observe que esse
contador não é incrementado em um comando de status.
<cód>
São 2 caracteres numéricos ASCII no formato NN (`0' =< N <= `9') indicando o código de retorno do
comando executado com sucesso (exceto em comandos de transmissão de parâmetros) ou do erro
ocorrido (no caso de comando não executado ou executado com erro).
<mensagem>
Texto padrão ASCII de tamanho variável contendo a resposta relativa ao comando enviado.
Além dos códigos e mensagens de retorno do ECF, o device driver também pode gerar códigos de retorno em
determinadas situações, observe a tabela abaixo: (consulte o Manual de Programação para obter maiores detalhes)
Código de Retorno
Mensagem de Retorno
-96
Tampa aberta. A Tampa Frontal do ECF está aberta.
-97
Sem mensagem em andamento. Não há resposta pendente.
-98
Overflow. Erro na comunicação serial.
-99
Timeout Não há resposta do ECF.
OBS: O seu aplicativo deve fazer um tratamento especial quando receber o código de retorno “-97”. Este retorno ocorre
quando é feita uma leitura no arquivo sem que um comando tenha sido enviado. Caso o comando tenha sido enviado,
significa que ainda não houve resposta do ECF; neste caso a aplicação deverá realizar um processo em “loop” de leitura até
que o device driver lhe forneça uma resposta diferente. Examine o exemplo em CLIPPER que pode ser obtido nesse site.
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 21 / 46
Exemplo (em linguagem Clipper):
Buffer = SPACE( 300 )
Retorno = FREAD( HANDLE ,@Buffer ,300 )
53. Quais são as ferramentas de desenvolvimento para ambiente Windows?
A DIEBOLD oferece a DLL ECF32M.DLL para aplicações que trabalham sob o Sistema Operacional Windows 32 bits. É
uma interface de comunicação que trabalha com todos os modelos de impressoras fiscais da MECAF.
54. Quem deve usar a DLL ECF32M?
Devem usar a DLL ECF32M todas as aplicações que usam linguagem 32 bits e suportam os Sistemas Operacionais
Windows 95/98/NT/2000.
55. Como instalar a DLL ECF32M?
A DLL ECF32M deve ser instalada preferencialmente na pasta de sistema do Windows:
−
Para as Versões 95, 98 e Me: SYSTEM
−
Para as Versões NT Workstation e 2000 Professional: SYSTEM32
Essa DLL utiliza um arquivo de configuração denominado CIF.INI, que deve ser instalado na seguinte pasta:
−
Para Versões 95, 98 e Me: WINDOWS
−
Para Versões NT Workstation e 2000 Professional: WINNT
56. Quais as informações que eu posso configurar no arquivo CIF.INI da DLL ECF32M?
O arquivo de configuração CIF.INI é um arquivo texto no padrão de inicialização do Windows contendo a sessão [PORT].
Os parâmetros possíveis estão relacionados abaixo:
[PORT]
Nome da seção.
Parâmetro que determina a porta serial que será utilizada, onde <n> é o número da porta
selecionada:
COM=<n>
−
1 – COM1
−
2 – COM2
−
3 – COM3
−
4 – COM4.
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 22 / 46
Parâmetro que determina a geração do arquivo de LOG, onde <x> é o nível de depuração. As
informações presentes no arquivo de LOG serão geradas
conforme o nível de depuração
determinado. Níveis de Depuração:
DEPURA=<x>
−
0: O arquivo de Log não será gerado.
−
1: O arquivo de Log será gerado no nível básico.
−
2: O arquivo de Log será gerado no nível médio.
−
3: O arquivo de Log será gerado no nível avançado.
OBS: Saiba mais sobre o arquivo de Log lendo a Especificação de Uso da DLL ECF32M.
Exemplo:
Se a impressora estiver conectada à porta COM1 e sem gravação do arquivo de Log, o arquivo de configuração CIF.INI terá
o seguinte conteúdo:
[PORT]
COM=1
DEPURA=0
ATENÇÃO!
Ao editar o arquivo CIF.INI não coloque espaços entre o parâmetro e o sinal de igual, e entre o sinal de igual e o valor do
parâmetro; isto provocará um erro durante a leitura do parâmetro em questão.
57. Quais os cuidados que devo tomar quanto à comunicação serial usando DLL ECF32M?
O seu aplicativo deve estar atento quanto ao uso da porta serial:
−
Para estabelecer comunicação com a Impressora Fiscal (interface serial), a primeira Função que o seu
aplicativo deve enviar é a OpenCIF(). Se esta Função não for executada com sucesso, a comunicação serial
não estará estabelecida. Esta Função deve ser enviada somente uma única vez enquanto o seu aplicativo
estiver em execução.
−
Para encerrar a comunicação com a Impressora Fiscal (interface serial), a última Função que o seu aplicativo
deve enviar é a CloseCif().Se esta Função não for executada com sucesso, a comunicação serial não estará
encerrada. Esta Função deve ser enviada somente uma única vez ao finalizar a execução do seu aplicativo.
−
Informe a porta serial corretamente no arquivo de configuração CIF.INI (leia mais sobre este arquivo nesta FAQ)
−
Certifique-se que não há qualquer outro dispositivo ou driver instalado na porta serial onde está instalada a
Impressora Fiscal.
−
Certifique-se que não há conflitos a serem solucionados na porta serial onde está instalada a Impressora Fiscal.
58. Como tratar o retorno das Funções usando a DLL ECF32M?
Todas as Funções chamadas retornam um Status, indicando se o comando foi enviado à Impressora Fiscal com Sucesso
ou não. Consulte a tabela completa de retorno de Função na Especificação de Uso da DLL ECF32M.
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 23 / 46
O retorno da Função será CIF_OK (igual a 0) sempre que o comando for recebido com êxito pelo ECF, significando que o
mesmo reconheceu o comando, porém não significa que o executou com Sucesso. Após a chamada a de uma determinada
Função que retornou CIF_OK, é necessário que o aplicativo use Função ObtemRetorno(). O objetivo desta Função é obter
a resposta do ECF e verificar se o comando foi executado corretamente, ou o motivo pelo qual não foi possível realizar a
operação.
59. Como usar a Função EsperaResposta()?
O retorno da Função EsperaResposta() tem uma característica diferente das demais funções:
−
No caso do comando ter sido executado com sucesso, esta Função retorna uma constante maior ou igual a
CIF_OK (Retorno >= 0).
−
No caso do comando ter sido executado com erro ou não ter sido executado, esta Função retorna uma
−
Para saber os códigos de retorno da Função EsperaResposta(), consulte a tabela completa de retorno do ECF
−
Uma outra utilidade desta Função, é receber as informações solicitadas ao ECF através de alguma Função. No
constante com valor negativo.
na Especificação de Uso da DLL ECF32M.
caso do comando anterior ter sido alguma solicitação de parâmetros do ECF, como por exemplo a Função
TransTotCont(), as informações solicitadas poderão ser lidas através do buffer passado como parâmetro na
Função EsperaResposta ().
60. Como usar a Função AbreCupomFiscal()?
Descrição:
Abre um Cupom Fiscal de venda. Para abrir um Cupom Fiscal lembre-se que é necessário que o ECF não esteja em
alguma operação fiscal ou não fiscal em andamento.
Sintaxe C:
int FAR PASCAL AbreCupomFiscal(void);
Sintaxe VB:
Declare Function AbreCupomFiscal Lib "ECF32M.DLL" () As Long
Parâmetros:
Nenhum.
Retorno:
CIF_OK
CIF_ERR_SERIAL
CIF_TIMEOUT
CIF_EMEXECUÇÃO
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 24 / 46
Exemplo:
typedef int (FAR PASCAL *ABRECUPOM) (void);
int ret;
ABRECUPOM pAbreCupomFiscal;
pAbreCupomFiscal = (ABRECUPOM) GetProcAddress(h, "AbreCupomFiscal”);
ret = pAbreCupomFiscal ( );
61. Como usar a Função VendaItem()?
Função:
VendaItem()
Descrição:
Realiza a operação de venda de mercadoria.
Sintaxe C:
int FAR PASCAL VendaItem(char fmt,char *qtd,char *punit,char *trib,char tdesc,char *valor,char *unid,char *cod,char
ex,char *descr,char * legop);
Sintaxe VB:
Declare Function VendaItem Lib "ECF32M.DLL" (ByVal fmt As Byte,ByVal qtd As String,ByVal punit As String,ByVal trib As
String,ByVal tdesc As Byte,ByVal valor As String,ByVal unid As String,ByVal cod As String,ByVal ex As Byte,ByVal descr As
String,ByVal legop As String) As Long
Parâmetros:
fmt:
Formato de impressão de linha.
−
‘-‘ (2Dh) Impressão em uma linha.
−
‘Z’ (5Ah) Impressão de linha normal.(*)
−
‘A’ (41h) Impressão em uma linha e valor do item com duas casas decimais. (*)
−
‘B’ (42h) Impressão em uma linha e valor do item com três casas decimais. (*)
−
‘C’ (43h) Impressão em duas linhas e valor do item com duas casas decimais. (*)
−
‘D’ (44h) Impressão em duas linhas e valor do item com três casas decimais. (*)
−
‘E’ (45h) Impressão em uma linha, valor do item com duas casas decimais e quantidade com quatro dígitos na
parte inteira do valor. (*)
−
‘F’ (46h) Impressão em uma linha, valor do item com três casas decimais e quantidade com quatro dígitos na
parte inteira do valor. (*) ‘G’ (47h) Impressão em duas linhas, valor do item com duas casas decimais e
quantidade com quatro dígitos na parte inteira do valor. (*)
−
‘H’ (48h) Impressão em duas linhas, valor do item com três casas decimais e quantidade com quatro dígitos na
parte inteira do valor. (*)
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 25 / 46
(*) – Parâmetros disponíveis a partir da versão 2.1 desta DLL, e versão FCP-500 do firmware da impressora fiscal.
qtd:
Quantidade, composto de 6 bytes no formato “nnnnnn”, sendo 3 para parte inteira e 3 para parte decimal – (6n).
punit:
Preço unitário, composto de 11 bytes no formato nn..nn, sendo 9 para a parte inteira e 2 para a parte decimal – (11n).
trib:
Situação tributária, composto de 3 bytes obedecendo a seguinte codificação:
−
“Tnn”: Tributado (nn = “00”,”01” ,...“15” ,corresponde à faixa de alíquota)
−
“F00”: Substituição Tributária
−
“I00”: Isenção
−
“N00”: Não Incidência
tdesc:
Tipo do desconto a ser enviado no próximo campo, no seguinte formato: tdesc = '&' (26h) ou ‘1’ (31h) - o tipo de desconto
no próximo campo é por valor. tdesc = '%' (25h) ou ‘0’ (30h) - o tipo de desconto no próximo campo é por porcentagem.
Valor:
Valor do desconto do item, composto de 15 caracteres no formato nn..nn se for por valor (13 para parte inteira e 2 para a
parte decimal) ou no formato nnnn se for porcentagem (2 para aparte inteira e 2 para a parte decimal) - (15/4n).
unid:
Descrição da unidade da mercadoria (pc, kg, mt e etc), composto de 2 caracteres no formato ss (2s).
cod:
Código da mercadoria composto de 13 caracteres no formato ss....ss. – (13s)
ex:
Tamanho da descrição.
−
‘0’ (30h) = campo descrição com 20 caracteres alfanuméricos.
−
‘1’ (31h) = campo descrição com 38 caracteres alfanuméricos.
−
‘2’ (32h) = campo descrição com 38 * 2 caracteres alfanuméricos.
−
‘3’ (33h) = campo descrição com 38 * 3 caracteres alfanuméricos. ‘4’ (34h) = campo descrição com 38 * 4
caracteres alfanuméricos.
−
‘5’ (35h) = campo descrição com 38 * 5 caracteres alfanuméricos. Caso ex seja nulo, o campo “descr” assumirá
o valor default, ou seja, descrição com 20 caracteres alfanuméricos.
descr:
Descrição da mercadoria; este campo é composto nn caracteres no formato ss...ss, dependendo do campo anterior. –
(<conforme campo ex>s)
legop:
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 26 / 46
Legenda opcional, impressa somente em caso de desconto válido, composto de 14 caracteres no formato ss...ss. (14s).
Caso o parâmetro seja uma string nula (legop = Null), será impressa a legenda default, ou seja, “DESCONTO”.
Retorno:
CIF_OK
CIF_ERR_SERIAL
CIF_TIMEOUT
CIF_EMEXECUÇÃO
Exemplo:
typedef int (FAR PASCAL *VENDA) (
char,
char *,
char *,
char *,
char,
char *,
char *,
char *,
char,
char *,
char *
);
char BufDesc[21];
char BufQtd[7];
char BufPunit[12];
char BufTrib[5];
char BufValor[16];
char BufUnid[3];
char BufCod[14];
char desc;
VENDA pVenda;
pVenda = (VENDA) GetProcAddress(h, "VendaItem") ;
desc = '%';
strcpy (BufQtd,"001000");
strcpy (BufPunit,"00000001000");
strcpy (BufTrib,"I00");
strcpy (BufValor,"0000");
strcp(BufUnid,"pc");
strcpy(BufCod,"0000000000001");
strcpy(BufDesc,"abcdefghijklmnopqrst");
pVenda(0,BufQtd,BufPunit,BufTrib,desc,BufValor ,BufUnid,BufCod,0,BufDesc,”” );
Observações:
−
Nos campos numéricos, os dígitos não significativos deverão ser preenchidos com zero ('0').
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 27 / 46
−
Caso o parâmetro “fmt” possua o valor 0 (Null), a impressão da descrição do produto será feita em uma linha
−
Caso o parâmetro “tdesc” possua o valor 0 (Null), a operação de desconto será realizada com um valor em
normal. Este valor mantém a compatibilidade com as versões anteriores da dll.
porcentagem. Este valor mantém a compatibilidade com as versões anteriores da dll.
−
Totalizador de situação tributária 'T00' é específico para realizar operações sujeitas ao ISS (Imposto Sobre
Serviços).
−
Para venda de item sem desconto, especifique o tipo de desconto (valor ou porcentagem) e preencha o campo
valor com zeros, respeitando o número de caracteres para cada tipo.
−
Esta Função poderá ser utilizada com um dos nomes apresentados acima, VendaItem ou Venda_Item; esta
alteração foi introduzida na versão 1.4 desta dll.
62. Como usar a Função TotalizarCupom()?
Descrição:
Realiza a totalização do cupom sem parâmetro de desconto/acréscimo. A FunçãoTotalizarCupom() pode ser executada em
seguida para se realizar uma operação de desconto/acréscimo no subtotal. É possível totalizar o cupom diretamente pela
Função TotalizarCupom(), que contém os parâmetros de desconto/acréscimo.
Sintaxe C:
int FAR PASCAL TotalizarCupomParcial( void );
Sintaxe VB:
Declare Function TotalizarCupomParcial Lib "ECF32M.DLL" () As Long
Parâmetros:
nenhum
Retorno:
CIF_OK
CIF_ERR_SERIAL
CIF_TIMEOUT
CIF_EMEXECUÇÃO
Exemplo:
typedef int (FAR PASCAL *TOTCUPPARC) (void);
int ret;
TOTCUPPARC pTotalizaCupomParcial;
pTotalizarCupomParcial = (TOTCUPPARC) GetProcAddress(h, "TotalizarCupomParcial”);
ret = pTotalizaCupomParcial ( );
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 28 / 46
63. Como usar a Função Pagamento()?
Função:
Pagamento()
Descrição:
Este comando pode ser enviado quantas vezes forem necessárias para finalizar o pagamento (valor a pagar igual a zero).
Deve ser informada uma única forma de pagamento por comando. Realiza o pagamento do cupom de venda, imprimindo
a(s) forma(s) de pagamento no seguinte formato: PAGO EM: <legenda programável> = nnnnnnnnnnnnn,nn
Sintaxe C:
int FAR PASCAL Pagamento(char reg*,char *vpgto,char troco);
Sintaxe VB:
Declare Function Pagamento Lib “ECF32M.DLL” (ByVal reg As String,ByVal vpgto As String,ByVal troco As Byte) As Long
Parâmetros:
reg:
Identificação do registrador não fiscal (forma de pagamento). (2n(“00” <= nn <= “15”))
vpgto:
Valor do pagamento, programado no campo anterior, composto de 15 caracteres no formato nn..nn (15n).
troco:
Indica quando for troco, se o mesmo será subtraído do registrador especificado ou não.
−
troco = ‘0’ (30h) – O troco não será subtraído do registrador especificado;
−
troco = ‘1’ (31h) – O troco será subtraído do registrador especificado;
Retorno:
CIF_OK
CIF_ERR_SERIAL
CIF_TIMEOUT
CIF_EMEXECUÇÃO
Exemplo:
typedef int (FAR PASCAL PGTO) (char, char *,char); char BufValor[16];int ret;PGTO pPagamento;
pPagamento = (PGTO) GetProcAddress(h, “Pagamento”) ;
strcpy (BufValor,”000000000012300”);
ret = pPagamento (“02”,BufValor,’0’);
Observações:
−
Nos campos numéricos, os dígitos não significativos deverão ser preenchidos com
−
Este comando só poderá ser utilizado após a totalização do cupom, através da Função TotalizarCupom().
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 29 / 46
−
Caso o parâmetro “troco” possua o valor 0 (Null), o valor do troco será subtraído.
64. Como usar a Função PagamentoComTexto()?
Função:
PagamentoComTexto()
Descrição:
Realiza o pagamento do cupom de venda, permitindo a impressão de inserção de linhas de comentário. A forma de
pagamento será impressa no seguinte formato:
PAGO EM: <legenda programável> = nnnnnnnnnnnnn,nn
Sintaxe C:
int FAR PASCAL PagamentoComTexto(char *reg,char *vpgto,char parm,char *comentario);
Sintaxe VB:
Declare Function PagamentoComTexto Lib “ECF32M.DLL” (ByVal reg As String,ByVal vpgto As String,ByVal parm As
Byte,ByVal comentario As String) As Long
Parâmetros:
reg:
Identificação do registrador não fiscal (forma de pagamento). (2n(“00” <= nn <= “15”))
Vpgto:
Valor do pagamento, programado no campo anterior, composto de 15 caracteres no formato nn..nn (15n).
parm:
Indica quantas linhas de comentário serão enviadas:
−
parm = ‘2’ (32h) – será enviada uma linha de comentário;
−
parm = ‘1’ (34h) – serão enviadas duas linhas de comentário.: Linha de comentário opcional, composta de
40/80caracteres alfanuméricos, respeitando o que foi determinado através do parâmetro anterior. (40/80s)
Retorno:
CIF_OK
CIF_ERR_SERIAL
CIF_TIMEOUT
Exemplo:
typedef int (FAR PASCAL PGTOTEXTO) (char *,
char *,
char ,
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 30 / 46
char *
);
char BufValor[16];
int ret;
PGTOTEXTO pPagamentoComTexto;
pPagamentoComTexto = (PGTOTEXTO) GetProcAddress(h, “PagamentoComTexto”) ;
strcpy(BufValor,”000000000012300”);
ret = pPagamentoComTexto(“02”,BufValor,’2’ ,”Dolares”);
Observações:
−
Nos campos numéricos, os dígitos não significativos deverão ser preenchidos com zero (‘0’).
−
Este comando só poderá ser utilizado após a totalização do cupom, através da Função TotalizarCupom().
−
Função disponível a partir da versão 2.1 desta DLL, e versão FCP-500 do firmware da impressora fiscal.
65. Como usar a Função Troco()?
Função:
Troco()
Descrição:
Realiza a operação de troco relativa a operação de pagamento do cupom.
Sintaxe C:
int FAR PASCAL Troco ( char * reg );
Sintaxe VB:
Declare Function Troco Lib “ECF32M.DLL” (ByVal reg As String) As Long
PARÂMETROS:
reg:
Identificação do registrador não fiscal (forma de pagamento). (2n(“00” <= nn <= “15”))
Retorno:
CIF_OK
CIF_ERR_SERIAL
CIF_TIMEOUT
CIF_EMEXECUÇÃO
Exemplo:
typedef int (FAR PASCAL TROCO) (char *);
int ret;
TROCO pTroco;
pTroco = (TROCO) GetProcAddress(h ,“Troco”) ;
ret = pPagamentoComTexto (“02”);
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 31 / 46
Observações:
−
Este comando só poderá ser utilizado após o pagamento do cupom, através da Função Pagamento, ou
PagamentoComTexto().
−
Função disponível a partir da versão 2.1 desta DLL, e versão FCP-500 do firmware da impressora fiscal.
66. Como usar a Função FechaCupomFiscal()?
Descrição:
Realiza o fechamento do Cupom Fiscal após a sua Totalização e o Pagamento.
Sintaxe C:
int FAR PASCAL FechaCupomFiscal(char *tam_msg,char *msg);
Sintaxe VB:
Declare Function FechaCupomFiscal Lib "ECF32M.DLL" (ByVal tam_msg As String,ByVal msg As String) As Long
Parâmetros:
tam_msg:
Identificador de campo de tamanho da mensagem, composto de quatro caracteres no formato snnn, obedecendo a seguinte
condição:
−
s = 'S' (53h) - indica que o próximo campo é o tamanho da mensagem.
−
nnn - tamanho da mensagem a ser enviada.
Msg:
Mensagem promocional de tamanho definido pelo campo anterior, no formato ss..ss (tamanho=nnn).
Retorno:
CIF_OK
CIF_ERR_SERIAL
CIF_TIMEOUT
CIF_EMEXECUÇÃO
Exemplo:
typedef int (FAR PASCAL *FECHACUPOM) (char*, char *);
int ret;
FECHACUPOM pFechaCupomFiscal;
pFechaCupomFiscal = (FECHACUPOM) GetProcAddress(h, "FechaCupomFiscal");
ret = pFechaCupomFiscal ("S000",””); // sem mensagem promocional
ou
ret = pFechaCupomFiscal ("S010",”123456789\x0a”); // com mensagem promocional
Observações:
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 32 / 46
Caso o campo “tam_msg” possua o valor “S000”, nenhuma mensagem será enviada e o parâmetro “msg” deverá possuir
uma string nula.
Exemplo:
“ESTAMOS AQUI PARA SERVIR VOCE”
“
APROVEITE O SUPER VAREJAO
”
“ TODA QUARTA-FEIRA ATE 12:00 H ”
“
VOLTE SEMPRE
”
67. Como usar a Função AbreCupomNaoVinculado()?
Descrição:
Abre um Cupom Não Fiscal Não Vinculado. Neste cupom é possível realizar operações não fiscais em registradores através
da Função OperRegNaoVinculado(). Este cupom habilita a emissão do comprovante não fiscal VINCULADO,
imediatamente após o fechamento deste.
Sintaxe C:
int FAR PASCAL AbreCupomNaoVinculado (void);
Sintaxe VB:
Declare Function AbreCupomNaoVincuado Lib "ECF32M.DLL" ( ) As Long
Parâmetros:
Nenhum.
Retorno:
CIF_OK
CIF_ERR_SERIAL
CIF_TIMEOUT
CIF_EMEXECUÇÃO
Exemplo:
typedef int (FAR PASCAL *ABRECUPNV) (void);
int ret;
ABRECUPNV pAbreCupomNaoVinculado;
pAbreCupomVinculado = (ABRECUPNV) GetProcAddress(h, "AbreCupomNaoVinculado");
ret = pAbreCupomNaoVinculado ( );
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 33 / 46
68. Como usar a Função OperRegNaoVinculado()?
Descrição:
Esta Função é usada para registrar valor em um Comprovante Não Fiscal Não Vinculado, use a Função Realiza a operação
nos registradores não vinculados. É permitido realizar o pagamento da operação através da Função Pagamento() ou
PagamentoComTexto(), que caracteriza a finalização da operação nos registradores não fiscais, ficando permitido somente
o fechamento do comprovante não fiscal não vinculado.
Sintaxe C:
int FAR PASCAL OperRegNaoVinculado (char *reg,char *valor,char oper,char toper,char *valorop,char *legop);
Sintaxe VB:
Declare Function OperRegNaoVinculado Lib "ECF32M.DLL" (ByVal reg As String,ByVal valor As String,ByVal oper As
Byte,ByVal toper As Byte,ByVal valorop As String,Byval legop As String) As Long
Parâmetros:
reg:
Identificação do registrador não fiscal, composto de 2 caracteres no formato nn {2n( '16' =< nn <= '31' )}.
valor:
Valor referente à operação, composto de 15 caracteres no formato nn...nn.{15n}.
oper:
Indica se o próximo campo é operação de desconto ou acréscimo, composto de 1 caracter, obedecendo a seguinte
condição:
−
•oper = '@' (40h) - Indica que o próximo campo se refere a acréscimo.
−
•oper = ‘Z’ (5Ah) – Indica que o próximo campo se refere a desconto.
toper:
Tipo do desconto/acréscimo a ser enviado no próximo campo, no seguinte formato:
−
•toper = '&' (26h) ou ‘1’ (31h) - o tipo de desconto/acréscimo no próximo campo é por valor.
−−−
•toper = "%' (25h) ou ‘0’ (30h) - o tipo de desconto/acréscimo no próximo campo é por porcentagem.
valorop:
Valor do desconto/acréscimo, composto de 15 caracteres no formato nn...nn se for por valor ( 13 para a parte inteira e 2
para a parte decimal ) ou no formato nnnn se for por porcentagem (2 para a parte inteira e 2 para a parte decimal).(15/4n)
legop:
Legenda opcional, impressa somente em caso de desconto/acréscimo válido, composto de 14 caracteres no formato ss...ss.
(14n). Caso o parâmetro seja uma string nula (legop = Null), será impressa a legenda default, ou seja, “DESCONTO” ou
“ACRÉSCIMO”.
Retorno:
CIF_OK
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 34 / 46
CIF_ERR_SERIAL
CIF_TIMEOUT
CIF_EMEXECUCAO
Exemplo:
typedef int (FAR PASCAL *OPTOT) (char *, char *, char, char , char *, char *);
int ret;
char op,toper,reg[3],valor[16],valorop[16];
OPTOT pOpRegNaoVinculado;
pOpRegNaoVinculado = (OPTOT) GetProcAddress(h, "OperRegNaoVinculado");
strcpy (reg,"16");
op = ‘@’ ;
toper = ‘%‘;
strcpy (valor,"000000000100000");
strcpy (valorop,"1000");
ret = pOpRegNaoVinculado ( reg,valor,op,toper,valorop,””);
Observações:
−
Nos campos numéricos, os dígitos não significativos deverão ser preenchidos com zero ('0').
−
Caso o parâmetro “oper” possua o valor 0 (Null), o próximo campo será interpretado
−
como desconto. Este valor mantém a compatibilidade com as versões anteriores da dll.
69. Como usar a Função EncerraCupomNãoFiscal()?
Função:
EncerraCupomNaoFiscal
Descrição:
Encerra os seguintes cupons de operações não fiscais:
−
Leitura X com Relatório Gerencial;
−
Cupom Não Fiscal Vinculado e
−
Cupom Não Fiscal Não Vinculado.
Sintaxe C:
int FAR PASCAL EncerraCupomNaoFiscal (void);
Sintaxe VB:
Declare Function EncerraCupomNaoFiscal Lib "ECF32M.DLL" ( ) As Long
Parâmetros:
Nenhum.
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 35 / 46
Retorno:
CIF_OK
CIF_ERR_SERIAL
CIF_TIMEOUT
CIF_EMEXECUÇÃO
Exemplo:
typedef int (FAR PASCAL *ENCCUPOM) (void);
int ret;
ENCCUPOM pEncerraCupom;
pEncerraCupom = (ENCCUPOM) GetProcAddress(h, "EncerraCupomNaoFiscal");
ret = pEncerraCupom ();
70. Como usar a Função LeituraX()?
Função:
LeituraX()
Descrição
Esta Função emite a Leitura X e aceita o parâmetro para entrar no Modo Relatório Gerencial. Se esta opção estiver
habilitada, o ECF entrará automaticamente em Modo Relatório Gerencial após a emissão da Leitura X. Para obter maiores
informações, leia sobre Relatório Gerencial. Lembre-se que o Modo Relatório Gerencial é encerrado através da DLL
ECF32M pela Função EncerrraCupomNaoFiscal( ).
Sintaxe C:
int FAR PASCAL LeituraX(char RelGer);
Sintaxe VB:
DeclareFunctionLeituraXLib"ECF32M.DLL"(ByVal RelGer As Byte) As Long
Parâmetros:
RelGer:
Indica se o cupom de Leitura X conterá ou não o Relatório Gerencial.
−
RelGer = '0' (30h) - Não haverá Relatório Gerencial após a Leitura X;
−
RelGer = '1’ (31h) - Relatório Gerencial habilitado após a emissão da Leitura X.
Retorno:
CIF_OK
CIF_ERR_SERIAL
CIF_TIMEOUT
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 36 / 46
CIF_EMEXECUÇÃO
Exemplo:
typedef int (FAR PASCAL *LEITURAX)( void );
char RelGer;
int ret;
LEITURAX pLeituraX;
RelGer=‘1’; pLeituraX = (LEITURAX) GetProcAddress(h, "LeituraX") ;ret = pLeituraX (RelGer);
Observações:
−
Caso o parâmetro “RelGer” possua o valor 0 (Null), não haverá relatório gerencial.
−
Este valor mantém a compatibilidade com as versões anteriores da dll.
71. Como usar a Função ReducaoZ()?
Função:
ReduçãoZ()
Descrição:
Realiza o fechamento do dia e gera um registro na Memória Fiscal. Caso a opção de Relatório Gerencial estiver habilitada,
o ECF entrará automaticamente em modo não fiscal após a emissão do cupom de Redução Z. Neste caso, a impressão é
livre e limitada a 10 minutos. Este cupom deverá ser encerrado pela função EncerrraCupomNaoFiscal().
Sintaxe C:
int FAR PASCAL ReducaoZ( char RelGer );
Sintaxe VB:
Declare Function ReducaoZ Lib "ECF32M.DLL" ( ByVal RelGer As Byte ) As Long
Parâmetros:
RelGer:
Indica se o cupom de Redução Z conterá ou não o Relatório Gerencial.
−
RelGer = '0' (30h) - Não haverá Relatório Gerencial após a Redução Z;
−
RelGer = '1’ (31h) - Relatório Gerencial habilitado após a emissão da Redução Z.
Retorno:
CIF_OK
CIF_ERR_SERIAL
CIF_TIMEOUT
CIF_EMEXECUÇÃO
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 37 / 46
Exemplo:
typedef int (FAR PASCAL *REDUCAOZ) (void);
char RelGer;
int ret;
REDUCAOZ pReducaoZ;
RelGer=‘1’;
pReducaoZ = (REDUCAOZ) GetProcAddress(h, "ReducaoZ") ;
ret = pReducaoZ (RelGer);
Observações:
Caso o parâmetro “RelGer” possua o valor 0 (Null), não haverá relatório gerencial. Este valor mantém a compatibilidade
com as versões anteriores da dll.
72. Como usar a Função ImprimeValidacao()?
Função:
ImprimeValidacao()
Descrição:
É usado para realizar uma autenticação em qualquer documento. A autenticação é aceita após informar a forma de
pagamento e antes de encerrar o Cupom Fiscal. Imprime uma linha de validação, sendo a segunda linha opcional. Este
comando só será habilitado caso um valor tenha sido previamente registrado. Pode-se repetir até quatro autenticações para
um mesmo valor, com os campos de comentário da primeira e segunda de forma livre.
Sintaxe C:
int FAR PASCAL ImprimeValidacao ( char *Leg ,char *LinhaOp);
Sintaxe VB:
Declare Function ImprimeValidacao Lib "ECF32M.DLL" (ByVal Leg As String,ByVal LinhaOp As String) As Long
Parâmetros:
Leg:
Campo de comentário da 1a linha de autenticação (5s).
LinhaOp:
Segunda linha de comentário (40/48s).Caso o parâmetro seja uma string nula (LinhaOp = Null), não será impressa a
segunda linha opcional.
Retorno:
CIF_OK
CIF_ERR_SERIAL
CIF_TIMEOUT
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 38 / 46
CIF_EMEXECUCAO
Exemplo:
typedef int (FAR PASCAL *IMPRESSAO) (void);
int ret;IMPRESSAO pImprimeValidacao;
pImprimeValidacao = (IMPRESSAO) GetProcAddress(h, "ImprimeValidacao");
ret = pImprimeValidacao (“PAGO ”,”2a linha de autenticacao livre ” );
73. Como usar a Função ImprimeCheque()?
Função:
ImprimeCheque()
Descrição:
Imprime o cheque de acordo com o parâmetro valor. Os campos do extenso do valor do cheque e o extenso do mês serão
preenchidos cada linha será impressa imediatamente “após” o avanço do papel, programado através do parâmetro lx, onde:
−
avanço = avanço x 1/160 polegadas
O primeiro avanço é calculado a partir do topo da área útil de impressão do cheque. As dimensões máximas estão
especificadas no Apêndice.
Nota:
−
−
É permitido o cancelamento da impressão de cheque, porém o mesmo deve estar posicionado para impressão.
Caso o nome da moeda corrente não tenha sido programada pela Função ProgMoeda(), Prog_Moeda() ou
ProgramaMoeda() , se assumirá a string default “REAL” e “REAIS”.
Sintaxe C:
int FAR PASCAL ImprimeCheque(char l1 ,char c1,char l2 ,char c2,char l3 ,char c3,char l4 ,char l5,char c5,char l6,char
l7,char c8,char *Valor,char *Favorecido,char *Local,char SetAno,char *Data,char *Com1,char *Com2);
Sintaxe VB:
Declare Function ImprimeCheque Lib “ECF32M”.DLL” (ByVal l1 As Byte ,ByVal c1 As Byte,ByVal l2 As Byte ,ByVal c2 As
Byte,ByVal l3 As Byte ,ByVal c3 As Byte,ByVal l4 As Byte ,ByVal l5 As Byte,ByVal c5 As Byte,ByVal l6 As Byte,ByVal l7 As
Byte,ByVal c8 As Byte,ByVal *Valor As String,ByVal *Favorecido As String,ByVal *Local As String,ByVal SetAno As
Byte,ByVal *Data As String,ByVal *Com1 As String,ByVal *Com2 As String
Parâmetros:
lx:
Programação de avanço de linha a ser executada antes da impressão do parâmetro enviado;
cx:
Coluna de início de impressão do parâmetro a ser impresso; lx e cx representam os seguintes campos:
−
l1 c1 - linha e coluna do valor do cheque
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 39 / 46
−
l2 c2 - linha e coluna da 1a linha do extenso do valor do cheque;
−
l3 c3 - linha e coluna da 2a linha do extenso do valor do cheque;
−
l4 - linha do favorecido;
−
l5 c5 - linha e coluna do campo da localização e data;
−
l6 - linha da 1a linha de comentário;
−
l7 - linha da 2a linha de comentário;
−
c8 - coluna do campo do ano;
Valor:
Valor do cheque a ser impresso, sendo 12 para a parte inteira e 2 decimais (14n).
Favorecido:
Linha do campo do favorecido (80s).
Local:
Localização (cidade) (20s).
SetAno:
Parâmetro de impressão do ano (1s):
−
set = ‘0’ (30h) - o ano será impresso com apenas o último dígito (‘8’);
−
set = ‘1’ (31h) - o ano será impresso com dois dígitos (‘98’);
−
set = ‘2’ (32h) - o ano será impresso com quatro dígitos (‘1998’);
Data:
Data atual (2d2m2a).
Com1:
Primeira linha de comentário (80s).
Com2:
Segunda linha de comentário (80s).
Retorno:
CIF_OK
CIF_ERR_SERIAL
CIF_TIMEOUT
CIF_EMEXECUÇÃO
Exemplo:
typedef int (FAR PASCAL *IMPCHEQUE) (
unsigned char,
char*
);
int ret;
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 40 / 46
char linha[41];
IMPCHEQUE pImprimeCheque;
pImprimeCheque=(IMPCHEQUE)GetProcAddress(h,"ImprimeCheque");
ret=pImprimeCheque(
0x28,0x3d, // l1 e c1 valor do cheque
0x34,0x0a, // l2 e c2 1a linha extenso
0x30,0x06, // l3 e c3 2a linha extenso
0x30, // l0x30,0x22, // l5 e c5 localizacao e data
0x10, // l6 1a linha comentario
0x10, // l7 2a linhacomentario
0x4c, //c8campodoano
"01004501501290", //Valor(14dig)
"favorecido1234567890123456789012345678901234567890123456789012345678901234567fim",
"SAOPAULO",
'2',
"110100",
"comentario1234567890123456789012345678901234567890123456789012345678901234567fim",
"comentario1234567890123456789012345678901234567890123456789012345678901234567fim"
);
74. Como verificar o estado de pagamento de um Cupom Fiscal em aberto?
seguir:
Para solicitar à Impressora um estado de um pagamento de um cupom fiscal aberto, utilizamos os comandos a
Utilizando a ECF32M.DLL:
“97”:
Para executar o comando via DLL ECF32M.DLL da Diebold, você deve utilizar a função EcfPar() com o parâmetro
EcfPar( "97" )
Função EsperaResposta():
Após o envio de qualquer função, use a função EsperaResposta(). Essa função obtém a resposta (código de
retorno e mensagem) de um comando enviado ao ECF. Para isso, é necessário passar como parâmetro um buffer de
recepção dessa resposta. Verifique se o buffer enviado como parâmetro possui espaço reservado em memória suficiente
para receber a resposta do ECF. Veja que o tamanho deste buffer varia conforme o tamanho da resposta a ser obtida do
ECF. Em leituras seriais como ECFPar() um espaço reservado de 500 bytes é necessário para receber esse tipo de
resposta do ECF.
Pode-se reservar um tamanho fixo padrão de 2000 bytes, que é uma área de memória suficiente para receber
qualquer resposta do ECF.
Exemplo em Delphi da função EsperaResposta():
function FuncaoParaEsperarReposta():Integer;
Var charBuffer: array [0..2000] of Char;
begin
retorno := EsperaResposta(charBuffer);
end;
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 41 / 46
Para comando direto (sem utilizar driver ou DLL):
Para enviar o comando através de programação direta:
<STX> <ESC> "$34M97” <ETX>
Para tratar a resposta através de programação direta:
<STX> <ESC> "+NNNNRRRRRRRRRRRRRCC-" <ETX>
onde:
+ = Indicador de sucesso do envio e leitura do comando, em caso de retorno do caracter “+” então o comando foi
executado com sucesso e no caso de retornar o caracter “-“ significa que o ocorreu um erro no processo.
NNNN= indica o número seqüencial de comandos executados na impressora (4 dígitos)
RRRRRRRRRRRRR = valor inteiro do pagamento (13 dígitos)
CC = valor decimal do pagamento, os centavos no caso (2 dígitos)
- = indicador de crédito ou débito, se “-“ então o cupom ainda não foi completamente quitado, se “+” então deve ser
efetuada a operação de troco.
Driver DRVECF.SYS:
Para enviar o comando através do driver DRVECF.SYS:
1. Abrir o arquivo do driver:
HANDLE = FOPEN( "DRVCIF@C" ,FO_READWRITE )
2. Escrever no arquivo do driver o comando a ser executado no ECF:
Comando = Chr(27) + "$34M97"
Retorno = FWRITE( HANDLE ,@Comando ,LEN( Comando ) )
3. Ler o retorno da execução do comando no arquivo do driver:
Buffer = SPACE( 2000 )
Retorno = FREAD( HANDLE ,@Buffer ,2000 )
Para tratar a resposta através do driver DRVECF.SYS, interprete o conteúdo da variável Buffer:
"+NNNNRRRRRRRRRRRRRCC-"
onde:
+ = Indicador de sucesso do envio e leitura do comando, em caso de retorno do caracter “+” então o comando foi
executado com sucesso e no caso de retornar o caracter “-“ significa que o ocorreu um erro no processo.
NNNN= indica o número seqüencial de comandos executados na impressora (4 dígitos)
RRRRRRRRRRRRR = valor inteiro do pagamento (13 dígitos)
CC = valor decimal do pagamento, os centavos no caso (2 dígitos)
- = indicador de crédito ou débito, se “-“ então o cupom ainda não foi completamente quitado, se “+” então deve ser
efetuada a operação de troco.
4. Fechar o arquivo do driver ao finalizar o aplicativo:
FCLOSE(HANDLE)
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 42 / 46
Exemplo da resposta:
"+9999000000000123450-", onde "0000000001234” é o valor Inteiro, “50” são os centavos e “-“
quer dizer que esse é o débito do cupom, ou seja, é o valor que falta ser pago, se esse indicador de crédito
fosse ”+” estaria sinalizando que o valor informado seria o troco do cupom aberto. Nesse exemplo o valor do
débito é de R$ 1234,50.
75. Como utilizar programação direta em impressoras fiscais?
Programação Direta usando o protocolo STX/ETX
Para acessar a porta serial diretamente, consulte o Manual de Programação da Impressora Fiscal para saber os comandos.
Em nosso site, a seção Perguntas e Respostas (entre através da seção Download ou Suporte Técnico) tem muita coisa
sobre a formatação dos comandos.
Dicas:
1) Sempre observe a configuração da comunicação serial do ECF, geralmente está configurado assim:
Protocolo: STX/ETX
Velocidade: 9600 bps
Paridade: Nenhuma (Sem)
Bits de Parada: 1
Bits de Dados: 8
ACK/NACK: Desabilitado
BCC: Desabilitado
2) Para implementar o protocolo STX/ETX:
** Enviando o comando: observe que o primeiro caracter obrigatoriamente deve ser o <STX> - chr(02) - e o último caracter
deve ser o <ETX> - chr(03). O ECF só analisa o comando após receber o caracter <ETX>.
** Recebendo a resposta: observe que obrigatoriamente o primeiro caracter a ser tratado pelo seu aplicativo deve ser o
<STX> - chr(02) - e o último deve ser o <ETX> - chr(03). Seu aplicativo deve analisar a resposta, somente depois de
receber o <ETX>.
3) Para enviar um comando:
<STX>+<ESC>+"$" + comando + <ETX>
** Leitura X: <STX> <ESC> "$150" <ETX>
** Leitura X: chr(02) + chr(27) + "$150" + chr(03)
4) Para receber a resposta:
<STX> + sinal + sequencial + cod.erro + mensagem + <ETX>
Onde:
* sinal: pode ser "+" (Sucesso), "-" (Erro) ou "S" (Status)
* sequencial: 4 números sequencias para comandos tratados pelo ECF
* cod.erro: 2 números que indicam o código da resposta -> "00" = Sucesso ; >00 = Erro
* mensagem: mensagem resumida indicando o erro (ou Sucesso). Em comandos de leituras seriais, a resposta virá nesse
campo.
Exemplos:
Sucesso: <STX> "+023400Sucesso" <ETX>
Erro: <STX> "-023410Erro qualquer" <ETX>
5) Lembre-se:
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 43 / 46
<STX> = Chr(02)
<ETX> = Chr(03)
<ESC> = Chr(27)
Exemplos mais comuns:
Leitura X Sem Relatório Gerencial: <STX>ESC$150<ETX>
Abrir cupom fiscal: <STX>ESC$10<ETX>
Venda de item: <STX>ESC$11G000044800000000109T01%0000un2008800000273BATATA78901234567890<ETX>
Totalizar Cupom: <STX>ESC$060000<ETX>
Pagamento: <STX>ESC$0701000000000000100<ETX>
Fechar Cupom Fiscal: <STX>ESC$08000<ETX>
Cancelar Cupom Fiscal Anterior: <STX>ESC$07<ETX>
Abrir Cupom Não Fiscal Vinculado: <STX>ESC$20<ETX>
Impressão de Linhas não Fiscais: <STX>ESC$2601234567890123456789012345678901234567890<ETX>
Encerrar Comprovante Não Fiscal: <STX>ESC$21<ETX>
Emitir leitura X com relatório gerencial: <STX>ESC$151<ETX>
Enviar o comando de linhas não fiscais para montar Rel Ger: <STX>ESC$26112345678901234567890<ETX>
Fechar Rel Ger: <STX>ESC$21<ETX>
76. Contador de Ordem de Operações (COO) X Contador de Cupons Fiscais (CCF)
1. Para obter a QUANTIDADE de cupons ficais emitidos no dia até determinado momento:
Veja na Leitura X:
CONT CF INICIAL: Contador de cupons fiscais inicial do dia
CONT CF FINAL: Contador de cupons fiscais final do dia
Observe que, somente a abertura de Cupom Fiscal altera os contadores acima.
A quantidade de cupons ficais emitidos até um determinado momento durante o dia é a subtração do CONT CF
FINAL do CONT CF INICIAL somado de 1:
QTDE DE CUPONS FISCAIS EMITIDOS ATÉ O MOMENTO = (CONT CF FINAL - CONT CF INICIAL) +1
Exemplo:
CONT CF INICIAL
CONT CF FINAL
0000005
0000007
Quantidade de Cupons Fiscais emitidos até o momento: (7 - 5) + 1 = 3
Na Redução Z e em leituras seriais os contadores de cupons fiscais irão se manter inalterados:
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 44 / 46
CONT CF INICIAL
CONT CF FINAL
0000005
0000007
Em todas as Leitura X e em leituras seriais antes do primeiro Cupom Fiscal do dia, os contadores de cupons
fiscais irão se manter inalterados:
CONT CF INICIAL
CONT CF FINAL
0000005
0000007
Após o primeiro cupom fiscal do dia, os contadores de cupons ficais ficarão igualados:
Antes do primeiro cupom fiscal do dia:
CONT CF INICIAL
CONT CF FINAL
0000005 = 000008
0000007 + 1 = 000008
Após o primeiro cupom fiscal do dia:
CONT CF INICIAL
CONT CF FINAL
0000008
0000008
Pela regra para obter a quantidade de cupons ficais emitidos durante o dia até o momento teremos:
(CONT CF FINAL - CONT CF INICIAL) +1
(000008 - 000008) + 1 = 1
Veja que é exatamente a quantidade de cupons que foram emitidos até o momento, ou seja, um único Cupom
Fiscal.
Para obter o CONT CF FINAL e CONT CF INICIAL através dos comandos da impressora, use:
<ESC> + "$" + "34M82"
Resposta:
"+" + "nnnn" + "111111" + "222222"
"+" : indica sucesso na leitura dos parâmetros
"nnnn" : indica o número sequencial de comandos executados na impressora
"111111": indica o CONT CF FINAL com 6 dígitos
"222222": indica o CONT CF FINAL com 6 dígitos
Para saber o NÚMERO do Cupom Fiscal Inicial e Final:
Veja a Leitura X:
COO = Contador de Ordem de Operações atual.
Este contador é incrementado em todas as operações em que é impresso o clichê do cliente (razão social), como
por exemplo:
Redução Z
Leitura X
Abertura de Cupom fiscal
Abertura de Cupom não fiscal vinculado ou não vinculado
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 45 / 46
Cancelamento de cupom não fiscal não vinculado
Para saber o número do Cupom Fiscal Inicial e Final do dia, é necessário que o aplicativo obtenha o COO da
Impressora Fiscal em determinados momentos:
Após abrir o primeiro Cupom Fiscal do dia
Após abrir o último Cupom Fiscal do dia
Para obter o COO através dos comandos da impressora use:
<ESC> + "$" + "34M41"
Resposta:
"+" + "nnnn" + "111111"
"+" : indica sucesso na leitura dos parâmetros
"nnnn" : indica o número sequencial de comandos executados na impressora
"111111": indica o COO atual.
77.
Como eu posso testar a Impressora Fiscal?
Recomendamos que use um utilitário disponível em nosso site chamado <MecafECF.exe> para fazer alguns
testes.
Instruções:
Para fazer download acesse:
•
<www.diebold.com.br>
•
Seção Download
•
Escolha "Impressora Fiscal IF113I"
•
Escolha MecafECF.EXE
•
Este utilitário não necessita de qualquer Driver ou DLL para se comunicar com o ECF;
•
Deve ser usado em uma janela Prompt do DOS;
•
A porta de comunicação defualt é a COM1;
•
Para mudar a porta de comunicação para COM2, digite: MecafEcf P=2 <ENTER>
•
Ligue o ECF, e conecte o cabo de comunicação padrão RS232.
•
Para testar a transmissão de comandos para o ECF, solicite a emissão de uma Leitura X através do menu
"Operações Fiscais"
•
Se a Leitura X não foi impressa, o sinal de transmissão está com problema;
•
Se a Leitura X foi impressa, o sinal de transmissão está Ok;
•
Para testar a recepção de respostas do ECF, use a última opção do Menu: "Diagnóstico do ECF"
•
Se ocorrer o erro de Timeout, significa que pode haver algum problema no sinal de recepção da resposta do
ECF.
Se a tela de diagnóstico de ECF, foi montada sem qualquer erro, o sinal de recepção está Ok;
•
Havendo algum problema, verifique o cabo de comunicação, a saída serial do micro, a saída serial do ECF;
Verifique na tela de diagnóstico, se há algum erro com o ECF. Caso ocorra Timeout, o ECF está incomunicável.
Diebold – Impressoras
Impressoras Fiscais - Perguntas e Respostas mais Freqüentes
Rev. 1.04
Página: 46 / 46
Download

Impressoras Fiscais Perguntas e Respostas mais