Você está na página 1de 18

Comandos do ACBrMonitor

Manual ACBrMonitor
ACBrMonitor Verso 0.8.7b - Direitos Autorais Reservados 2006 Daniel Simes de
Almeida
Em breve esperamos concluir um manual completo com todos os comandos, descrevendo a
sintaxe de cada comando e o seu retorno. Por enquanto espero que essas regras bsicas
possam ajud-lo a iniciar o uso do ACBrMonitor.

Como usar o ACBrMonitor ?


Modo TXT:

Verifique no ACBrMonitor qual o arquivo de Entrada (geralmente ENT.TXT) e de Sada


(geralmente SAI.TXT)

Voc deve criar um arquivo com os comandos desejados, na sintaxe do ACBr (veja abaixo), no
arquivo de entrada. Um comando por linha.

Nota: Para facilitar a programao recomendado inserir apenas um comando por


vez no arquivo de Entrada

O ACBrMonitor ir ler esse arquivo, inserir os comandos na Fila de comandos a processar... e apagalo... Portanto se o arquivo de Entrada no for apagado aps alguns segundos, provavelmente o
ACBrMonitor no est sendo executado, ou o arquivo de Entrada no est configurado corretamente
no ACBrMonitor (verifique o Path).

Para cada comando executado o ACBrMonitor responde com:

OK: [ Retorno do ECF ] ou

ERRO: [ Mensagem de erro do ACBr ou do ECF ]

Todas as respostas do ACBrMonitor so gravadas no arquivo de Sada.

A aplicao comercial, deve abrir o arquivo de Sada, ler o seu contedo e apaga-lo. Aps isso,
verificar o sucesso do comando e se for o caso, processar as informaes retornadas pelo ECF...

Se o arquivo de sada no for apagado, o ACBrMonitor ir adicionar as respostas dos novos


comandos no final do arquivo

Exemplo: Abra / execute o arquivo de Lote (MS-DOS) TesteTXT.BAT

Modo TCP/IP:

Abra uma conexo Socket com a mquina onde o ACBrMonitor est instalado, na porta configurada
no ACBrMonitor. (Voc deve conhecer o IP da mquina)

Verifique se o FireWall de ambas as mquinas permite o trafego de dados nessa porta.

Envie e Receba os comandos usando a sintaxe do ACBr (veja abaixo)

Toda resposta do ACBrMonitor para a aplicao comercial ser encerrada com o caracter ETX, #3 ou
chr(3)

Exemplo:

Configure o ACBrMonitor para trabalhar com TCP/IP porta 3434 (pode ser qualquer porta)... Reinicie o ACBrMonitor

No Prompt do DOS do Windows, na mesma mquina onde o ACBrMonitor est sendo executado,
digite:

TELNET localhost 3434

Na janela do TELNET digite:


ECF.ATIVAR <enter>
ECF.LeituraX <enter>
ECF.DataHora <enter>
ECF.Aliquotas <enter>
bye <enter>

Sintaxe dos Comandos ACBr


OBJETO.Comando [( param1 [,param2, param3, paramN...])]
Todos os comandos enviados para o ACBrMonitor podem ser maisculas ou minsculas.

OBJETO pode ser: ECF, CHQ, GAV, DIS, ACBR

Comando: Comandos reconhecido pelo Objeto

param1, param2, paramN: Parmetros necessrios para a execuo de Comando. Os parmetros


podem ser do tipo:
o

