ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Dll Bematech

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Automação Comercial
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Illuminattus
Novato
Novato


Registrado: Sexta-Feira, 25 de Agosto de 2006
Mensagens: 4

MensagemEnviada: Dom Fev 03, 2008 2:31 am    Assunto: Dll Bematech Responder com Citação

Boa noite a todos.
Estou começando a tentar desenvolver algo que utilize impressora fiscal, no caso bematech.
Agora e meu ver a dll da bematech é muito confusa,
todas as funções retornam um valor inteiro, já visualizei os fontes de exemplo da bematech, mas tento fazer igual no meu programa gera erros.
alguém poderia dar um exemplo básico de como efetuar uma venda
abrir cupom
vender item
e fechar cupom
eu estou usando o emulador da bemtech.
Um exemplo que eu acho confuso a funçõe sque retorna o número de série da impressora, ela pede como parâmetro o número de série, mas se eu to executando a função para saber qual é o número de série da impressora, como que eu vou passar ele,como que eu vou atribuir o número de série para sair num edit por exemplo se a função retorna um inteiro.
alguém pode dar um help.
valeu galera t+;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
anfm
Novato
Novato


Registrado: Quinta-Feira, 15 de Fevereiro de 2007
Mensagens: 39
Localização: Tatuí-SP

MensagemEnviada: Seg Fev 04, 2008 10:59 am    Assunto: Responder com Citação

Exemplo utilizando a DLL da Bematech:

Código:

cCPF := '11.111.111-11';
iRetorno := Bematech_FI_AbreCupom( pchar( cCPF ) ); 

cCodigo        := '123';
cDescricao     := 'Caneta';
cAliquota      := '1200';
cTipoQtde      := 'I';
cQtde          := '10';
iCasasDecimais := 2;
cValor         := '0,25';
cTipoDesconto  := '%';
cValorDesc     := '0000';

iRetorno := Bematech_FI_VendeItem( pchar( cCodigo ),
                                   pchar( cDescricao ),
                                   pchar( cAliquota ),
                                   pchar( cTipoQtde ),
                                   pchar( cQtde ),
                                   iCasasDecimais,
                                   pchar( cValor ),
                                   pchar( cTipoDesconto ),
                                   pchar( cValorDesc ) );

cAcreDesc      := 'A';
cTipoAcreDesc  := '%';
cValorAcreDesc := '1000';
iRetorno := Bematech_FI_IniciaFechamentoCupom( pchar( cAcreDesc ), pchar( cTipoAcreDesc ), pchar( cValorAcreDesc ) );

cFormaPgto := 'DINHEIRO';
cValorPago := '100,00';
iRetorno := Bematech_FI_EfetuaFormaPagamento( pchar( cFormaPgto ), pchar( cValorPago ) );

cMsgPromocional := 'Obrigado, volte sempre !!!';
iRetorno := Bematech_FI_TerminaFechamentoCupom( pchar( cMsgPromocional ) );



Exemplo usando ACBr:

Código:

ACBrECF1.AbreCupom( '000.000.001-91', 'Nome do Cliente', 'Endereco do Cliente' );

ACBrECF1.VendeItem( '00001', 'Descricao do Produto',
                               'II', 1,
                               1,00,
                              0, 'UN', '%');

ACBrECF1.SubtotalizaCupom( 0 );

ACBrECF1.EfetuaPagamento( '01', 10,00 );
ACBrECF1.FechaCupom( 'Volte Sempre' );
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
anfm
Novato
Novato


Registrado: Quinta-Feira, 15 de Fevereiro de 2007
Mensagens: 39
Localização: Tatuí-SP

MensagemEnviada: Seg Fev 04, 2008 11:04 am    Assunto: Responder com Citação

Sobre o número de série, não é necessário passar o número, e sim uma variável vazia que será utilizada para te retornar o valor que será buscado na impressora:

Código:

for iConta := 1 to 15 do NumeroSerie := NumeroSerie + ' ';
iRetorno := Bematech_FI_NumeroSerie( NumeroSerie );


Neste exemplo acima, vc está passando uma variável chamada "NumeroSerie" com 15 espaços em branco. Ao chamar a função Bematech_FI_NumeroSerie( NumeroSerie ); sua variável "NumeroSerie" será preenchida com o valor do número de série do ECF.

Usando o ACBr, o comando seria o seguinte:

Código:

SuaVariavel := ACBrECF1.NumSerie ;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9099
Localização: Sinop-MT

MensagemEnviada: Sex Fev 08, 2008 6:04 pm    Assunto: Responder com Citação

anfm,

so dando uma "enxugada" no seu codigo, pra nao precisar usar o for:

no lugar desta linha:

for iConta := 1 to 15 do NumeroSerie := NumeroSerie + ' ';

use

SetLength(NumeroSerie, 15);
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Automação Comercial Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB