Beruflich Dokumente
Kultur Dokumente
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.
Voc deve criar um arquivo com os comandos desejados, na sintaxe do ACBr (veja abaixo), no
arquivo de entrada. Um comando por linha.
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).
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...
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)
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:
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"
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
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
ECF.DadosUltimaReducaoZ
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
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
ECF.ProgramaAliquota( nValorAliquota[,
Parmetros:
cTipoAliquota , cPosicaoAliquota] )
ECF.CarregaFormasPagamento
ECF.LerTotaisFormaPagamento
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
NaoFiscais
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:
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:
Parmetros:
cCodigo - Texto com o cdigo do produto,
geralmente aceito at 13 caracteres, alguns
OK:
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,
OK:
cMensagemRodape ) ]
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:
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
OK:
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
OK: False
OK: False
OK: False
ECF.AbreGaveta
ECF.GavetaAberta
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:
OK:
nTimeOut )
CHQ.Desativar
CHQ.Ativo
CHQ.ModeloStr
CHQ.Modelo
CHQ.Porta
CHQ.Banco
CHQ.SetBanco( cCodBanco )
CHQ.Cidade
CHQ.SetCidade( cCidade )
CHQ.Favorecido
Ao
CHQ.SetFavorecido( cFavorecido )
CHQ.Observacao
CHQ.SetObservcao(cObservacao)
CHQ.Valor
CHQ.SetValor( nValor )
CHQ.Data
CHQ.SetData( dData )
CHQ.ChequePronto
CHQ.ImprimirCheque
CHQ.TravarCheque
CHQ.DestravarCheque
CHQ.ImprimirLinha ( cTexto )
CHQ.ImprimirVerso( cLinhas )
GAV.Desativar
GAV.Ativo
GAV.ModeloStr
GAV.Modelo
GAV.Porta
GAV.AbreGaveta
GAV.GavetaAberta
Ao
GAV.StrComando
GAV.SetStrComando
GAV.AberturaIntervalo
GAV.SetAberturaIntervalo
DIS.Porta
DIS.Trabalhando
Ao
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
Ao
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