Texto ou String: Para especificar "Strings" nos parmetros use sempre aspas duplas (").
Nota: Para quebra de linha em "Strings" grandes, como a Observao no rodap dos cupons,
use o sinal Pipe (|)
Exemplos vlidos: "Projeto ACBr" DESCRICAO DO PRODUTO", "LINHA1|LINHA2"

Numricos:Para especificar "Numricos" nos parmetros, no use aspas.


Para separar as casas decimais use o ponto(.)
No use separador de Milhar ou smbolo de moeda (R$).
Exemplos vlidos: 10 , 10.23 , 0.123 , 1234.50

DataHora: Use o formato atual do Sistema Operacional ( Geralmente DD/MM/AA


HH:MM:SS)
Alguns comandos do ACBrMonitor precisam apenas da Data, portanto a Hora pode ser
omitida
Exemplos Vlidos: "14/08/06 18:05:20", "14/08/2006 18:05", "14/08/06"

Booleano: Utilize True para verdadeiro e False para falso

Comando
Finalidade
Bye, Exit, Sair ou Fim Qualquer um desses comandos Encerra a comunicao TCP/IP com o ACBrMonitor, ou seja, desconecta-se

do ACBrMonitor
ACBr.Run

Executa comandos na mquina em que o ACBrMonitor est rodando, til para executar
comandos no terminal Remoto, quando usando modo TCP/IP
ACBr.Run( cComando, [ cParams, bAguarda, nWindowState, bAltTab ] );

Parmetros:
cComando Linha de comando a ser executada pelo ACBrMonitor
cParams (opcional) Parmetros complementares informados a Linha de Comando
bAguarda Opcional, se for omitido assume False. Quando informado True, aguarda
termino da execuo do programa informado em cComando, antes de continuar com o
ACBrMonitor (cuidado, esse parmetro em True pode fazer o ACBrMonitor para de
responder enquanto o Programa executado no seja finalizado)
nWindowState (Opcional) Numrico informando o Estado daJanela: Utilize: 0 =
Escondido; 1 = Normal (default); 2 = Minimizado; 3 = Maximizado (Disponvel apenas no
Windows)
bAltTab Opcional, se for omitido assume False. Quando informado True, envia
ALT+TAB para o teclado do Windows assim que a execuo do programa terminar. til
para restaurar o foco da aplicao controladora do ACBrMonitor (Disponvel apenas no
Windows)

Exemplos:
ACBr.Run(NOTEPAD.EXE,Novo.TXT) Roda o Bloco de Notas do Windows, crian
o arquivo Novo.TXT
ACBr.Run(CALC.EXE, ,True) Executa a calculadora do Windows e aguarda o
termino
ACBr.Restaurar
Exibe a tela do ACBrMonitor
ACBr.Ocultar
Esconde o ACBrMonitor no Systray
ACBr.EncerrarMonitorEncerra, finaliza o ACBrMonitor
ACBr.SaveTofile
ACBr.LoadFromFile
ACBr.DeleteFiles

Comandos aceitos pelo Objeto ECF


Comando
ECF.Ativar
ECF.Desativar
ECF.Ativo
ECF.Colunas
ECF.ComandoEnviado
ECF.RespostaComando
ECF.ModeloStr
ECF.Modelo
ECF.Porta
ECF.DataHora
ECF.NumCupom
ECF.NumLoja

Ao
Exemplo Resposta
Ativa o ECF
OK:
Desativa o ECF
OK:
Responde True para ECF ativo e False para ECF
OK: False ou OK: True
desativado
Retorna nmero de colunas do ECF
OK: 48
Retorna o ltimo comando enviado para o ECF, no formato
da sintaxe suportada pelo ECF
Retorna a resposta exata do ECF, sem tratamento, na
sintaxe de retorno do ECF
Retorna modelo do ECF configurado no ACBrMonitor.
OK: NaoFiscal
Retorna modelo no formato usado no componente
OK: ecfNaoFiscal
ACBrECF
Retorna porta que ECF est configurada
OK: COM1
Retorna data e hora do ECF
OK: 17/12/07 11:52:54
Retorna numero do cupom
OK: 000008
Retorna nmero da loja
OK: 001

ECF.NumCRO
ECF.NumCRZ
ECF.NumECF
ECF.NumSerie
ECF.NumVersao
ECF.DataMovimento
ECF.CNPJ
ECF.IE
ECF.NumCOOInicial
ECF.VendaBruta
ECF.GrandeTotal
ECF.TotalCancelamentos
ECF.TotalDescontos
ECF.TotalAcrescimos
ECF.TotalSubstituicaoTributaria
ECF.TotalNaoTributado
ECF.TotalIsencao
ECF.NumUltItem
ECF.DadosReducaoz

Retorna nmero do CRO


Retorna nmero do CRZ
Retorna nmero do ECF
Retorna nmero de srie do ECF
Retorna Verso do Software do ECF
Retorna data do movimento do ECF
Retorna CNPJ cadastrado no ECF
Retorna IE cadastrado no ECF
Retorna Numero COO Inicial
Retorna Venda Bruta
Retorna Grande Total
Retorna Total de Cancelamentos
Retorna Total de Descontos
Retorno Total de Acrscimos
Retorna Total Vendido em Substituio Tributria
Retorna Total Vendido No Tributado
Retorna Total Vendido Isento
Retorna nmero do ltimo item vendido
Retorna dados da Reduo Z

ECF.DadosUltimaReducaoZ

Retorna dados da ltima Reduo Z

OK: 001
OK: 00000
OK: 001
OK: 120707102639
OK: 010001
OK: 17/12/07
OK: 82.373.077/0001-71
OK: 10181465-30
OK: 000000
OK: 3548,2
OK: 3548,2
OK: 3,85
OK: 5,35
OK: 0
OK: 40
OK: 3467
OK: 32
OK: 10
OK: [ECF]
DataMovimento = 18/12/07
NumSerie = EMULADOR
NumECF = 0001
NumLoja = 0001
NumCOOInicial = 000004
NumCOO = 000013
NumCRZ = 0001
NumCRO = 0001
[Totalizadores]
VendaBruta = 653,64
GrandeTotal = 4201,84
TotalDescontos = 0,85
TotalCancelamentos = 0
TotalAcrescimos = 12
TotalNaoFiscal = 0
[Aliquotas]
01T1800 = 94,35
02T1200 = 202,1
03T0700 = 100,86
04S0500 = 0
[OutrasICMS]
TotalSubstituicaoTributaria =
161,99
TotalNaoTributado = 53,64
TotalIsencao = 39,85
[NaoFiscais]
SA_Sangria = 0
SU_Suprimento = 0
OK: [ECF]
DataMovimento = 17/12/07
NumSerie = EMULADOR
NumLoja = 0001
NumECF = 0001
NumCOO = 000011
NumCRZ = 0001
NumCRO = 0001
[Aliquotas]

01T1800 = 0
02T1200 = 0
03T0700 = 0
04S0500 = 0
[OutrasICMS]
TotalSubstituicaoTributaria =

ECF.Aliquotas

Retorna todas as alquotas cadastradas no ECF.

TotalNaoTributado = 3467
TotalIsencao = 32
[NaoFiscais]
SA_Sangria = 0
SU_Suprimento = 0
[Totalizadores]
TotalDescontos = 5,35
TotalCancelamentos = 3,85
TotalAcrescimos = 0
TotalNaoFiscal = 0
VendaBruta = 3544,35
GrandeTotal = 3548,2
OK: 01 T18,00|02 T12,00|03
T7,00|04 S5,00

IIIIT999.99|IIIIT999.99|IIIIT999.99|....
Onde:
IIII = ndice da Alquota usado pelo ACBrECF
T = Tipo da Alquota, ( "T" = ICMS, "S" = ISS)
999.99 = Valor da Alquota
Nota: Esse comando quando executado a
primeira vez, se comunica com o ECF a fim de
carregar a tabela de alquotas. Aps a carga, elas
so transferidas para a memria do ACBrECF
ECF.CarregaAliquotas
ECF.LerTotaisAliquota

Semelhante ao comando ECF.Aliquotas, porm esse


comando sempre se comunica com o ECF a fim de ler
novamente todas as alquotas cadastradas
Retorna Total Vendido em cada alquota

ECF.ProgramaAliquota( nValorAliquota[,
Parmetros:
cTipoAliquota , cPosicaoAliquota] )

nValorAliquota - Valor da Alquota a programar.


Exemplos: 18 , 12 , 2.46
cTipoAliquota - Tipo da Alquota , Use "T" para
ICMS ou "S" para ISS. Pode ser omitido, nesse
caso assume "T"
cPosicaoAliquota - Posio de cadastro da
Alquota. No aceito em todos os modelos de
ECFs, e em alguns outros apenas aceito em
modo de Interveno. Normalmente esse
parmetro deve ser omitido
Exemplos:
ECF.ProgramaAliquota( 18 ) Programa a

OK: 01 T18,00|02 T12,00|03


T7,00|04 S5,00
OK: 01 94,35|02 202,10|03
100,86|04 0,00
OK:

Alquota de 18% do ICMS


ECF.ProgramaAliquota( 2.46 , "T" ) Programa
a Alquota de 2,46% do ICMS
ECF.ProgramaAliquota( 2.5, "S" ) Programa a
Alquota de 5% do ISS
Notas:
Na maioria dos ECFs este comando somente
aceito quando o Movimento no foi iniciado, ou
seja, aps uma Reduo Z e antes de uma Venda
ou Leitura X
No possvel apagar as alquotas programadas,
portanto CUIDADO ao programar novas
Alquotas. Apenas uma interveno tcnica pode
remover as Alquotas j programadas
ECF.AchaIcmsAliquota
ECF.FormasPagamento

Procura Alquota no ECF e retorna o ndice da alquota

Retorna Formas de Pagamento Cadastradas


Nota: Esse comando quando executado a
primeira vez, se comunica com o ECF a fim de
carregar a tabela de alquotas. Aps a carga, elas
so transferidas para a memria do ACBrECF

ECF.CarregaFormasPagamento
ECF.LerTotaisFormaPagamento

Semelhante ao comando ECF.FormasPagamento, porm


esse comando sempre se comunica com o ECF a fim de ler
novamente todas as alquotas cadastradas
Retorna Total de cada Forma de Pagamento

ECF.ProgramaFormaPagamento( cDescri Programa Forma de Pagamento e retorna ndice em que a


cao [, bPermitevinculado, cPosicao] )
Forma foi cadastrada
ECF.AchaFPGDescricao('Dinheiro')

Retorna informaes sobre a alquota a ser


procurada

OK: 01 T18,00 ou ERRO:


Aliquota: 32 no encontrada
OK: 01 Dinheiro |02
VCARTAO |03 VCHEQUE |0
VTICKET

OK: 01 Dinheiro |02


VCARTAO |03 VCHEQUE |0
VTICKET
OK: 01 103,00|02 400,00|03
0,00|04 400,00
OK: 05
OK: 01 VDinheiro

IIIITDDDDDDDDDDDDDDDDDDDDDDDDD
Onde:
IIII = ndice da Forma de Pagamento usado pelo
ACBrECF
T = Permite Vinculado - Se sim V seno vazio
DDDD = Descrio da Forma.
ECF.ComprovantesNaoFiscais

Retorna CNFs cadastrados

OK: SA VSangria |SU


VSuprimento

Nota: Esse comando quando executado a


primeira vez, se comunica com o ECF a fim de
carregar a tabela de alquotas. Aps a carga, elas
so transferidas para a memria do ACBrECF
ECF.CarregaComprovantes

Semelhante ao comando ECF.ComprovantesNaoFiscais,

OK: SA VSangria |SU

NaoFiscais

porm esse comando sempre se comunica com o ECF a fim VSuprimento


de ler novamente todas as alquotas cadastradas
Retorna total dos CNFs
OK: SA 0,00|SU 0,00

ECF.LerTotaisComprovante
NaoFiscal
ECF.ProgramaComprovante
NaoFiscal( cDescricao [, cTipo, cPosicao]
)
ECF.AchaCNFDescricao('Sangria')
ECF.UnidadesMedida
ECF.CarregaUnidadesMedida
ECF.ProgramaUnidadeMedida( cDescrica
o)
ECF.TestaPodeAbrirCupom
Se no puder abrir um Cupom Fiscal, retorna um erro com OK:
o motivo, caso contrrio retorna OK
ECF.AbreCupom
OK:

ECF.AbreCupom [ ( cCPF_CNPJ, cNOME,


cENDERECO) ]

Parmetros:
cCPF_CNPJ - Parmetro opcional. Se
necessrio, informe o CPF/CNPJ do Consumidor
cNOME -Parmetro opcional. Se necessrio,
informe o NOME do Consumidor
cENDERECO -Parmetro opcional. Se
necessrio, informe o ENDEREO do
Consumidor
Exemplos:
ECF.AbreCupom
ECF.AbreCupom("1234567890","ACBr""Tatui")
Nota: Nem todos os modelos de ECF fazem uso
do parmetro cCPF_CNPJ, nesse caso o Cupom
ser aberto, porm o nmero de identificao do
cliente no ser impresso. Dica: Para identificar o
cliente prefira usar o Rodap do Cupom, que
permite at 8 linhas de texto livre
ECF.IdentificaConsumidor

ECF.IdentificaConsumidor ( cCPF_CNPJ,
[cNOME, cENDERECO])

OK:

O Mtodo Identifica Consumidor, se for usado


antes da abertura do cupom, os dados do
consumidor sero usados no comando de
AbreCupom, caso seja usado aps o abre cupom,
se o ECF no for MFD, os dados sero impressos
nas linhas de mensagens do cupom.
ECF.VendeItem(cCodigo, cDescricao,
cAliquotaICMS, nQtd, nValorUnitario
[,nDescontoPorc,
cUnidade,cTipoDesc,cDescAcres] )

Parmetros:
cCodigo - Texto com o cdigo do produto,
geralmente aceito at 13 caracteres, alguns

OK:

ECFs apenas aceitam numricos no cdigo.


cDescricao - Texto com a descrio do Produto
vendido. Procure no usar acentos, pois alguns
ECFs no aceitam caracteres acentuados. Para
imprimir Descries "grandes" habilite a opo
"Descrio Grande" no ACBrMonitor.
cAliquotaICMS - Texto com a representao da
Alquota do ICMS.
- As alquotas podem ser informadas em Valor
(mesmo sendo texto). Exemplos: "18", "2.46".
- Se no ECF existem alquotas iguais para ICMS
e ISS, use o sufixo "T" para informar que a
alquota do ICMS ou "S" para alquotas do ISS.
Exemplo: "18T" = alquota de 18% do ICMS;
"2.5S" alquota de 2,5% do ISS
- As alquotas podem ser informadas em ndice,
de acordo com a Tabela de alquotas do ECF,
nesse caso use a letra "T", seguida da posio da
Alquota: Exemplo: "T01", "T10"
- Existem alquotas internas do ECF para tratar
produtos Isentos, nesse caso use: "FF" para
Substituio Tributria, "NN" = No incidncia
ou "II" = Isento
nQtd - Quantidade de Produtos a Vender. Permite
valores com at 3 casas decimais. O ACBr
verifica quantas casas decimais existem no valor
informado e utiliza o comando apropriado para o
ECF, otimizando a impresso para Inteiros o 2
casas decimais, sempre que possvel
nValorUnitario Preo Unitrio do produto
vendido. Permite valores com at 3 casas
decimais. O ACBr verifica quantas casas
decimais existem no valor informado e utiliza o
comando apropriado para o ECF, otimizando a
impresso para 2 casas decimais, sempre que
possvel.
nDescontoPorc - Parmetro opcional, Se
necessrio, informe a Porcentagem de Desconto a
aplicar no item Vendido. Dependendo do ECF o
valor e porcentagem do Desconto ser impresso
no Cupom.
cUnidade - Parmetro opcional, Se necessrio,
informe o Texto com a unidade de medida do
Item. Exemplo: "UN", "LT", "MT", "KG", etc
cTipoDesc - Parmetro opcional, Se necessrio,
informe o tipo de desconto. Pode ser "%" ou "$".

cDescAcres - Parmetro opcional, Se necessrio,


informe o se ser dado desconto ou acrscimo. O
valor default "%D "%(Desconto) mas pode ser
passado como "%A "%(Acrscimo) .
Exemplos:
ECF.VendeItem("789012223233","PRODUTO
TESTE, TRIBUTADO","18",1, 100.34,
10,"LT","%","D")
- cCodigo = "789012223233"
- cDescricao = "PRODUTO TESTE,
TRIBUTADO"
- cAliquotaICMS = 18
- nQtd, = 1
- nValorUnitario = 100.34 (Cem Reais e Trinta e
Quatro Centavos)
- nDescontoPorc = 10
- cUnidade = "LT"
- cTipoDesc= "%"
- cDescAcres= "D"
ECF.VendeItem("789012456789","PRODUTO
TESTE, ISENTO","II", 1.5, 2.5 )
No especificou os parmetros opcionais
(Desconto, Unidade, Tipo de Desconto,
Desconto/Acrscimo)...
Notas:
- O ACBr tentar otimizar a impresso ocupando
o menor numero de linhas possveis, de acordo
com o tamanho dos parmetros cCodigo e
cDescricao. Espaos a direita de cDescricao so
ignorados.
- Para evitar "diferenas" entre o seu programa e
o impresso no ECF, procure informar os campos
nQtd e nValorUnitario j arredondados para o
nmero mximo de casas decimais que voc
deseja utilizar.
ECF.CancelaItemVendido( nNumItem )

Parmetros:
nNumItem - Numero do Item, de acordo com a
ordem de impresso no Cupom fiscal, a cancelar

OK:

Exemplo:
ECF.CancelaItemVendido(5) -> Cancela o quinto
item impresso no Cupom.
ECF.SubtotalizaCupom
[ ( nDescontoAcrescimo,

nDescontoAcrescimo - Parmetro opcional. Para

OK:

cMensagemRodape ) ]

Descontos, informe valores negativos, para


acrscimos valores positivos
cMensagemRodape Parmetro opcional.
Informe at 8 linhas de mensagem a serem
impressas no rodap do cupom. Usado apenas
para o ECF DataRegis que no possui o mtodo
FechaCupom, nos demais ECFs, se a mensagem
for informada nesse momento, ela ser
armazenada pelo ACBr e utilizada em
FechaCupom
Exemplos:
ECF.SubtotalizaCupom
ECF.SubtotalizaCupom( -1.45 ) -> Desconto de
R$ 1,45
ECF.SubtotalizaCupom( 5 ) -> Acrscimo de R$
5,00
ECF.SubtotalizaCupom( 0, 'Mensagem Linha 1|
Mensagem Linha 2') -> Sem desconto /
acrscimo mas informando 2 linhas de mensagem
para serem impressas no rodap.

ECF.EfetuaPagamento( cCodFormaPagto,
Parmetros:
nValor [, cObservacao,
cCodFormaPagto
bImprimeVinculado ] ) ;

- ndice da Forma de
pagamento cadastrada no ECF. Para conhecer
todas as Formas de pagamento cadastradas e seus
respectivos ndices, utilize o comando
ECF.FormasPagamento
nValor - Valor pago para essa forma de
pagamento.
cObservacao - Pode ser omitido. Alguns ECFs
permitem a impresso de at 2 linhas de
observao para cada forma de pagamento
bImprimeVinculado - Pode ser omitido, nesse
caso assume "False". Se for informado "True"
para este parmetro, o ACBr apenas verifica se
permitido imprimir Cupom No Fiscal Vinculado
para essa forma de Pagamento.
Exemplos:
- EfetuaPagamento( "01", 10 ) -> Pagando R$
10,00 para a Forma de Pagamento 01
- EfetuaPagamento( "02", 5.43, "Pagamento A
PRAZO" ) -> Pagando R$ 5,43 para a Forma de
Pagamento 02, imprimindo uma observao
sobre o Pagamento
- EfetuaPagamento( "03", 30, "TEF", True ) ->

OK:

Pagando R$ 30,00 para a Forma de Pagamento


03, imprimindo a Observao "TEF" e
verificando se a Forma de pagamento 03 permite
ou no a emisso de Cupom Vinculado
ECF.FechaCupom
[ ( cMensagemRodape ) ]

Parmetros:
cMensagemRodape - Parmetro opcional.
Informe at 8 linhas de mensagem a serem
impressas no rodap do cupom. Se esse
parmetro for omitido aqui, porm foi informado
em ECF.SubtotalizaCupom , o texto informado
anteriormente ser utilizado.

OK:

Exemplos:
ECF.FechaCupom ;
ECF.FechaCupom( 'Mensagem Linha 1|
Mensagem Linha 2') -> Informando 2 linhas de
mensagem para serem impressas no rodap.
Notas: Utilize a mensagem no rodap para
identificar o Cliente, (Nome, Documento,
Endereo, etc)
Este comando s pode ser executado aps o Total
de Pagamentos (ECF.TotalPago) efetuados com
ECF.EfetuaPagamento atingir ou ultrapassar o
valor de ECF.SubTotal
ECF.CancelaCupom

ECF.SubTotal

ECF.TotalPago
ECF.NaoFiscalCompleto
ECF.AbreNaoFiscal
ECF.RegistraItemNaoFiscal
ECF.SubtotalizaNaoFiscal
ECF.EfetuaPagamentoNaoFiscal
ECF.FechaNaoFiscal
ECF.CancelaNaoFiscal
ECF.LeituraX

Cancela o Cupom Fiscal atual (se estiver aberto)


em qualquer estgio do Cupom.
Se no houver cupom aberto, cancela o ltimo
Cupom emitido, caso o ltimo documento seja
realmente um Cupom Fiscal.

OK:

Retorna o Sub-total do cupom atual (em aberto).


OK: 234,94
Considerando a soma dos Itens Vendidos, o Desconto /
Acrscimo concedido em ECF.SubtotalizaCupom e os
pagamentos j efetuados com ECF.EfetuaPagamento
Retorna o Total de pagamentos j efetuados quando o ECF OK: 100
est no estado estPagamento

Emite o relatrio de Leitura X.


Nota: em alguns estados, necessrio imprimir uma
Leitura X todo inicio de dia e cada inicio de Bobina

ECF.ReducaoZ[( dDataHora )]

Parmetros:
dDataHora - Data / Hora atual do micro.
Parmetro pode ser omitido. Se dDataHora for
informado, o ACBrECF tentar acertar o relgio
do ECF (disponvel apenas em alguns ECFs),
aumentando ou diminuindo o horrio no mximo
de 5 minutos por dia.

OK:

Exemplos:
ECF.ReducaoZ -> Parmetro dDataHora foi
omitido
ECF.ReducaoZ("14/08/06 18:05:20") ->
Informando o Parmetro dDataHora
ECF.ReducaoZ("14/08/2006 18:05") ->
Informando o Parmetro dDataHora
Nota: Se emitido no mesmo dia fiscal, bloqueia o
ECF at as 24:00hs.
Se no for emitida no mesmo dia fiscal o ECF
ficar bloqueado, e o ACBr retornar o Estado
como estRequerZ. Nesse caso ser necessrio
emitir a Reduo Z pendente (do dia anterior)
para liberar o ECF
Cuidado: Apenas comande a Reduo Z se o
estado do ECF for estRequerZ ou se voc deseja
realmente bloquear o ECF at a meia-noite (fim
de dia)
ECF.PoucoPapel
ECF.HorarioVerao

Retorna True se o ECF est com Pouco Papel


Retorna True se o est em Horrio de vero.

OK: False
OK: False

Nota: Isso tambm pode ser constatado observando a letra


V ao lado da Hora no rodap do Cupom Fiscal
ECF.Arredonda

Retorna True se o ECF arredonda os valores do


Total por Item durante a Venda
Exemplo: Qtd 1 x Preo Unit. 1,207 = 1,21 com
Arredondamento no ECF ou 1,20 se o ECF no
est com o arredondamento habilitado.
Nota: Na maioria dos ECFs o Arredondamento
deve ser programado, o que pode ser feito com o
comando ECF.MudaArredondamento
Em alguns ECFs o arredondamento definido de
acordo com o comando enviado para a Venda de
Item, nesse caso, o ACBr procura usar o
Arredondamento sempre que possvel.

OK: False

Aps o convnio do ICMS 56/94 o


arredondamento no mais permitido, portanto
todos os novos ECFs apenas Truncam o Total por
Item.
ECF.MFD
ECF.Termica
ECF.Estado

ECF.AbreGaveta

ECF.GavetaAberta

ECF.ImprimeCheque( cBanco, nValor,


cFavorecido, cCidade, dData [,

Retorna True se o ECF possui MFD.


Retorna True se o ECF possui impresso Trmica

Retorna o estado atual do ECF, podendo ser:

estNaoInicializada, Porta Serial ainda


no foi aberta;

estDesconhecido, Porta aberta, mas


estado ainda no definido;

estLivre, Impressora Livre, sem nenhum


cupom aberto pronta para nova venda,
Reduo Z e Leitura X ok, pode ou no j
ter ocorrido 1 venda no dia...;

estVenda, Cupom de Venda Aberto com


ou sem venda do 1 Item;

estPagamento, Iniciado Fechamento de


Cupom com Formas Pagamento pode ou
no ter efetuado o 1 pagamento. No
pode mais vender itens, ou alterar Subtotal;

estRelatorio, Imprimindo Cupom Fiscal


Vinculado ou Relatrio Gerencial;

estBloqueada, Reduo Z j emitida,


bloqueada at as 00:00;

estRequerZ, Reduo Z do dia anterior


ainda no foi emitida. Emitir agora;

estRequerX, Esta impressora requer


Leitura X todo inicio de dia. necessrio
imprimir uma Leitura X para poder
vender

Aciona a abertura da gaveta de dinheiro ligada ao


ECF
Retorna True se a gaveta de dinheiro est
aberta

OK: True
OK: True
OK: estLivre

OK:

OK: False

cObservao ] )
ECF.CancelaImpressaoCheque
ECF.ChequePronto
ECF.MudaHorarioVerao
[ ( bHorarioVerao ) ]
ECF.MudaArredondamento( bArredonda
)
ECF.PreparaTEF

ECF.CorrigeEstadoErro

ECF.AbreRelatorioGerencial
ECF.RelatorioGerencial
ECF.LinhaRelatorioGerencial( cLinha )
ECF.PulaLinhas( nNumLinhas )
ECF.AbreCupomVinculado( cCOO ,
cCodFormaPagto , nValor )
ou
ECF.AbreCupomVinculado( cCOO ,
cCodFormaPagto ,
cCodComprovanteNaoFiscal , nValor )
ECF.LinhaCupomVinculado( cLinha )
ECF.CupomVinculado( cCOO ,
cCodFormaPagto , nValor )
ou
ECF.CupomVinculado( cCOO ,
cCodFormaPagto ,
cCodComprovanteNaoFiscal , nValor )
ECF.FechaRelatorio
ECF.LeituraMemoriaFiscal( dDt.Inicial,
dDt.Final )
ou
ECF.LeituraMemoriaFiscal( nReducaoIni
cial , nReducaoFinal )
ECF.LeituraMemoriaFiscalSerial( dDt.Ini
cial , dDt.Final )
ou
ECF.LeituraMemoriaFiscalSerial( nReduc
aoInicial , nReducaoFinal )
ECF.LeituraMFDSerial
ECF.EnviaComando( cComando )
ou
ECF.EnviaComando( cComando ,

OK:

- Verifica se existe algum relatrio Gerencial ou


Vinculado aberto, se for o caso, fecha-o.
- Carrega as tabelas de Formas de Pagamento e
Comprovantes no Fiscais na memria.
- Deve ser chamado apenas no inicio da aplicao
Verifica o estado atual do ECF e efetua as
operaes necessrias para deixar o ECF no
estado livre. Portanto esse mtodo tenta fechar ou
cancelar qualquer documento que esteja aberto.
Em alguns ECFs comandos adicionais so
enviados para tentar desbloquear o ECF de
alguma condio de erro que impea a impresso
de novos documentos.

OK:

nTimeOut )

Comandos aceitos pelo Objeto CHQ


Comando
CHQ.Ativar

CHQ.Desativar
CHQ.Ativo
CHQ.ModeloStr

CHQ.Modelo

CHQ.Porta
CHQ.Banco
CHQ.SetBanco( cCodBanco )
CHQ.Cidade
CHQ.SetCidade( cCidade )
CHQ.Favorecido

Ao

Ativa a comunicao com a Impressora de Cheques. No precisa ser usado..


ACBrMonitor ativar o componente se for necessrio.
Desativa a comunicao com a impressora de Cheques
Retorna True se a comunicao com a Impressora de Cheques est ativa

Retorna Texto descritivo do Modelo da Impressora de Cheque selecionada n


ACBrMonitor. Exemplo: Bematech

Retorna Texto com o valor da propriedade Modelo de ACBrCHQ. Exempl


chqBematech
Retorna Texto com a Porta utilizada para a comunicao serial / paralela
Retorna Texto com o Banco atual

Informa para a Impressora de Cheques o lay-out de Banco que ser utilizado


Retorna Texto com a Cidade atual
Informa para a Impressora de Cheques a Cidade
Retorna Texto com o Favorecido atual

CHQ.SetFavorecido( cFavorecido )
CHQ.Observacao

Informa para a Impressora de Cheques o Nome do Favorecido

CHQ.SetObservcao(cObservacao)
CHQ.Valor

Informa para a Impressora de Cheques Observaes a serem impressas no cheque

CHQ.SetValor( nValor )
CHQ.Data
CHQ.SetData( dData )
CHQ.ChequePronto

Informa para a Impressora de Cheques o Valor a ser impresso


Retorna Texto com a Data atual
Informa para a Impressora de Cheques a data a ser impressa

CHQ.ImprimirCheque
CHQ.TravarCheque

CHQ.DestravarCheque
CHQ.ImprimirLinha ( cTexto )

Retorna Texto com a Observao atual


Retorna Texto com o Valor atual

Retorna True se o papel estiver posicionado corretamente. Nota: Nem toda


as impressoras de Cheque possuem este sensor, ou retornam essa informao

Efetua a impresso do Cheque com os parmetros informados anteriormente

Aciona o mecanismo de travamento do documento. Disponvel apenas em


algumas impressoras de Cheque. Em alguns modelos necessrio enviar est
comando antes de imprimir linhas avulsas
Libera o documento preso com o comando TravarCheque
Impresso de linha de texto livre. Em alguns equipamentos necessrio
executar TravarCheque antes, e DestravarCheque aps o termino da
impresso.

CHQ.ImprimirVerso( cLinhas )

Impresso de vrias linhas de texto livre. Geralmente usadas para impresso


de endereo e telefone no verso do cheque. Em alguns equipamentos
necessrio executar TravarCheque antes, e DestravarCheque aps o termino
da impresso.

Comandos aceitos pelo Objeto GAV


Comando
GAV.Ativar

GAV.Desativar

GAV.Ativo
GAV.ModeloStr

GAV.Modelo

GAV.Porta
GAV.AbreGaveta
GAV.GavetaAberta

Ao

Ativa a comunicao com a Gaveta de Dinheiro. No precisa ser usado... o


ACBrMonitor ativar o componente se for necessrio. (usado apenas em
Gavetas Seriais)

Desativa a comunicao com a Gaveta de Dinheiro (usado apenas em Gavet


Seriais)
Retorna True se a comunicao com a Gaveta de Dinheiro est ativa
Retorna Texto descritivo do Modelo da Gaveta de Dinheiro selecionada no
ACBrMonitor. Exemplo: Gerbo Serial

Retorna Texto com o valor da propriedade Modelo de ACBrGAV. Exempl


gavSerialGerbo
Retorna Texto com a Porta utilizada para a comunicao serial / paralela
Comanda a Abertura da Gaveta de Dinheiro.
Retorna True se a Gaveta de Dinheiro estiver aberta.
Nota: No possvel ler o estado da Gaveta em Impressoras Comuns (nofiscal) de bobina.

GAV.StrComando

GAV.SetStrComando

Retorna a String descrevendo o comando que ser enviado para a


Impressora para causar a abertura da gaveta. Veja GAV.SetStrComando
abaixo.
til apenas quando a Gaveta de Dinheiro est ligada a uma Impressora
Comum de Bobina. Consulte o manual de sua impressora para saber a
sequencia de caracteres de comando a enviar para a impressora para acionar
abertura da Gaveta. Separe todos os caracteres por virgula (,). Para definir
caracteres de comando, utilize o sinal # seguido de 3 digitos com o cdigo
ASC II do caracter.
Exemplo: para abrir a Gaveta em impressoras de bobina Bematech use o
comando: #027,v,#140 ou seja, ESC+'v'+chr(140)

GAV.AberturaIntervalo

GAV.SetAberturaIntervalo

Retorna o mnimo intervalo de tempo de espera (em milisegundos) entre um


abertura da Gaveta e outra. Veja GAV.SetAberturaIntervalo abaixo

Define o intervalo de tempo de espera (em milisegundos) entre uma abertura

da Gaveta e outra. Este tempo pode variar muito de um modelo de Gaveta e


outro.
Gavetas ligadas diretamente a porta Serial demoram mais para carregar seu
capacitor interno a fim de permitir uma nova abertura. (de 5 a 7 segundos)
Gavetas ligadas a Impressoras Fiscais ou Impressoras de Bobina podem ser
re-abertas rapidamente (em mdia 300 a 500 milisegundos)

Comandos aceitos pelo Objeto DIS


Comando
DIS.Ativar
DIS.Desativar
DIS.Ativo
DIS.ModeloStr
DIS.Modelo

DIS.Porta
DIS.Trabalhando

Ao

Ativa a comunicao com o Display de Mensagem


Desativa a comunicao com o Display de Mensagem
Retorna True se a comunicao com o Display est ativa
Retorna Texto descritivo do Modelo do Display selecionada no ACBrMonitor

Retorna Texto com o valor da propriedade Modelo de ACBrDIS. Exemplo


disKeytecTeclado
Retorna Texto com a Porta utilizada para a comunicao serial / paralela

Retorna True se a Thread do componente est executando alguma opera


de exibio no Display (efeitos como Rolar, Vai e Vem, etc)

DIS.LinhasCount
DIS.SetLinhasCount
DIS.Colunas
DIS.SetColunas
DIS.Alinhamento
DIS.SetAlinhamento
DIS.Intervalo
DIS.SetIntervalo
DIS.Passos
DIS.SetPassos
DIS.LimparDisplay
DIS.Escrever
DIS.PosicionarCursor
DIS.Parar
DIS.Continuar
DIS.PararLinha
DIS.ContinuarLinha
DIS.ExibirLinha
DIS.RolarLinha

Comandos aceitos pelo Objeto LCB


Comando
LCB.Ativar
LCB.Desativar
LCB.Ativo

Ao

Ativa a comunicao com o dispositivo Serial


Desativa a comunicao com o dispositivo Serial
Retorna True se a comunicao com o dispositivo est ativa

LCB.Porta
LCB.Intervalo
LCB.SetIntervalo
LCB.UltimaLeitura
LCB.UltimoCodigo
LCB.EnviarString
LCB.LerString
LCB.UsarFila
LCB.SetUsarFila
LCB.FilaMaxItens
LCB.SetFilaMaxItens
LCB.LerFila
LCB.ApagarFila
LCB.FilaCount
LCB.PrefixoAExcluir
LCB.SetPrefixoAExcluir
LCB.Sufixo
LCB.SetSufixo
LCB.ExcluirSufixo
LCB.SetExcluirSufixo

Retorna Texto com a Porta utilizada para a comunicao serial / paralela