Escolar Documentos
Profissional Documentos
Cultura Documentos
Leia atentamente
este manual antes de
utilizar este produto.
:: Impressoras Fiscais
:: Mini Impressoras
:: Leitores
:: Microterminais
::Impressora Fiscal
MP-40 FI II
:: Pinpad
:: Customer Display
:: Gaveta
:: Blocos Impressores
:: Terminal de Consulta
:: Mecanismos Impressores
AT E N Ç Ã O
Este certificado é uma vantagem adicional oferecida ao consumidor pela BEMATECH Indústria e Comércio
de Equipamentos Eletrônicos S/A. Para que as condições de garantia nele previstas tenham validade, é
indispensável a apresentação da Nota F iscal de venda ao Consumidor,
Fiscal Consumidor e ao cumprimento de todas as
recomendações expressas no Manual do Usuário que acompanha o produto, cuja leitura é recomendada.
2. Constatado o eventual defeito de fabricação, o Consumidor deverá entrar em contato com um dos
Postos de Serviços Autorizados de Assistência Técnica. O exame e reparo do produto, dentro
do prazo de garantia, só poderá ser efetuado por estes Postos. Todos os contatos com os
Postos de Serviços Autorizados, bem como o encaminhamento para reparos e a retirada do
produto destes Postos devem ser feitos exclusivamente pelo Consumidor, não estando nenhum
revendedor autorizado a executar estas ações em seu lugar. Todos os eventuais danos ou
demoras resultantes da não observância destas recomendações fogem à responsabilidade da
BEMATECH.
4. Caso não haja Posto de Serviços Autorizados de Assistência Técnica em sua localidade, o Consumidor
será responsável pelas despesas e pela segurança do transporte de ida e volta do produto a um
Posto situado em outra localidade.
5. Por tratar-se de garantia complementar à legal, fica convencionado que a mesma perderá totalmente
sua validade se ocorrer uma das hipóteses expressas a seguir:
a) Se o defeito for ocasionado pelo mau uso do produto pelo consumidor ou terceiros estranhos à
BEMATECH.
b) Se o produto for examinado, alterado, ajustado ou consertado por pessoa não autorizada pela
BEMATECH.
c) Se ocorrer ligação deste produto em instalações elétricas inadequadas, diferentes das
recomendadas no Manual do Usuário.
d) Se o dano tiver sido causado por acidentes (queda), fogo, raios, inundações, desabamentos,
produtos químicos, terremotos, explosões.
e) Se o número de série, que identifica o produto, estiver adulterado ou rasurado.
f) Se a Nota Fiscal de compra apresentar rasuras ou modificações.
6. Excluem-se da garantia os itens consumíveis, tais como: fita de impressão e bobina de papel (se
existirem).
1
Impressora ................................................................................... 67
OPERAÇÃO
Capítulo 20 – Utilizando a Comunicação Direta com a Impressora
Apêndice I
Apêndice II
14 Conector de gaveta 2
3 1
15 Entrada DC 15
01 02
CAPÍTULO 2 ............................................... COLOCANDO A FITA
INSTALAÇÃO
Para colocar a fita abra a
tampa frontal conforme a figura
RETIRANDO DA EMBALAGEM ao lado. Seguindo os passos 1
e 2.
Retire a impressora da embalagem e verifique se todos os componentes abaixo
relacionados estão presentes e em perfeitas condições:
1 levante
" impressora; 2 levante
" cabo de força; Guarde a
2
" cabo de comunicação serial; embalagem para
" fita de impressão; um eventual 1
INSTALANDO A IMPRESSORA
1 dissipador de calor
Coloque o cartucho da fita de
Conectando à Rede Elétrica 2 fita tintada impressão, conforme a figura mostrada
3
3 guia da fita 1 anteriormente; passe a fita pela frente
Certifique-se de que a impressora esteja desligada e, em caso afirmativo, ligue
das agulhas de impressão e entre a guia
o plug de força à rede. Observe que a tomada para o plug de força deve ser de três
2 da fita.
pinos, sendo que o pino central (ver figura abaixo) deve ser conectado à terra. A fonte
externa abrange 95-240volts.
1 botão (2 a 3 voltas)
03 04
COLOCANDO O PAPEL
CAPÍTULO 3 ...............................................
OPERAÇÃO
Para colocar a bobina de papel (duas vias), COMUNICAÇÃO COM O OPERADOR
abra a tampa conforme o desenho ao lado, coloque
a bobina no berço, dobre a ponta do papel e depois
Painel Dianteiro.
insira na entrada de papel (estas informações
também estão na tampa da impressora). Led POWER - Indica se a impressora esta ligada.
correto
Led Error - Se estiver aceso a impressora não está pronta
para imprimir (tampa pode estar aberta) se
Não Não Correto estiver piscando a cabeça de impressão pode
estar muito quente.
Led JOURNAL OUT - Se aceso, indica Fim de Papel na impressora
(bobina).
Validation/slip - Este indicador estará piscando quando a
impressora receber comandos de autenticação
(ou cheque) e aceso se o documento estiver
inserido na máquina.
Tecla PAPER FEED - Use esta tecla para avançar o papel .
Release - Esta tecla solta os roletes de papel para
Depois de inserir o papel na calha
impressão de cheques.
pressione a alavanca (carrega papel) para
que o papel seja tracionado até o ponto
1 serrilha Painel Traseiro.
de impressão, coloque o início do rolo de
2 carrega papel papel no rebobinador, girando três vezes, botão de leitura ”X”
feche a impressora e ela estará pronta
led de falha Indica se a impressora está em falha.
para imprimir. Certifique-se que a dobra
(vermelho)
está bem definida, para que o papel não
1
enrosque na guia da fita de impressão. led de on-line Indica que a impressora está pronta para receber
(verde) comandos.
2
led power - (verde) Indica se a placa fiscal recebendo a alimentação
do sistema.
SENSORES
3 voltas
A MP40 possui dois sensores que permitem o monitoramento das condições de
papel na máquina.
O Sensor de Pouco Papel, localizado sob a bobina, detecta quando a bobina
está em seu final.
Esta é a forma de colocar o documento na
impressora, para a impressão de cheques, O Sensor de Fim de Papel, localizado sobre a calha de entrada do papel, indica
sendo o pré-impresso para cima e o campo se existe papel inserido ou não no mecanismo.
numérico primeiro. O estado destes sensores pode ser obtido através dos bits 6 e 7 da palavra de
status ST1 (ver Capítulo 4).
05 06
CAPÍTULO 4 ............................................... LIGAÇÃO DOS CABOS
INTERFACE DE COMUNICAÇÃO A seguir é apresentada a forma como devem ser interligados os pinos dos
conectores caso seja utilizado um computador compatível com o IBM-PC.
INTERFACE SERIAL Nota: A maioria dos problemas de comunicação pela interface serial é causada
pela ligação errada dos pinos dos conectores.
Pino Sinal Direção Descrição Obs: Em negrito está o protocolo e abaixo está um exemplo de emissão de
Leitura “X”.
2 Rx IN Através deste pino os dados são recebidos pela
impressora. STX NBL NBH CMD CSL CSH
3 Tx OUT Através deste pino são transmitidos os dados da HEX 02 04 00 1B 06 21 00
impressora ao dispositivo a ela conectado. ASCII . . . . . % .
DEC 2 4 0 27 6 33 0
7 RTS OUT Baixo, a impressora pode receber dados.
Alto, a impressora não pode receber dados.
Onde:
8 CTS IN Baixo, a impressora envia dados (se houver).
Alto, a impressora para de enviar dados, se estiver STX - byte indicativo de início de transmissão (02h).
enviando.
NBL - byte menos significativo, da soma do número de bytes que serão
5 GND Terra lógico.
enviados (soma do Byte CMD, CSL e CSH).
CSL - byte menos significativo, da soma dos valores dos bytes que
compõem o comando e seus parâmetros(CMD).
07 08
CSH - byte mais significativo, da soma dos valores dos bytes que compõem Leitura da Memória Fiscal, Retorno de Alíquotas, Retorno dos Totalizadores
o comando e seus parâmetros(CMD). Parciais, Retorno do Subtotal, Retorno do Número do Cupom e Retorno de Variáveis,
estes comandos estão exemplificados no CAPÍTULO 5.
Os exemplos de utilização deste Protocolo podem ser observados no CAPÍTULO
21. c) Se a seqüência enviada estiver incorreta, ou ocorra um timeout na recepção
dos dados pela impressora, a mesma responderá ao aplicativo da seguinte
b) Se a seqüência enviada estiver correta, a impressora responderá ao aplicativo maneira:
da seguinte maneira:
NAK
ACK ST1 ST2
Onde:
Onde:
NAK - byte indicativo de recebimento incorreto (15h - 21d)
ACK - byte indicativo de recebimento correto (06H).
Observações:
ST1 e ST2 - bytes de estado da impressora fiscal.
Um erro de timeout ocorre quando o intervalo de tempo, entre o envio de um byte
Em ST1: e o seguinte dentro da seqüência do protocolo, for maior que 2 segundos
bit 7 128 fim de papel.
Sendo que o erro A impressora retorna ACK ou NAK no momento em que ela recebe o ultimo byte
bit 6 64 pouco papel.
retornado pode ser a de check-sum; os bytes ST1 e ST2 são retornados após o tratamento do comando,
bit 5 32 erro no relógio.
soma de dois ou mais bits, portanto o intervalo de tempo entre o envio do ACK e dos bytes ST1 e ST2 pode variar de
bit 4 16 impressora em erro.
se o valor de retorno for 129 alguns milisegundos (tipicamente) até alguns segundos (principalmente para os
bit 3 8 primeiro dado de CMD não foi ESC (1BH).
(128 + 1) ocorreram dois comandos de leitura “X” e redução “Z”.
bit 2 4 comando inexistente.
erros do bit 7 e do bit 0.
bit 1 2 cupom aberto.
bit 0 1 número de parâmetros de CMD inválido.
Em ST2:
bit 7 128 tipo de parâmetro de CMD inválido.
bit 6 64 memória Fiscal lotada.
bit 5 32 erro na Memória RAM CMOS Não Volátil.
bit 4 16 alíquota não programada.
bit 3 8 capacidade de alíquotas programáveis lotada.
bit 2 4 cancelamento não permitido.
bit 1 2 CGC/IE do proprietário não programados.
bit 0 1 comando não executado.
Observações:
09 10
CAPÍTULO 5 ............................................... CAPÍTULO 6 ...............................................
MODO TREINAMENTO COMANDOS FISCAIS
A impressora fiscal sai de fábrica no modo treinamento, neste modo é possível Antes de mostrarmos a operação de sua impressora fiscal no modo fiscal,
utilizá-la para fins de teste e desenvolvimento de aplicações, possuindo toda a vamos detalhar todos os documentos fiscais emitidos pelo equipamento para que a
funcionalidade da impressora em modo normal de operação, porém com as seguintes apresentação dos comandos seja melhor compreendida. Os demais cupons / relatórios
características: serão descritos nos comandos.
O CUPOM FISCAL
1) Imprime a expressão “Trei” no lugar do logotipo fiscal “BR”.
4 - CGC/CPF do Consumidor,
6) Grava os dados de intervenção técnica e Redução “Z” na EPROM FISCAL.
5 - Contador Geral de Comprovante Não Fiscal (GNF).
A impressora sai do modo treinamento quando é efetuada a gravação na 6 - Número seqüencial de cada cupom (COO),
memória fiscal do CGC/IE primeiro proprietário, encerrando-se assim definitivamente o
Modo de Treinamento. 7 - Número seqüencial do equipamento, atribuído pela empresa (número do
caixa(ECF) e loja(LJ)),
11 12
12 - Mensagem promocional, 5 - Logotipo Fiscal (BR estilizado)
Obs: Os itens 2, 7, 8 e 12 são programáveis. Os demais são automaticamente 11 - Versão do Software Básico e
impressos quando os comandos de ABERTURA DE CUPOM e VENDA DE
ITEM forem enviados à impressora fiscal. 12 - GT codificado.
Importante:
A REDUÇÃO “Z”
1) Deverá ser efetuada uma leitura ”X” no início e outra no fim de cada Fita
Detalhe. A REDUÇÃO “Z” é um relatório emitido por sua impressora fiscal que, quando
executado, envia o conteúdo do Grande Total para a Memória Fiscal e zera todos os
2) As bobinas da Fita Detalhe devem ser mantidas em ordem cronológica pelo totalizadores parciais.
prazo de 10 anos, contados à partir do último registro.
Este relatório deve ser mantido à disposição dos fiscais, junto ao estabelecimento
por 10 anos. Após a redução “Z” a impressora fiscal não permite mais operações
A LEITURA “X” fiscais, como abertura de cupons fiscais, até que seja alterada a data de seu relógio
interno (que é automático), ou seja até o dia seguinte. Contém as seguintes informações:
A LEITURA “X” é um relatório emitido por sua impressora fiscal, que deve ser
executado no início de cada dia de trabalho. A função principal deste relatório é a de dar 1 - Inscrição REDUÇÃO “Z”
uma “fotografia” do movimento diário da impressora no momento em que o mesmo foi
emitido.Este relatório deve ser mantido junto à impressora durante o decorrer do dia, 2 - Razão social, endereço e números de CGC e Inscr. Estadual da empresa
para exibição aos fiscais. Contém as seguintes informações: emitente do cupom,
2 - Razão social, endereço e números de CGC e Inscr. Estadual da empresa 4 - Número indicado no Contador de Ordem de Operação (COO) e do Contador
emitente do cupom; Geral de Comprovante Não Fiscal (GNF) (números gravados na memória do
equipamento),
3 - Valores acumulados em cada totalizador parcial de operação separadamente;
5 - Número seqüencial do equipamento, atribuído pela empresa (número do
4 - Versão do programa fiscal utilizado e; caixa (ECF) e loja (LJ)),
13 14
6 - Número seqüencial do relatório ( número indicado no Contador de 1 - Inscrição “Leitura da Memória Fiscal”,
Reduções),
2 - Número de série do equipamento (FAB),
7 - Do Totalizador Geral:
a - valor acumulado no final do dia e 3 - Número da Inscrição Estadual e CGC do usuário atual e dos anteriores, se
b - diferença entre os valores do acumulado no final do dia e no final do dia existirem, com a respectiva data e hora de gravação, em ordem, no início de
anterior (venda bruta). cada cupom,
8 - Valor acumulado no totalizador parcial de cancelamento; 4 - Logotipo Fiscal (BR estilizado ou TREI, se estiver em modo Treinamento),
9 - Valor acumulado no totalizador parcial de desconto; 5 - Valor total da venda bruta diária, data e hora em que o total foi gravado,
10 - Diferença entre o item 7b e a soma dos itens 8 e 9 [resultado = 7b - (8+9)], 6 - Soma das vendas brutas diárias do período relativo à leitura solicitada,
isto é, venda líquida;
7 - Número do Contador de Reduções,
11 - Valores acumulados nos totalizadores parciais de operações;
a - com substituição tributária; 8 - Contador de Reinicio de Operação com a data da intervenção,
b - isentas;
c - não-tributadas e; 9 - Contador de Ordem de Operação,
d - tributadas.
10 - Número seqüencial do equipamento, atribuído pela empresa (número do
12 - Valores em que incide o ICMS, o montante e as alíquotas incidentes em caixa e loja),
cada um, do correspondente imposto debitado;
11 - Dia, mês, ano e hora da emissão da leitura,
13 - Totalizadores Parciais e contadores de operações não-sujeitas ao ICMS;
12 - Versão do programa fiscal e
14 - Versão do programa fiscal utilizado e;
13 - Valor acumulado nos Totalizadores e Alíquotas.
15 - Logotipo Fiscal (BR estilizado ou TREI, se estiver em modo Treinamento).
Observação:
Observação:
As informações acima são impressas, logo após o envio do comando de emissão
As informações acima, são impressas logo após o envio do comando de emissão da “Leitura da Memória Fiscal”. Sendo assim, nenhuma destas informações pode ser
da Redução “Z”. Sendo assim, nenhuma destas informações pode ser programável. programável.
A Redução “Z” deve ser executada diariamente, caso haja movimento no dia ( por A Leitura da memória fiscal é feita através do seu aplicativo, ou pode ser obtida
movimento entende-se emissão de cupom fiscal ou recebimentos não sujeitos ao logo após a Leitura “X”, automaticamente (pressionando se o teclado ao ligar a
ICMS), a impressora possui uma tolerância para a emissão deste relatório até as 6:00 impressora com papel).
horas. do dia seguinte à data do movimento. Caso a impressora esteja ligada após às
6:00 horas. e ainda não tenha sido efetuada a Redução “Z” relativa ao movimento do dia
anterior a mesma irá efetuar automaticamente o fechamento do cupom em andamento
seguido de seu cancelamento (caso esteja aberto ) e emitirá uma Redução “Z”
automaticamente.
15 16
CAPÍTULO 7 ............................................... COMANDOS DE INICIALIZAÇÃO
COMANDOS
""ALTERAÇÃO DO SÍMBOLO DA MOEDA CORRENTE
!""
A seguir apresentamos todos os comandos fiscais de sua impressora fiscal.
Com eles você poderá operá-la. Comando ESC 01 Parâmetro (obrigatório)
Símbolo da Moeda (ASCII) com tamanho de 2 bytes.
Os comandos são classificados segundo os seguintes grupos:
Descrição
Caso seja passado “ R” a impressora apresentará
!""
""COMANDOS
"" DE INICIALIZAÇÃO
nos cupons o símbolo “ R$”. O default é “ R”.
!""
""COMANDOS
"" DO CUPOM FISCAL Tamanho de Retorno
3 bytes (Status)
""""COMANDOS DOS RELATÓRIOS FISCAIS
!""
""""COMANDOS DAS OPERAÇÕES NÃO FISCAIS
!"" !""""ADIÇÃO DE ALÍQUOTA TRIBUTÁRIA
!""
""COMANDOS
"" DE INFORMAÇÕES DA IMPRESSORA Comando ESC 07 Parâmetro 1 (obrigatório)
Percentual da alíquota da situação tributária. ASCII
""COMANDOS DE AUTENTICAÇÃO
!""
"" numérico no formato XX,XX% com tamanho de 4
bytes.
""""COMANDOS DE GAVETA DE DINHEIRO
!""
Parâmetro 2 (opcional)
""COMANDOS DE IMPRESSÃO
!""
"" DE CHEQUE Com tamanho de 1 byte, sinaliza se a nova situação
tributária é relativa ao ISS ou ao ICMS. “0” para ICMS
!""
""COMANDOS
"" DE IMPRESSÃO ou “1” para ISS. O default é ICMS.
Tamanho de Retorno
3 bytes (Status)
IMPORTANTE
Observação: Uma vez programada só poderá ser retirada com uma Intervenção
O Tamanho de Retorno que está sendo descrito junto aos comandos, Técnica.
pode variar de acordo com o forma de programação.
Através deste comando, será programada a alíquota Tnn, se o comando for
executado novamente será programada a próxima alíquota Tnn, em ordem crescente,
#" Se for utilizado o DRIVER DOS (Capítulo 18), os Retornos virão na automaticamente. Exemplo: T01, T02, T03, T04 ... T16.
seqüência do ACK, ST1 e ST2.
""PROGRAMAÇÃO DO HORÁRIO DE VERÃO
!""
#" Se for utilizado a DLL (Capítulo 19), os Retornos virão em arquivos
como: STATUS.RET (retorno em forma de texto), STATUS.BIN (retorno Comando ESC 18 Descrição
em forma binária) e MP20FI.RET (retorno de informações da Ativa/Desativa o horário de verão na impressora.
impressora).
Tamanho de Retorno
#" Se for utilizado Comunicação Direta (Capítulo 20), os Retornos virão 3 bytes (Status)
na ordem: ACK, [retorno], ST1 e ST2
Observação: Se o relógio interno já estiver no horário de verão, o equipamento
17 18
irá atrasar o relógio em 1 (uma) hora, caso contrário irá adiantá-lo em 1 (uma) ""PROGRAMAÇÃO DE ESPAÇO ENTRE LINHAS
!""
hora.
Comando ESC 60 Parâmetro (obrigatório)
A impressora só executará o comando, caso não tenha havido nenhuma
Espaçamento em dots entre as linhas, com o
movimentação no dia, ou logo após a Redução “Z”.
tamanho de 1 byte.
Para entrada do Horário de Verão, basta não ter movimentação no dia, ou após
Tamanho de Retorno
a Redução “Z”.
3 bytes (Status).
Para saida do Horário de Verão, execute o comando 1 (uma) hora após a Redução
Observação: Este comando só será executado caso não tenha havido movimento
“Z”.
no dia, ou logo após a Redução “Z”.
Aparecerá a letra “v” minúscula entre a DATA e a HORA no final do Cupom Fiscal,
caso a impressora estiver em horário de verão. !""PROGRAMAÇÃO DE LINHAS ENTRE CUPONS
Tamanho de Retorno
3 bytes (Status)
Observação: Este comando só será executado caso não tenha havido movimento
no dia, ou logo após a Redução “Z”. É possível adicionar novos totalizadores, porém só
é possível alterá-las mediante Intervenção Técnica.
!""""PROGRAMA TRUNCAMENTO/ARREDONDAMENTO
Tamanho de Retorno
3 bytes (Status)
Observação: Este comando só será executado caso não tenha havido movimento
no dia, ou logo após a Redução “Z”. Uma vez programado, ficará residente na memória
da impressora. O padrão da impressora é Truncamento.
19 20
!""HABILITA CUPOM ADICIONAL Os Comandos de Programação de Unidade de Medida e de Descrição de item
com até 200 caracteres atuam como modificadores, se executados imediatamente
antes dos comandos de Venda de Item (09), Venda de Item com 3 casas no valor
Comando ESC 68 Parâmetro (obrigatório)
Se ímpar habilita o cupom adicional, do contrário unitário (56). É sugerido a utilização de Venda de Item com Entrada de Departamento
desabilita. Tamanho de 1 byte (“1” ou “0”). (63), pois possui como parâmetro estes modificadores.
21 22
!""VENDA DE ITEM
Comando ESC 09 Parâmetro 1 (obrigatório) !""VENDA DE ITEM COM 3 CASAS NO VALOR UNITÁRIO
Código do Produto (ASCII alfanumérico), com tamanho
de 13 bytes. Comando ESC 56 Parâmetro 1 (obrigatório)
Código do Produto (ASCII alfanumérico), com
Parâmetro 2 (obrigatório) tamanho de 13 bytes.
Descrição do Produto (ASCII), com o tamanho de 29
bytes. Parâmetro 2 (obrigatório)
Descrição do Produto (ASCII), com o tamanho
Parâmetro 3 (obrigatório) de 29 bytes.
Indice da situação tributária (ASCII) de “01” até “16”
para tributados ; “II”, “FF”, “NN” para isenção, substituição Parâmetro 3 (obrigatório)
tribu tária e não incidência respectivamente. Índice da situação tributária (ASCII) de “01” até
Tamanho de 2 bytes. “16” para tributados ; “II”, “FF”, “NN” para isenção,
substituição tributária e não incidência
Parâmetro 4 (obrigatório) respectivamente. Tamanho de 2 bytes.
Quantidade Inteira (ASCII numérico no formato XXXX)
com o tamanho de 4 bytes, ou Quantidade Fracionária Parâmetro - 4 (obrigatório)
(ASCII numérico no formato XXXX,XXX) com o tamanho Quantidade Inteira (ASCII numérico no formato
de 7 bytes. XXXX) com o tamanho de 4 bytes, ou Quantidade
Fracionária (ASCII numérico no formato
Parâmetro 5 (obrigatório) XXXX,XXX) com o tamanho de 7 bytes.
Valor Unitário (ASCII numérico no formato XXXXXX,XX)
com o tamanho de 8 bytes. Parâmetro 5 (obrigatório)
Valor Unitário (ASCII numérico no formato
Parâmetro 6 (obrigatório) XXXXX,XXX) com o tamanho de 8 bytes.
Desconto Percentual (ASCII numérico no formato
XX,XX%) com o tamanho de 4 bytes, ou Desconto por Parâmetro 6 (obrigatório)
Valor (ASCII numérico no formato XXXXXX,XX) com o Desconto Percentual (ASCII numérico no
tamanho de 8 bytes. formato XX,XX%) com o tamanho de 4 bytes, ou
Desconto por Valor (ASCII numérico no formato
Tamanho de Retorno XXXXXX,XX) com o tamanho de 8 bytes.
3 bytes (Status)
Tamanho de Retorno
3 bytes (Status).
23 24
!""VENDA DE ITEM COM ENTRADA DE DEPARTAMENTO, DESCONTO E UNIDADE !""CANCELAMENTO DE ITEM GENÉRICO
DE MEDIDA
Comando ESC 31 Parâmetro 1 (obrigatório)
Parâmetro 1 (obrigatório) Número do item a ser cancelado (ASCII numérico),
Comando ESC 63
Índice da situação tributária. ASCII de “01” até “16” para com o tamanho de 4 bytes.
tributados; “II”, “FF”, “NN” para isenção, substituição
tributária e não incidência respectivamente. Com Tamanho de Retorno
o tamanho de 2 bytes. 3 bytes (Status)
Parâmetro 10 (obrigatório) Observação: No caso de Acréscimo ou Desconto por Valor , o valor descontado
Descrição do produto (ASCII com terminador de string ou acrescido deve ser menor que o subtotal do cupom.
0 (nulo)), com até 201 bytes.
Tamanho de Retorno
3 bytes (Status)
25 26
!""PROGRAMA/VERIFICA FORMA DE PAGAMENTO !""PROGRAMA A DESCRIÇÃO DAS FORMAS DE PAGAMENTO
Comando ESC 71 Parâmetro 1 (obrigatório) Parâmetro 1 (obrigatório)
Comando ESC 73
Descrição da forma de pagamento (ASCII), com o Descrição da forma de pagamento para o totalizador
tamanho de 16 bytes. “02”, com o tamanho de 16 bytes.
Observações: São permitidas até 50 formas de pagamento. A Forma de Paga- Observação: A Forma de Pagamento “01” é default do equipamento e é “Dinheiro”.
mento “01” é default do equipamento e é “Dinheiro“. Este comando só será executado Este comando só será executado caso não tenha havido movimento no dia. Após a sua
após o comando 32 (Inicia Fechamento do Cupom). Após a sua totalização na Redução totalização na Redução “Z” esta Forma será apagada, tendo que ser programada
“Z” esta Forma será apagada, tendo que ser programada novamente. novamente.
Parâmetro 3 (opcional) Observação: A impressão será limitada em até 8 linhas. Se não houver sido
Descrição opcional para a forma de pagamento vendido nenhum item não será permitido o fechamento do cupom.
(ASCII), até 80 caracteres.
!""CANCELAMENTO DE CUPOM
Tamanho de Retorno
3 bytes (Status). Tamanho de Retorno
Comando ESC 14
3 bytes (Status).
Observações: Caso a forma de pagamento exceda o valor total do cupom, não
serão mais permitidas novas formas de pagamento. Observação: Só será executado imediatamente após a emissão de um Cupom
Fiscal.
Caso a forma de pagamento não seja a “01” (Dinheiro), e o troco seja maior
que o valor na forma de pagamento Dinheiro o comando não será executado, pois o Para que o Cupom Fiscal seja cancelado logo após a sua abertura, deverá ser
troco é retirado de Dinheiro (Deve haver Dinheiro em caixa para dar o troco.). Pode vendido, pelo menos, 1 (um) item qualquer. A impressora imprimirá a mensagem
ser usado o comando de SUPRIMENTO para informar a quantidade de dinheiro em “Cupom Fiscal Cancelado”, fechando-o em seguida.
caixa no início do dia.
27 28
!""PROGRAMAÇÃO DA UNIDADE DE MEDIDA Este comando permite Estornar valores de uma Forma de Pagamento e inserir
em outra Forma de Pagamento. O valor a ser estornado não pode exceder o total da
Comando ESC 62 51 Parâmetro (obrigatório) Forma de Pagamento de origem.
Descrição da unidade de medida (ASCII), com o
tamanho de 2 bytes. COMANDOS DE RELATÓRIOS FISCAIS
Tamanho de Retorno
3 bytes (Status).
!""EMISSÃO DE REDUÇÃO “Z”
Comando ESC 62 52 Parâmetro (obrigatório) Observação: Somente será aceita uma alteração de +/- 5 minutos com relação
Descrição do item (ASCII), com até 200 bytes. ao relógio interno do ECF, valores fora da faixa serão limitados a 5 minutos.
Tamanho de Retorno A emissão da Redução “Z” fecha a movimenação do ECF, liberando-o, só após a
3 bytes (Status). virada de seu relógio interno.
Observações: O próximo comando de venda de Item irá imprimir a descrição !""EMISSÃO DE LEITURA “X”
com este tamanho. O comando tem validade somente para a impressão de um Item,
voltando ao default que é de 29 caracteres, passados nos comandos de Venda de Item Comando ESC 06 Tamanho de Retorno
comum. 3 bytes (Status).
O comando de Venda de Item tem que ser utilizado normalmente, inclusive com
a sua Descrição (29 caracteres), pois esta Descrição, será substituída pela que foi !""EMISSÃO DE LEITURA DA MEMÓRIA FISCAL
programada no comando 62 52.
a) Emissão Com Intervalo de Datas:
!""ESTORNO DE FORMAS DE PAGAMENTO Parâmetro 1 (obrigatório)
Comando ESC 08
Dia inicial “DD”, com o tamanho de 2 bytes, Mês
Comando ESC 74 Parâmetro 1 (obrigatório) inicial “MM”, com o tamanho de 2 bytes e Ano inicial
Descrição da Forma de Pagamento Origem com o “AA”, com o tamanho de 2 bytes.
tamanho de 16 bytes.
Parâmetro 2 (obrigatório)
Parâmetro 1 (obrigatório) Dia final “DD”, com o tamanho de 2 bytes, Mês final
Descrição da Forma de Pagamento Destino com o “MM”, com o tamanho de 2 bytes e Ano final “AA”,
tamanho de 16 bytes. com o tamanho de 2 bytes.
Parâmetro 3 (obrigatório) Parâmetro 3 (obrigatório)
Valor a ser Estornado com o tamanho de 14 bytes. Saída “I” para impressão ou “R” para recebimento
via interface serial, com o tamanho de 1 byte.
Tamanho de Retorno
3 bytes (Status). Tamanho de Retorno
3 bytes (Status).
29 30
No caso de “R” no parâmetro 3, o recebimento será da seguinte forma:
IMPORTANTE
A impressora enviará ACK após receber o comando seguido dos dois bytes de
STATUS, [ST1] [ST2]. Após tratá-lo, enviará os dados em formato ASCII, terminando com Toda vez que o equipamento é ligado, ou a cada hora (caso esteja ligado,
ETX (03h). sem nenhum tipo de Cupom Aberto e sem Redução “Z” efetuada no dia), a
impressora imprime uma linha com as seguintes informações:
Observação: Se o ANO INICIAL for menor que “54” será considerado como
posterior a 2000. Os dados são enviados pela porta serial como um pacote ASCII. Seu COO, GNF, Venda Bruta, Total de ISS, Cancelamentos, Descontos,
aplicativo deverá tratar estes dados como um arquivo e gravá-los no formato (ASCII). Acréscimo IOF, Acréscimos. Os totalizadores parciais com alíquotas programadas
primeiramente relativos ao ICMS e após relativos ao ISS. Substituição Tributária,
b) Emissão por Intervalo de Reduções: Isenção, Não Incidência.
Parâmetro 4 (obrigatório)
Redução Final “XXXX”, com o tamanho de 4 bytes.
Parâmetro 5 (obrigatório)
Saída “I” para impressão ou “R” para recebimento
via interface serial, com o tamanho de 1 byte.
Tamanho de Retorno
3 bytes (Status).
31 32
COMANDOS DAS OPERAÇÕES NÃO FISCAIS
Exemplo de Leitura “X” !""RELATÓRIO GERENCIAL
Parâmetro 2 (obrigatório)
Valor, com o tamanho de 14 bytes.
Parâmetro 3 (opcional)
Descrição da Forma de Pagamento, com o
tamanho de 16 bytes.
Tamaho de Retorno
3 bytes (Status).
33 34
Observações: O comando para programar o nome do Totalizador Parcial Não
Sujeito ao ICMS, está descrito nos COMANDOS DE INICIALIZAÇÃO.
Parâmetro (opcional)
Valor da Forma de Pagamento, com o tamanho de 14
COMANDOS DE AUTENTICAÇÃO
bytes.
!""USA COMPROVANTE NÃO FISCAL VINCULADO Se decorrido os 5 (cinco) segundos sem o posicionamento do documento, a
impressora retornará ao seu estado normal de operação, retornando “status de comando
Parâmetro (obrigatório) não executado”.
Comando ESC 67
Texto a ser impresso na Forma de Pagamento,
com o tamanho de até 620 bytes. !""PROGRAMA CARACTER GRÁFICO PARA AUTENTICAÇÃO
Tamaho de Retorno Comando ESC 64 Parâmetro (obrigatório)
3 bytes (Status). Com o tamanho de 18 bytes. *Ver explicação
abaixo.
Observações: Este comando poderá ser usado mais de uma vez durante 2
(dois) minutos após a sua abertura. É possível emitir um Comprovante Não Fiscal para Tamaho de Retorno
cada Forma de Pagamento utilizada, exceto para “Dinheiro”. Para fechar este 3 bytes (Status).
comprovante, pode ser usado o comando de Fechamento de Relatório Gerencial. As
Formas de Pagamento usadas na emissão do Comprovante Não Fiscal Vinculado
aparecerão marcadas com um “V” na Leitura “X”. Esquema representativo do parâmetro com exemplo:
35 36
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 COMANDOS DE INFORMAÇÕES DA IMPRESSORA
Bit 0 (1)
Bit 1 (2) !""LEITURA DO ESTADO DA IMPRESSORA
Bit 2 (4)
Bit 3 (8) Comando ESC 19 Tamaho de Retorno
Bit 4 (16) 3 bytes (Status).
Bit 5 (32)
Bit 6 (64) Observação: A impressora fiscal enviará o seu estado atual pela interface.
Bit 7 (128)
* |001|002|004|008|016|032|064|128|064|032|016|008|004|002|001|129|129|129| !""RETORNO DE ALÍQUOTAS
Cada byte é uma coluna, onde o bit menos Comando ESC 26 Tamaho de Retorno
significativo corresponde à agulha mais alta da cabeça 3 bytes (Status).
de impressão. Será impresso: AUT: “logo”, data, loja, 1 byte, indicando o número de Alíquotas
ECF, COO e o valor. cadastradas.
64 bytes com os valores das Alíquotas.
Observação: Uma vez programado, este caracter é mantido na memória da
impressora mesmo que a mesma seja desligada.
!""RETORNO DOS TOTALIZADORES PARCIAIS
COMANDOS DA GAVETA DE DINHEIRO
Comando ESC 27
!""ACIONAMENTO DA GAVETA DE DINHEIRO Observação: São retornados os seguintes dados:
37 38
!""RETORNO DE VARIÁVEIS 23 DATA E HORA ATUAL (ORDEM DIA, MÊS, ANO, HORA,
MIN, SEG) ............................................................................. 06 BCD (6X2dígitos BCD)
Comando ESC 35 Parâmetro (obrigatório) 24 CONTADORES DOS TOTALIZADORES NÃO SUJEITOS
Seleciona informação que será retornada, com o AO ICMS 18 BCD 9X2 (9X4dígitos
tamanho de 1 byte. BCD)
25 DESCRIÇÃO DOS TOTALIZADORES NÃO SUJEITOS AO
ICMS ..................................................................................... 171 BCD 9x19 (9 strings
A seguir é apresentada uma tabela com a variável que será retornada em função com 19 caracteres)
do parâmetro 1(chamado de V), nesta tabela constam o número de bytes que compõem 26 DATA DA ÚLTIMA REDUÇÃO 06 BCD (6X2dígitos BCD)
a variável e o formato dos dados desta variável. 27 DATA DO MOVIMENTO (DIA, MÊS, ANO) 03 BCD (3X2 dígitos BCD)
28 FLAG DE TRUNCAMENTO 01 FF – arredondamento
00 – truncamento
Observação: No formato ASCII os caracteres retornados são ASCII padrão.
29 FLAGS DE VINCULAÇÃO AO ISS ....................................... 02 Bits setados indicam
que o totalizador res-
No formato BCD os caracteres retornados têm o seguinte formato: pectivo é Isnn
30 TOTALIZADOR DE ACRÉSCIMOS ........................................ 07 BCD (14 dígitos BCD)
Se uma variável retornada for de 7 bytes BCD, e seu valor for R$ 1234,56 os 7 31 CONTADOR DE BILHETES DE PASSAGEM .......................... 03 BCD (6 dígitos BCD)
bytes retornados em caracter (14 dígitos BCD) serão: 32 FORMAS DE PAGAMENTO .................................................. 1925
#""1 byte indicando se alguma Forma de Pagamento foi usada no Cupom Fiscal vinculado. (se “1” SIM, se “0”
00 00 00 00 12 34 56. NÃO).
#""16 bytes com a Descrição de cada Forma de Pagamento, incluíndo “Valor Recebido” e “TROCO”.
#""10 bytes (20 dígitos BCD) com o valor das Formas de Pagamento, usando 4 casas decimais.
Através deste exemplo podemos observar que a unidade monetária destes dados #""10 bytes (20 dígitos BCD) com o valor da forma emitida no último Cupom Fiscal, usando 4 casas decimais.
está em centavos, sendo assim estes dados devem ser interpretados pelo aplicativo e #"" 1 byte para cada Forma de Pagamento indicando se a mesma foi usada para a emissão do Cupom Não Fiscal
a posição da vírgula está sempre entre o penúltimo e o último byte enviado para todas Vinculado.
as variáveis que retornem valores monetários. Obs.: São 50 Formas de Pagamento mais o Valor Recebido e o TROCO.
33 RECEBIMENTOS(CNF NÃO VINCULADO) ........................... 1550
[V] VARIÁVEL BYTES FORMATO #""2 bytes (4 dígitos BCD) correspondendo ao Contador Não Fiscal.
00 NÚMERO DE SÉRIE ............................................................... 15 ASCII #""10 bytes (20 dígitos BCD) para cada Recebimento com o valor acumulado e com 4 casa decimais.
01 VERSÃO DO FIRMWARE ..................................................... 02 BCD (4 dígitos BCD) #""19 bytes para cada Recebimento com a sua Descrição.
Obs.: São 50 Recebimentos.
02 CGC/IE .................................................................................. 33 ASCII
03 GRANDE TOTAL ................................................................... 09 BCD (18 dígitos BCD) 34 DEPARTAMENTOS ............................................................... 600
04 CANCELAMENTOS .............................................................. 07 BCD (14 dígitos BCD) #""10 bytes (20 dígitos BCD) com a quantidade de vezes que foi usado.
05 DESCONTOS ........................................................................ 07 BCD (14 dígitos BCD) #""10 bytes (20 dígitos BCD) com o Valor.
06 CONTADOR SEQUÊNCIAL ................................................... 03 BCD (6 dígitos BCD) #""10 caracteres Departamento com a Descrição.
Obs.: São 20 Departamentos.
07 NÚMERO DE OPERAÇÕES NÃO FISCAIS ............................ 03 BCD (6 dígitos BCD)
08 NÚMERO DE CUPONS CANCELADOS ................................. 02 BCD (4 dígitos BCD) 253 RETORNA TIPO DA IMPRESSORA ....................................... Byte 1 – (00) Bilhete de Passagem
09 NÚMERO DE REDUÇÕES ...................................................... 02 BCD (4 dígitos BCD) (FF) Cupom Fiscal
10 NÚMERO DE INTERVENÇÕES TÉCNICAS ............................ 02 BCD (4 dígitos BCD) Byte 2 – (00) Presenter
11 NÚMERO DE SUBSTITUIÇÕES DE PROPRIETÁRIO .............. 02 BCD (4 dígitos BCD) (FF) Gaveta
12 NÚMERO DO ÚLTIMO ITEM VENDIDO .................................. 02 BCD (4 dígitos BCD) Byte 3 – (00) Cutter
13 CLICHÊ DO PROPRIETÁRIO ................................................. 186 ASCII (FF) Autenticação 03 Ver
14 NÚMERO DO CAIXA ............................................................. 02 BCD (4 dígitos BCD) explicação ao lado.
15 NÚMERO DA LOJA ............................................................... 02 BCD (4 dígitos BCD)
16 MOEDA ................................................................................. 02 ASCII Segue abaixo a discriminação do byte de retorno, 17 (Flags Fiscais).
17 FLAGS FISCAIS ................................................................... 01 DESCRIÇÃO ABAIXO
bit 0=1 Cupom fiscal aberto. 1
18 MINUTOS LIGADA ................................................................ 02 BCD (4 dígitos BCD)
19 MINUTOS IMPRIMINDO .......................................................... 02 BCD (4 dígitos BCD)
bit 1=1 Fechamento de formas de pagamento iniciado. 2
20 FLAG DE INTERVENÇÃO TÉCNICA ..................................... 01 55h Modo Normal bit 2=1 Horário de verão(selecionado=1). 4
AAh Intervenção Téc- bit 3=1 Já houve redução “Z” no dia. 8
nica bit 4 não existe. 16
21 FLAG DE EPROM CONECTADA ........................................... 01 55h Eprom conectada bit 5=1 Permite cancelar cupom fiscal. 32
AAh desconectada bit 6 não existe. 64
22 VALOR PAGO NO ÚLTIMO CUPOM ...................................... 07 BCD (14 dígitos BCD) bit 7=1 Memória fiscal sem espaço. 128
39 40
!""MONITORAMENTO DO ESTADO DO PAPEL
CAPÍTULO 8 ..............................................
Comando ESC 62 54
COMANDOS PARA IMPRESSÃO DE CHEQUES
Observação: Este comando só terá retorno quando a impressora indicar “Pouco
Papel”. A impressora retorna ACK ST1 ST2 n1 n2. Onde n1+(n2*256) é o número de !""PROGRAMAÇÃO DA MOEDA NO SINGULAR
linhas impressas na condição de “Pouco Papel” até o “Fim de Papel”.
Comando ESC 58 Parâmetro (obrigatório)
!""LEITURA DOS DADOS DA ÚLTIMA REDUÇÃO Nome com 19 caracteres ASCII.
BIT STATUS 0 1
0 Não usado Fixo em 0
1 Não usado Fixo em 1
2 Cheque em impressão Em impressão ou
aguardando inserção Não imprimindo
3 Aguardando inserção do cheque Não aguardando Aguardando
4 Não usado Fixo em 1
5 Estado do sensor de cheque Com papel Sem papel
6 Estado do sensor de cheque Com papel Sem papel
7 Não usado Fixo em 0
41 42
!""CANCELA IMPRESSÃO DO CHEQUE # Include "Fileio.ch"
Porta := 0
Parâmetro Porta := FOpen("COM1", FO_READWRITE + FO_COMPAT)
Comando ESC 62 49
Nenhum Comando:=Chr(27)+Chr(251)+"57|001|00000000015000|Bematech ”;
+”Indústria e Comércio de Equipamentos|Curitiba/Paraná/”;
Tamanho de Retorno +“Brasil |12|Abril |1999||"+Chr(27)
3 byte (status) FWrite(Porta, @Comando, Len(Comando))
Observação: Cancela a impressão do cheque que está sendo aguardado pela Usando a DLL Windows, a impressão do cheque poderá ser feita da seguinte
impressora. maneira:
Tamanho de Retorno
3 bytes (Status).
Observação:
43 44
CAPÍTULO 9 .............................................. c) Programação de clichê.
COMANDOS DE IMPRESSÃO %& ESC W n é um comando que usa 1 para ligá-lo e 0 para desligá-lo.
Estes comandos de impressão só poderão ser utilizados dentro dos parâmetros TABELAS DE COMANDOS DE IMPRESSÃO
dos seguintes comandos fiscais.
Operação
a) Emissão de cupom não fiscal. ASCII DEC. HEX. DESCRIÇÃO
ESC @ 64 40 Reinicializa programação da impressora fiscal
b) Mensagem promocional. Retorna ao modo de 40 colunas.
45 46
Movimentação Horizontal
ASCII DEC. HEX. DESCRIÇÃO
CAPÍTULO 10 ...............................................
ESC f 0 n 102 1B 66 00 n Deslocamento horizontal
n = número de espaços
TABELA DE CARACTERES
TABELA ASCII
Tamanho da Impressão e Largura do Caracter
4 $ 4 D T d t ä ö ñ È Õ
5 § % 5 E U e u à ò Ñ Á l
6 & 6 F V f v a û a  ã Í
7 ' 7 G W g w ç ù o À Ã Î
?
8 ( 8 H X h x ê ÿ Ï
9 ) 9 I Y i y ë Ö Ú "
A * : J Z j z è Ü Û
1
B + ; K [ k { ï 2 Ù 1
1 Ý 3
C , < L \ l | î 4
D - = M ] m } ì c | Y 2
E . > N ^ n ~ Ä Ì
F / ? O _ o A
47 48
CAPÍTULO 11 ............................................... CAPÍTULO 12 ............................................
CUIDADOS ESPECIAIS ESPECIFICAÇÕES TÉCNICAS
LIMPREZA DA IMPRESSORA IMPRESSÃO
Para manter o bom funcionamento de sua impressora você deve limpá-la
regularmente conforme procedimento a seguir: Método ..................................... matricial por impacto
Número de agulhas ................ 9 agulhas
1 - Desligue a impressora; Formato da matriz ................... 7x9
Direção .................................... bidirecional
2 - Abra a tampa frontal (4) e retire a fita de impressão; Larg. máxima da linha ............ 63 mm
Capacidade de colunas .......... 20, 40
3 - Abra a tampa traseira (2) e retire a bobina de papel; Velocidade ............................... 3,5 linhas por segundo
Vel. de avanço de papel .......... 16 linhas por segundo
4 - Utilize uma flanela ou pano macio e retire cuidadosamente a poeira Espaço entre linhas ................ 4,23 mm programável
acumulada; Dimensões do caracter .......... Altura 3,10 mm Largura 1,24 mm (a 40 cpl)
Conjunto de caracteres ........... CODE PAGE 850
5 - Se o gabinete da máquina estiver sujo, limpe-o com um pano macio umedecido Modos de impressão .............. normal, expandido, sublinhado, enfatizado.
em água ou detergente natural. Nunca use estopa quimicamente tratada ou (cupons não fiscais)
substâncias químicas de qualquer espécie. O uso destes produtos pode
fazer com que o gabinete mude de cor ou se deforme.
MODO cpp cpl
Nunca introduza objetos ou ferramentas na impressora. Normal 16 40
Expandido 8 20
A impressora deve operar acomodada sobre uma superfície plana onde suas de Entrada ............................... 1 KByte
entradas de ar fiquem desobstruídas.
Papel de Impressão:
Fita de Impressão:
49 50
Interface de Comunicação Serial:
CAPÍTULO 13 ...............................................
Padrão ........................... RS-232
Protocolo ........................ RTS/CTS
PROBLEMAS
Baud Rate ...................... 9600 bauds, com 8 bits de dados, sem paridade,
dois stop bits A seguir estão descritos alguns problemas que podem ocorrer durante o
funcionamento da impressora e suas possíveis soluções.
Alimentação:
A IMPRESSORA NÃO LIGA
Tensão ........................... FULL-RANGE (95 - 240V)
Freqüência ..................... 50 / 60 Hz Possíveis causas:
Consumo ....................... Em repouso - 13W (aproximadamente)
Em operação - 55W (aproximadamente) ' Não há tensão na rede elétrica.
Confiabilidade: Procedimento:
MCBF .............................. 5 milhões de linhas Verifique se existe alguma chave geral na rede elétrica. Conecte algum outro
(exceto o cabeçote) equipamento elétrico na tomada de força e verifique o perfeito estado de funcionamento
da mesma.
MCBF do cabeçote ......... 100 milhões de caracteres
' Problemas com o cabo de força
Condições Ambientais:
O cabo pode estar rompido ou mal conectado na tomada de força e/ou na
Temperatura:
impressora.
de operação ................... +5ºC a +40ºC
de armazenagem .......... -10ºC a +50ºC
Procedimento:
Umidade:
Desligue a máquina, verifique a continuidade do cabo de força e a perfeita conexão
de operação ................... 20 a 80%
entre a impressora fiscal e a rede.
de armazenagem: ......... 20 a 90%
Troque-a.
Procedimento:
51 52
NÃO HÁ CORRETA COMUNICAÇÃO PELA PORTA SERIAL
CAPÍTULO 14 ...............................................
Possíveis causas: ACIONAMENTO DE GAVETA
' Há interrupção no cabo de comunicação (cabo partido). Na parte traseira de sua impressora fiscal está localizado o conector para acionar
a gaveta (gaveta MENNO). Sua pinagem é a descrita abaixo:
Procedimento:
Troque o cabo.
Procedimento:
Verifique se a pinagem usada está de acordo com o protocolo que está sendo a) Para gaveta MENNO:
utilizado para o envio de dados. Lembre-se que a impressora utiliza o protocolo RTS/
CTS. - Pino 1 = GND
- Pino 2 = Acionamento do solenóide para abertura da gaveta.
- Pino 3 = Sensor de gaveta aberta/fechada (gaveta fechada
chave aberta).
- Pino 4 = +24V
- Pino 5 = NC
- Pino 6 = GND
53 54
CAPÍTULO 15 ............................................ COMANDOS DO BILHETE DE PASSAGEM
55 56
Veja a anotação “Abertura do Bilhete de Passagem” na figura do Bilhete de
Passagem. CAPÍTULO 16 ...............................................
!""VENDA DE ITENS
ROTEIRO BÁSICO PARA DESENVOLVIMENTO
DO APLICATIVO
Para o registro de itens, utilize o comando ESC 09 do Capítulo 7, porém valem
algumas observações: Apesar da utilização da Impressora Fiscal praticamente isentar o aplicativo de
qualquer exigência fiscal, existem algumas condições mínimas que devem ser
O campo de código deve ser preenchido, porém não será impresso. respeitadas para que a sua solução não tenha problemas com o fisco, e que estão
relacionadas abaixo:
É obrigatório pelo convênio SINIEF 06/89 no mínimo o registro da Tarifa (num
totalizador tributado) e do Seguro (no totalizador não incidência). 1) Os registros dos itens vendidos na impressora, devem ser feitos
concomitantemente com a venda, por isso entende-se que as informações
do cupom fiscal não devem ser bufferizadas e enviadas para a impressora
somente ao final da venda ao consumidor. Isto é exigido para que não haja a
Observações Gerais: possibilidade no aplicativo da não emissão do cupom fiscal.
Caso sua impressora possua cutter, o canhoto do motorista será separado da 2) No início e término das bobinas deve ser feita uma Leitura “X”, para isso é
via de passageiro por um picote, que facilita o destaque no momento do embarque. interessante monitorar as situações de pouco papel e fim de papel.
A informação “O passageiro manterá em seu poder este bilhete para fins de 3) A Leitura da Memória Fiscal em meio magnético pode ser feita pelo aplicativo,
fiscalização em viagem” é controlada pelo software básico e é impressa sempre que ou deve existir no diretório raiz “C:\” ou em um disquete o programa para
houver fechamento do bilhete. Leitura. Este programa é fornecido no Disquete que acompanha o produto.
O canhoto do motorista só é emitido no caso de estar ativa a emissão do Cupom 4) O banco de dados dos itens que o estabelecimento comercializa deve estar
Adicional. disponível para fins de fiscalização na forma de arquivo texto com os campos
“Código do Item”, “Descrição do Item” e “Situação Tributária”. (Isto não consta
no Convênio 156/94 mas deverá constar no futuro.)
Abertura do ECF
2. Verificar a data do movimento (ESC 23H 1BH), se esta for diferente de zero
ainda não foi efetuado o fechamento do ECF.
3. Verificar se a data atual do ECF (ESC 23H 17H), e compará-la com a do micro,
se existir uma diferença além de um limite tolerável (por exemplo 30 min.)
solicite intervenção técnica no equipamento ou acerto da hora do micro.
57 58
4. Leia as alíquotas programadas no ECF (ESC 1AH), verifique se as alíquotas 6. Efetue o cancelamento do cupom caso necessário.
necessárias aos itens cadastrados no sistema estão presentes na
impressora. Caso hajam alíquotas faltando adicione-as (ESC 07h). Crie uma Fechamento do ECF
tabela de referência cruzada entre as alíquotas necessárias para a aplicação
e as que estão cadastradas na impressora. 1. Este procedimento deve ser executado até às 02:00 do dia seguinte ao do
movimento.
Ex: No banco de dados existem itens em 3 classes de tributação 5,00%(ISS),
12,00% e 25,00%. Em duas impressoras diferentes as alíquotas programadas 2. Feche cupons/relatórios possivelmente abertos.
são as seguintes:
3. Emita possíveis relatórios gerenciais.
TOTALIZADOR IMPRESSORA 1 IMPRESSORA 2
01 T01=12,00% IS01=5,00% 4. Execute a Redução Z.
02 T02=05,00% T02=17,00%
03 T03=17,00% T03=12,00% INCOMPATIBILIDADES COM VERSÕES ANTERIORES
Através da leitura das informações sobre as alíquotas e vinculação ao ISS é O Comando 10 não existe mais no software básico à partir da versão 3.00, tendo
possível reprogramar no caso da impressora 1 T02 para IS02. sido retirado por ordem do COTEPE (orgão que homologa impressoras fiscais no
Brasil).
De posse das informações acima o aplicativo iria vender corretamente tanto na
impressora 1 quanto na 2, uma venda de 17,00% na impressora 1 seria feita em T03 e Para fechar o cupom, deverá ser utilizado os comandos de Fechamento com
na 2 em T02. Forma de Pagamento.
Caso hajam alíquotas ainda não programadas a aplicação pode programá-las Apesar do comando ter sido suprimido , o Driver “DOS” e a “DLL” conseguem
neste momento. interpretar este comando, enviando os 03 (três) comandos de Fechamento de Cupom
com Forma de Pagamento - Comando 32, Comando 72 (com o índice 01 que
5. Verifique as informações que possam ser relevantes do comando de retorno corresponde à Dinheiro) e Comando 34 -, sem problemas de imcompatibilidade com o
de variáveis (ESC 23H), tais como “Versão do Firmware”, “Moeda”, “Loja”, aplicativo que utiliza o Comando 10.
“Caixa”, “Clichê” etc.
O Comando 33 (Efetua Forma de Pagamento), também não existe mais no
6. Efetue as Programações Iniciais necessárias (veja no capítulo 5 os comandos software básico à partir da versão 3.00.
de inicialização.). Por exemplo horário de verão, no dia em que houver a entrada
ou a saída do horário de verão. Troca do símbolo da moeda. Deve-se, agora, cadastrá-la na impressora através do Comando 71 ou 73,
efetuando a sua Forma de Pagamento, e com o Comando 72 especificando o índice
7. Emita uma Leitura X. desta Forma.
Emissão do Cupom Fiscal ou Bilhete de Passagem Apesar do Comando ter sido suprimido, o DRIVER “DOS” e a “DLL” conseguem
interpretar este Comando, enviando o Comando 71 e o Comando 72 para a impressora.
Refira-se aos Comandos do Cupom Fiscal (Capítulo 5) ou aos do Bilhete de Deste modo, seu aplicativo poderá continuar utilizando este comando, sem problemas
Passagem Rodoviária Apêndice VII). de incompatibilidade, pois tanto o DRIVER como a DLL se encarrega de verificar se a
Forma de Pagamento está cadastrada, e enviar o novo Comando.
1. Abra o Cupom Fiscal ou Bilhete de Passagem.
Caso a Forma de Pagamento não esteja cadastrada, o DRIVER ou a DLL,
2. Registre os itens no totalizador devido. Pode ser do ICMS ou do ISS. cadastra-a, obtendo seu Índice e enviando o novo Comando de Fechamento.
3. Cancele os itens caso necessário. O “Relatório Não Sujeito ao ICMS” mudou para o título “Emite Relatório
Gerencial”.
4. Feche com formas de pagamento.
O comando não mudou, continua sendo ESC 14h ou 27 20, só que agora com
5. O campo de mensagens promocionais pode ser utilizado para a impressão o limite de 10 minutos de mensagem após a sua abertura.
de dados do consumidor.
59 60
Obs.: Será impresso uma Leitura X antes e a cada 10 linhas imprimirá “LEITURA
X COO:nnnnnn”. CAPÍTULO 17 ..............................................
O “Recebimento Não Sujeito ao ICMS” mudou para o título “Comprovante Não CAPACIDADE DE DÍGITOS DOS CONTADORES
Fiscal Não Vinculado”. O comando continuou o mesmo, só que com um parâmetro
opcional que indica a descrição do Recebimento, sendo assim, por ser opcional, não E TOTALIZADORES
incompatibilizou o comando antigo.
Legenda: R - Redutível
I - Irredutível
61 62
CONDIÇÕES GERAIS PARA A EXECUÇÃO DOS COMANDOS
SEÇÃO
2
PROGRAMAÇÃO
O DRIVER DOS RESIDENTE Nos testes realizados em laboratório não foi detectada nenhuma interferência
nas outras portas de comunicação. O arquivo de configuração MP20.INI deve estar
O DRIVER MP20DRV.EXE foi escrito em linguagem C com o propósito de auxiliar obrigatoriamente no mesmo diretório que o arquivo do DRIVER residente, podendo ser
a comunicação com a impressora fiscal, podendo ser utilizado com os modelos normal, carregado no AUTOEXEC.BAT. Não é necessária a utilização do comando MODE para
restaurante e rodoviária. O driver ao ser inicializado se instala em modo residente, ajustes de velocidade de comunicação com a impressora, ficando o DRIVER residente
alocando aproximadamente 50 Kbytes de memória baixa (de 0 a 640k). responsável por esta função.
Sua principal função consiste em monitorar a interrupção do DOS que controla a COMO UTILIZAR O DRIVER EM LINGUAGENS PARA DOS
porta serial. Ao se detectar a abertura de protocolo com a impressora fiscal, o driver
recebe os comandos e os envia para a impressora, findo o processo com o fechamento Todo comando enviado deve ser obrigatoriamente precedido pela abertura de
de protocolo, libera-se a porta de comunicação. protocolo e seguido do fechamento de protocolo, sendo que o mesmo deve ser
direcionado para porta monitorada pelo DRIVER.
O funcionamento do driver pode ser feito dentro de uma janela em Windows 95
, 98ou NT e MSDOS 6.22 nativo, sendo que nestas plataformas foram feitos exaustivos Abertura de Protocolo
testes.
É considerada abertura de protocolo uma seqüência de caracteres especiais
IMPORTANTE contidos na tabela ASCII, a saber:
Antes de iniciar seu aplicativo leia as informações do “Apêndice I”.
27 seguido de 251
DEFININDO A PORTA DE COMUNICAÇÃO Exemplo em CLIPPER 5.x
O arquivo MP20.INI configura qual é a porta de comunicação a ser monitorada inicio_protocolo := CHR( 27 ) + CHR( 251 )
pelo DRIVER residente e outras opções. Seu conteúdo é:
Fechamento de Protocolo
[CONFIG]
NumPorta=1 É considerada fechamento de protocolo uma seqüência de caracteres especiais
Path=DEFAULT contidos na tabela ASCII, a saber:
Retorna_ASCII=0
27
A opção “NumPorta” configura o número da porta a qual a impressora está
Exemplo em CLIPPER 5.x
conectada, onde:
fim_protocolo_driver := CHR( 27 )
0 COM1:
1 COM2:
Retornos do Driver DOS
2 COM3:
3 COM4:
Todos os comandos enviados para a porta serial serão interpretados pelo
DRIVER, o mesmo sempre responderá a qualquer envio. Respostas possíveis pelo
A opção “Path” configura o caminho onde os arquivos, gerado pela aplicativo,
driver:
vão ser lidos pelo BEMATECH.EXE - utilitário usado em conjunto com linguagens que
não conseguem ler a porta serial (ver explicação na pasta COBOL após a instalação do
a) ACK ou 06d
disquete).
Significa “OK entendi o que você me mandou !”, na seqüência serão enviados 2
A opção “Retorna_ASCII” configura o DRIVER para que seja retornado no Bytes, sendo que os mesmos devem ser depurados em bits para entender o que a
comando 35 (Retorno de Variáveis) com os parâmetros 29 (Flag de Vinculação), 32 impressora esta “falando”. Veja tabelas na pagina 10 do Manual do Usuário. Estes dois
(Formas de Pagamento), 33 (Recebimentos) e 34 (Departamentos), os bytes em formato bytes são chamados de ST1 e ST2.
65 66
b) NAK ou 21d Case Contador1 = 2
St1 := Transform(Asc(Retorno_Impressora),”999")
O comando não foi entendido pela impressora fiscal. Case Contador1 = 3
St2 := Transform(asc(retorno_impressora),”999")
FUNÇÕES DE EXEMPLO EM CLIPPER 5.X PARA COMUNICAÇÃO COM A IMPRESSORA EndCase
Next Contador1
Comentário: * Pega sequencia de retorno caso necessário
Sequencia_Retorno := “”
Esta função envia os dados para a impressora, capturando o seu retorno. O For Contador2 := 1 To Tam_a_ser_ret
primeiro parâmetro é a abertura de protocolo + seqüência de comandos enviados + FRead(Numero_Abertura_Porta, @Retorno_Impressora, 1)
fechamento de protocolo. O segundo parâmetro é a quantidades de bytes retornados Sequencia_Retorno += Retorno_Impressora
pela impressora, veja tabela na pagina 10. Next Contador2
If Asc(Retorno_Impressora) # 21
Clear
Static Function
?
Comunica_com_Impressora(Buffer_a_ser_enviado,Tam_a_ser_ret)
? “ACK = [“ + Ack + “] ST1 = [“ + St1 + “] ST2 = [“+ St2 + “]”
* envia sequencia de bytes para impressora
? “Retorno = [“ + Sequencia_Retorno + “]”
FWrite(Numero_Abertura_Porta,@Buffer_a_ser_enviado,len(Buffer_a_ser_enviado))
?
* pega o retorno da impressora NAK/ACK ST1 ST2
?
Retorno_Impressora := Ack := Nak := St1 := St2 := Space(1)
Wait “Tecle algo para retornar”
For Contador1 := 1 to 3
Endif
FRead(Numero_Abertura_Porta,@Retorno_Impressora,1)
Return Sequencia_Retorno
Do Case
Case Contador1 = 1
Comentário:
Do Case
Case Asc(Retorno_Impressora) = 21 /* retorno em
Abre a comunicação com a impressora.
caracter 21d=15h=NAK */
Clear
Não esqueça que o driver deve estar carregado antes da execução desta
?
? “Atencao...A impressora retornou procedure/function.
21d=15h=NAK”
? Static Function Abre_Comunicacao_Impressora_Fiscal()
? “NAK” # Include “FILEIO.CH”
? Qout(“Um momento, abrindo porta serial (COM1:)...”)
? “Programa abortado!” Numero_Abertura_Porta := FOpen(“COM1”, FO_READWRITE + FO_COMPAT)
? If Ferror () != 0
Case Asc(Retorno_Impressora) = 06 Qout(“Problemas de comunicacao. Pressione qualquer tecla.”)
Ack := Transform(Asc(Retorno_Impressora),”99") Return .F.
Otherwise Endif
Clear Return .T.
?
? “Atencao...Provavelmente DRIVER nao foi Comentário:
carregado!”
? “Programa abortado!” Função para Fechamento da Porta Serial.
?
FClose(Numero_Abertura_Porta) Static Functio Fechar_Porta()
Quit Fclose(Numero_Abertura_Porta)
EndCase Return .T.
67 68
Comentário:
CAPÍTULO 19 ...............................................
Função para pegar o Retorno da Impressora
DLL DE 16 E 32 BITS PARA WINDOWS
********
Function PegaRetorno Para a impressora fiscal existe uma DLL específica, com o objetivo de auxiliá-lo
********************* no desenvolvimento de seus programas no ambiente Windows.
retorno := " " Esta "DLL" possui todos os comandos da impressora fiscal, que são de fácil
status := "" acesso pela função "FormataTX".
Abertura de Protocolo
69 70
Fechamento de Protocolo Tipo de retorno: Inteiro
Define-se por fechamento de protocolo os seguintes caracteres ASCII: menor ou igual a 0 = problemas ao tentar abrir a porta de comunicação.
1 = porta de comunicação iniciada sem problemas.
Caracter “|” seguido de 27, ou seja PIPE seguido de ESC.
FechaPorta()
Exemplo em Visual Basic:
Esta função tem por objetivo fechar a porta serial encerrado a comunicação com
fecha_protocolo = “|” + CHR(27) a impressora.
Esta função tem por objetivo abrir a porta serial estabelecendo comunicação Private Sub Sair_Click()
com a impressora. Status = Status_Mp20FI(Retorno, Ack, St1, St2)
End
Exemplo em Visual Basic: End Sub
Sub main()
Retorno = IniPortaStr(“COM1”)
Abre_Protocolo = CHR(27) + “|”
Fecha_Protocolo = “|” + Chr(27)
Menu_Principal.Show
End Sub
71 72
Le_Variaveis (ByVal var As String) As Integer Public Declare Function FechaPorta Lib "MP20FI32.DLL" () As Integer
Esta Função retorna informações, solicitadas pelo seu aplicativo, da Impressora. Public Declare Function Status_Mp20FI Lib "MP20FI32.DLL" (ByRef Retorno
As Integer, ByRef Ack As Integer, ByRef St1 As Integer, ByRef St2 As
Escreve na variável passada o valor retornado pelo último comando de Retorno Integer) As Integer
de Variáveis enviado para a Impressora, de maneira que, para pegar o numero de série
da Impressora, envie o comando normalmente, e logo depois chame esta Função. Public Declare Function Le_Variaveis Lib "MP20FI32.DLL" (ByVal Variavel
As String) As Integer
Exemplo em Visual Basic:
Public Declare Function Retorna_ASCII Lib "MP20FI32.DLL" (ByVal Flag
Private Sub Sair_Click() As Integer) As Integer
var = Space(3000)
a = Le_Variaveis(var) PADRÃO DE CHAMADA
End
End Sub
Importante:
Observação: esta string deve ser passada como ByVal e antes da chamada à
esta função, deve ser inicializada com espaço de 3000 bytes dentro da mesma, pois As “DLLs” usam o padrão de chamada “Pascal”, na qual os argumentos das
será modificado o conteúdo real desta Variável. funções são colocados na pilha da esquerda para a direita.
Retorna_ASCII (ByVal Flag As Integer) As Integer Repare que, se você utilizar um padrão de chamada diferente, os argumentos da
função não serão corretamente lidos pela DLL, uma vez que os argumentos são
Esta Função converte os caracteres retornados pela impressora para o formato colocados na pilha de outra forma.
ASCII, usado, principalmente, com os comandos que não trazem nesse formato. Onde
“0” corresponde ao retorno no formato padrão da impressora e “1” no formato ASCII Em Delphi 32 bits, por exemplo, o padrão utilizado é “fastcall”, onde os argumentos
passado pela Função. são colocados nos registros do microprocessador. A solução é declarar o padrão “pascal”
explicitamente, utilizando a palavra reservada “stdcall”, conforme o exemplo abaixo:
Exemplo em Visual Basic:
Function ComandoTX (BufTrans:PChar; TamBufTrans:Integer):Integer; stdcall; far;
Private Sub Sair_Click() external
x = Retorna_ASCII(1)
End Sub Na linguagem “C”, o modo natural não é o formato “Pascal”. Há uma chave de
compilação que pode ser usada para transformar todas as chamadas para “Pascal”. A
rotina “main”, porém, deve estar na forma original do “C”, e, para isto, deve-se utilizar
COMO DECLARAR A UTILIZAÇÃO DA DLL
uma palavra reservada, que pode variar de compilador para compilador.
Deve ser indicada a utilização da DLL e suas respectivas funções internas. Cada Em Visual C++ 1.5, por exemplo, proceda conforme descrito a seguir:
linguagem tem seus respectivos parâmetros a serem chamados. Consulte sempre o
manual de programação de sua linguagem para Windows. Nas opções de compilação do projeto (menu “options\project\compiler\Code
Generation\Calling Convention”), alterar opção para Pascal.
Exemplo em Visual Basic utilizando DLL de 32 bit’s:
Detalhe:
Public Declare Function FormataTX Lib "MP20FI32.DLL" (ByVal Retorna
As String) As Integer A função “main” deve continuar no padrão “C”. Para isso, declare assim:
Public Declare Function IniPortaStr Lib "MP20FI32.DLL" (ByVal Abre As Void_Cdecl Main()
String) As Integer
Verifique a documentação do seu compilador quanto a este item.
73 74
CAPÍTULO 20 ............................................... IMPORTANTE
COMUNICAÇÃO DIRETA COM A IMPRESSORA !&
& STX (02): este byte, SEMPRE possui o mesmo valor, ou seja, 02.
STX (Start of Text) ....................... : Byte indicativo de início de transmissão - inicio !" Se o comando possuir parâmetros, deverá ser somado, junto ao “04”, a
do texto (02h). Sempre 02 (hexadecimal). quantidade dos parâmetros.
NBL (Número do Byte Baixo) ..... : Byte menos significativo, da soma do número Caso o resultado for maior ou igual a 256, o mesmo deverá ser dividido por 256.
de bytes que serão enviados (soma do byte Sendo a parte inteira o byte mais significativo (NBH) e o resto o byte menos significativo
CMD, CSL e CSH). (NBL).
NBH (Número do Byte Alto) ........ : Byte mais significativo, da soma do número de Exemplo:
bytes que serão enviados (soma do byte CMD,
CSL e CSH). Na Venda de um Ítem qualquer (comando 09) estão sendo passados como
parâmetros: CÓDIGO com 13 bytes, DESCRIÇÃO com 29 bytes, ALÍQUOTA com 2 bytes,
CMD (Comando) ........................ : Seqüência de bytes que compõem o comando QUANTIDADE INTEIRA com 4 bytes, VALOR UNITÁRIO com 8 bytes e o DESCONTO
e seus parâmetros. PERCENTUAL com 4 bytes. A soma resultou em 60 bytes sem o “04” (o resultado total
é 64 bytes). Você expressa 64 em dois bytes da seguinte maneira: 00,64 onde, “64” é o
CSL (Check Sum Baixo) ............ : Byte menos significativo, da soma dos valores NBL e “00” é o NBH.
dos bytes que compõem o comando e seus
parâmetros (CMD). !&
&CMD
CSH (Check Sum Alto) ............... : Byte mais significativo, da soma dos valores Comando a ser enviado mais os seus parâmetros.
dos bytes que compõem o comando e seus
parâmetros (CMD). No exemplo da Leitura “X”, o comando é 1B 06 sem parâmetros.
Veja a maneira de enviar o comando, observando o exemplo abaixo: No exemplo de uma Venda de um Item qualquer, será passado o comando 1B 09
mais os parâmetros, citados no exemplo anterior.
Leitura “X”
!&
&CSL e CSH
STX NBL NBH CMD CSL CSH Serão somados todos os valores dos bytes, desde seu comando (1B) até o
02 04 00 1B 06 21 00 último parâmetro. Neste caso, se o resultado da soma ultrapassar o valor 256, o mesmo
deverá ser dividido por este valor. A parte inteira da divisão será o CSH e o resto será
CSL.
75 76
Exemplo: Parâmetros:
STX = 02 27 + 09 + 48 + 48 + 48 + 48 + 48 + 48 + 48 + 48 + 48 + 48 + 48 + 48 + 49 + 67 + 97
+ 110 + 101 + 116 + 97 + 32 + 32 + 32 + 32 + 32 + 32 + 32 + 32 + 32 + 32 + 32 + 32
NBL = 40 + 32 + 32 + 32 + 32 + 32 + 32 + 32 + 32 + 32 + 32 + 32 + 70 + 70 + 48 + 48 + 49 +
53 + 48 + 48 + 48 + 48 + 48 + 48 + 49 + 50 + 48 + 48 + 48 + 48 = 2902
NBH = 00
CMD = 1B 09 30 30 30 30 30 30 30 30 30 30 30 30 31 43 61 6E 65 74
61 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
46 46 30 30 31 35 30 30 30 30 30 30 31 32 30 30 30 30
CSL = 56
CSH = 0B
Comando: 27 09 NBL = 64
NBH = 00
77 78
CMD = 27 09 48 48 48 48 48 48 48 48 48 48 48 48 49 67 97 110 101 116
97 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 APÊNDICE I.....................................................
70 70 48 48 49 53 48 48 48 48 48 48 49 50 48 48 48 48
FILOSOFIA DE FUNCIONAMENTO
CSL = 86
Apesar da utilização da Impressora Fiscal praticamente isentar o aplicativo de
CSH = 11 qualquer exigência fiscal, existem algumas condições mínimas que devem ser
respeitadas para que a sua solução não tenha problemas com o fisco, e que estão
relacionadas abaixo:
1) Os registros dos itens vendidos na impressora, devem ser feitos
concomitantemente com a venda, por isso entende-se que as informações do cupom
fiscal não devem ser bufferizadas e enviadas para a impressora somente ao final da
venda ao consumidor. Isto é exigido para que não haja a possibilidade no aplicativo da
não emissão do cupom fiscal.
2) No início e término das bobinas deve ser feita uma Leitura “X”, para isso é
interessante monitorar as situações de pouco papel e fim de papel.
3) A Leitura da Memória Fiscal em meio magnético pode ser feita pelo aplicativo,
ou deve existir no diretório raiz “C:\” ou em um disquete o programa para Leitura. Este
programa é fornecido no Disquete que acompanha o produto.
Abertura do ECF
2. Verificar a data do movimento (ESC 35 27), se esta for diferente de zero ainda
não foi efetuado o fechamento do ECF.
79 80
3. Emita possíveis relatórios gerenciais.
TOTALIZADOR IMPRESSORA 1 IMPRESSORA 2
01 T01=12,00% IS01=5,00%
4. Execute a Redução Z.
02 T02=05,00% T02=17,00%
03 T03=17,00% T03=12,00%
COMENTÁRIOS GERAIS
Através da leitura das informações sobre as alíquotas e vinculação ao ISS é
possível reprogramar no caso da impressora 1 T02 para IS02. 1. Recebimentos Não Sujeitos ao ICMS podem ser utilizados por exemplo para
Conta de Luz, Água, Carnê, etc. existem contadores específicos para estas
De posse das informações acima o aplicativo iria vender corretamente tanto na operações que podem servir para contar o número de operações deste tipo
impressora 1 quanto na 2, uma venda de 17,00% na impressora 1 seria feita em T03 e executadas.
na 2 em T02.
2. Com respeito ao Arredondamento/Truncamento.
Caso hajam alíquotas ainda não programadas a aplicação pode programá-las
neste momento. Refere-se exclusivamente à multiplicação efetuada na venda de item com
quantidade fracionária.
5. Verifique as informações que possam ser relevantes do comando de retorno
de variáveis (ESC 23H), tais como “Versão do Firmware”, “Moeda”, “Loja”, Exemplo:
“Caixa”, “Clichê” etc.
Quantidade .............. 1,249 kg
6. Efetue as Programações Iniciais necessárias (veja no capítulo 5 os comandos Valor unitário ............ R$ 2,00 / kg
de inicialização.). Por exemplo horário de verão, no dia em que houver a entrada
ou a saída do horário de verão. Troca do símbolo da moeda. Com arredondamento:
Fechamento do ECF
81 82
LÓGICA DE TRATAMENTO
APÊNDICE II...................................................
TRATAMENTO DE RETORNO Cada byte é composto de 8 bits. Cada bit dentro do byte tem um bit 7 - 128
valor, conforme a tabela a seguir: bit 6 - 64
bit 5 - 32
O valor recebido da impressora para ST1 e/ou ST2 deve ser bit 4 - 16
comparado com cada bit. bit 3 - 8
bit 2 - 4
As linhas abaixo são uma forma de você desenvolver um trecho de bit 1 - 2
código para saber quais bits estão "setados": bit 0 - 1
83 84
TABELA DE CARACTERES - ASCII, DECIMAL E HEXADECIMAL
85
Impressora Fiscal :: MP-40 FI II
Revisão 1.0 :: cód. 5714
Leia atentamente
este manual antes de
utilizar este produto.
:: Impressoras Fiscais
:: Mini Impressoras
:: Leitores
:: Microterminais
::Impressora Fiscal
MP-40 FI II
:: Pinpad
:: Customer Display
:: Gaveta
:: Blocos Impressores
:: Terminal de Consulta
:: Mecanismos Impressores