GARANTIR DESCONTO

Fórum Levando uma coça da BEMATECH #188779

15/10/2003

0

Olá amigos estou levando uma coça por favor me ajudem
o seguinte quando eu lanco um item acontece o seguinte
o valor não sai exato

por exemplo:
mando R$0,55 ( cinqüenta e cinco CENTAVOS ) e ela me retorna no cupom R$55,00 ( cinqüenta e cinco REAIS )

TEM COMO EU ARUMAR ISSO?

EU SEI QUE É O ESQUEMA DAS CASAS DECIMAIS MAS INFELIZMENTE NÃO SEI COMO DESCOBRIR QUANTAS CASAS DECIMAIS TEM O VALOR QUE EU PACEI

ALGUÉM PODERIA ME AJUDAR COM URGÊNCIA POR FAVOR :evil: :shock:


Djonatas

Djonatas

Responder

Posts

15/10/2003

Fer

Ola amigo, ainda não trabalhei com a BEMATECH, mas algumas impressoras como a Daruma vc deve remover a virgula antes de enviar para a impressora, Já a Urano vc deve mandar Mandar com a virgula, Já a Dll génerica da Afrac vc deve enviar ponto no lugar de virgula ...

Aconselho vc ler o manual da dll da BEMATECH, pois lá vc encontrará como deve enviar o valor unitário. Verifique tb se vc não esta mandando a quantidade errada ( pode ser isso).
Pesquise tb sobre a Afrac !!! =)

Espero ter ajudado =)
Falow


Responder

Gostei + 0

15/10/2003

Marcao

Boa tarde DJONATAS,

A Bematech nao trabalha com casas decimais, voce tem pegar o valor do item e multiplicar por 100, para que o valor se torne inteiro, e depois é só completar com zeros a esquerda, nao me lembro se é 7, 8 ou 9 zeros a esquerda.

Espero ter ajudado,

Marcos


Responder

Gostei + 0

15/10/2003

Aroldo Zanela

Colega,

Segue um exemplo:

Procedure TfrmCAIXA_bematech.PassarItem( CodBarra: String );
varnValor: Currency;
    nTotal: Currency;
    sQtde, sTipoQtde, cICMS, cDescricao: String;
    nResto, Topo: Integer;
Begin

nValor:= qProdutosVR_VENDA.Value;// Pega o valor normal

// Verifica se esta em promoção e pega o vlr se estiver
If ( qProdutosVR_PROMO.Value > 0.00 ) Then nValor := qProdutosVR_PROMO.Value;

 cICMS:= PegarICMS(qProdutosCD_TRIBUTO.Value);

  // Formatação da string para impressora fiscal
  cDescricao := PadR( Copy( qProdutosDESCRICAO.Value, 1, 29 ), 29, ´ ´ );

// Verificando se é fracionado
  if rxQtde.Value>Trunc(rxQtde.Value) then
  begin
nResto  := Trunc((rxQtde.Value-Trunc(rxQtde.Value))*1000);
  sTipoQtde:= ´F´;
    sQtde:= StrZero(Trunc(rxQtde.Value),4)+StrZero(nResto,3);
  end else
  begin
  sQtde:= StrZero(Trunc(rxQtde.Value),4);
  sTipoQtde := ´I´;
end;

nTotal    := (nValor*rxQtde.Value);
  nTotal:= Trunc(nTotal*100)/100;

iRetorno   := Bematech_FI_VendeItem( CodBarra, cDescricao, PChar(cICMS), sTipoQtde,
                                        PChar(sQtde),2,PChar(PadL(FloatToStrF(nValor,ffNumber,09,02),09,´0´)),
                                        ´$´,PChar(´0000´));

  Analisa_iRetorno;
  Retorno_impressora;

  if iRetorno<>1 then exit;

  Inc(nItem);
  OldValor  := nTotal;
  lCancelar:= true;
  // Relacionar os itens vendidos e obter o numero no indice
  Topo:= lbItens.Items.Add(
                  cDescricao + ´ ´ +
                  PadL(FloatToStr(rxQtde.Value),07,´ ´)+´ ´+
                  PadL(FloatToStrF(nValor,ffNumber,09,02),09,´ ´)+´ ´+
                  PadL(FloatToStrF(nTotal,ffNumber,09,02),12,´ ´)+´ ´+
                  PadL(cICMS,5,´ ´)+´ ´+
                  StrZero(nItem,04));

  // Rolar a tela para o elemento adicionado

  lbItens.TopIndex:= Topo;
  rxGrandeTotal.Value:= ( rxGrandeTotal.Value + nTotal );


End;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar