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 

emulador emulfith vs 1.02 (mp-2000)

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


Registrado: Sexta-Feira, 10 de Novembro de 2006
Mensagens: 687
Localização: Fortaleza-CE

MensagemEnviada: Seg Set 08, 2008 8:03 pm    Assunto: emulador emulfith vs 1.02 (mp-2000) Responder com Citação

Pessoal to tendo problemas quando preciso emitir troco na impressora (to usando o emulador emulfith vs 1.02 - mp2000) quando passo um valor pra variável maior que o valor da venda pra poder sair o troco na impresora acontece o seguinte:
exemplo:

Total 14,60
Dinheiro 0,15
Dinheiro 14,45
SOMA 14,60

o valor da venda é 14,60 eu passo 15,00 para o parametro ValorRecebido pra ver o troco e sai desse jeito ai alguem tem idéia do que pode ser?
_________________
João Arthur.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
yywander
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 22 de Março de 2006
Mensagens: 123

MensagemEnviada: Ter Set 09, 2008 4:57 pm    Assunto: Responder com Citação

O que vc esta usando para comunicação? Se for a DLL aconselho sempre atualizar e verificar seu Help e ver sobre a formatação dos parâmetros...!
Seria bom se colocasse o código aqui pra agente ver...!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joao_arthur
Profissional
Profissional


Registrado: Sexta-Feira, 10 de Novembro de 2006
Mensagens: 687
Localização: Fortaleza-CE

MensagemEnviada: Ter Set 09, 2008 8:33 pm    Assunto: Responder com Citação

Código:
procedure TForm1.ImprimeCupomFiscal(strFormaPagto,strBomPara,strValorRecebido: string);
var
  intRetorno,intACK,intST1,intST2,intTamanho,intPosicao,intContador: Integer;
  strCodigo,strDescricao,strQuantidade,strValorUnit,strDesconto,strMensagem,strTemp: string;
  blnParar: Boolean;
  strTipoECF: string;
  FArquivo: TextFile;
begin
  AssignFile(FArquivo,'ConfigECF.txt');
  Reset(FArquivo);
  Readln(FArquivo,strTipoECF);
  CloseFile(FArquivo);

  blnParar:= False;
  strTemp:= Trim(fldDesconto.caption);
  intTamanho:= Length(strtemp);
  intPosicao:= Pos(',',strTemp);
  for intContador:= intPosicao to (intTamanho - 1) do
    strTemp[intContador]:= strTemp[intContador+1];
  strTemp[intTamanho]:= ' ';
  strDesconto:= trim(strTemp);
  strDesconto:= strZero(strDesconto,4);

  intRetorno:= bematech_FI_AbrePortaSerial;
  if AnalisaRetornoECF(intRetorno) = 1 then
  begin
    if UpperCase(Trim(strTipoECF)) = 'MATRICIAL' then
      intRetorno:= Bematech_FI_AbreCupom('')
      else
        intRetorno:= Bematech_FI_AbreCupomMFD('','','');
    if AnalisaRetornoECF(intRetorno) = 1 then
    begin
    tblVendas.First;
    while not tblVendas.eof do
    begin
      strCodigo:= tblVendas.FieldByName('codprod').asString;
      strDescricao:= Copy(tblVendas.fieldByName('descprod').asString,1,29);
      strQuantidade:= Trim(IntToStr(tblVendas.fieldByName('quantidade').asInteger));
      strValorUnit:= Trim(Format('%8.2f',[tblVendas.fieldByName('precounitario1').asFloat]));

      intRetorno:= Bematech_FI_VendeItem(PChar(strCodigo),
                                         PChar(strDescricao),
                                         'II',
                                         'I',
                                         PChar(strQuantidade),
                                         2,
                                         PChar(strValorUnit),
                                         '%',
                                         PChar('0000'));
      if AnalisaRetornoECF(IntRetorno) <> 1 then
      begin
        blnparar:= True;
        Break;
      end;
      tblVendas.next;
    end;
    if not blnParar then
    begin
      strMensagem:= 'Obrigado pela preferencia !';
      if strBomPara <> '' then
        strMensagem:= strMensagem + #13 + 'Cheque pré para '+strBomPara;
      if UpperCase(Trim(strTipoECF)) = 'MATRICIAL' then
        intRetorno:= Bematech_FI_FechaCupom(PChar(strFormaPagto),
                                          'D',
                                          '%',
                                          PChar(strDesconto),
                                          PChar(StrValorRecebido),
                                          PChar(strMensagem))
      else
      begin
        intRetorno:= Bematech_FI_IniciaFechamentoCupomMFD(
        'D','%','0000',PChar(strDesconto));
          AnalisaRetornoECF(intRetorno);
          intRetorno:= Bematech_FI_EfetuaFormaPagamentoMFD(
          PChar(strFormaPagto),PChar(StrValorRecebido),'1','A VISTA');
          AnalisaRetornoECF(intRetorno);
          intRetorno:= Bematech_FI_TerminaFechamentoCupom(PChar(strMensagem));
          end;
          AnalisaRetornoECF(intRetorno);
      intRetorno:= bematech_FI_FechaCupom(PChar(strFormaPagto),
                                          'D',
                                          '%',
                                          PChar(strDesconto),
                                          PChar(strValorRecebido),
                                          PChar(strMensagem));
      AnalisaRetornoECF(intRetorno);
    end;
  end;
end
else
  Application.MessageBox('Emissão de cupom fiscal abortada !','Mensagem',mb_OK);
  intRetorno:= bematech_FI_FechaPortaSerial;
  analisaRetornoECF(intRetorno);
end;



quando utilizo o emulfith 1.01 só da problema no troco e quando utilizo o emul2100 ele nem abre o cupom fiscal da 'comando nao exucutado'
alguem pode ajudar?
_________________
João Arthur.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
joao_arthur
Profissional
Profissional


Registrado: Sexta-Feira, 10 de Novembro de 2006
Mensagens: 687
Localização: Fortaleza-CE

MensagemEnviada: Qua Set 10, 2008 4:21 pm    Assunto: Responder com Citação

up
_________________
João Arthur.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
joao_arthur
Profissional
Profissional


Registrado: Sexta-Feira, 10 de Novembro de 2006
Mensagens: 687
Localização: Fortaleza-CE

MensagemEnviada: Seg Set 15, 2008 3:07 pm    Assunto: Responder com Citação

up
_________________
João Arthur.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
anfm
Novato
Novato


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

MensagemEnviada: Seg Set 15, 2008 3:51 pm    Assunto: Responder com Citação

Provavelmente o conteúdo da variável strValorRecebido está com o conteúdo errado. Vc está passando 15 reais e o ECF está entendendo como 15 centavos.

Veja se o conteúdo da variável está 15,00 ou apenas 15, o correto é o valor com decimais.
_________________
Conheça o Projeto ACBr:
http://acbr.sf.net

http://anfm.blogspot.com
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joao_arthur
Profissional
Profissional


Registrado: Sexta-Feira, 10 de Novembro de 2006
Mensagens: 687
Localização: Fortaleza-CE

MensagemEnviada: Seg Set 15, 2008 8:09 pm    Assunto: Responder com Citação

cara você tem razão é isso mesmo que ta acontecendo quando eu passo o valor pra variável por exemplo 15, ai da aquele problema mas quando passo 15,00 ai funfa direitinho...como posso fazer pra resolver isso? alguma idéia?

desde já agradeço pela atenção.
_________________
João Arthur.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
anfm
Novato
Novato


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

MensagemEnviada: Ter Set 16, 2008 8:59 am    Assunto: Responder com Citação

Tente usar a função FormatFloat

Código:
strValorRecebido := FormatFloat('##0.00', Valor);

_________________
Conheça o Projeto ACBr:
http://acbr.sf.net

http://anfm.blogspot.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