Levando uma coça da BEMATECH
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:
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
Curtidas 0
Respostas
Fer
15/10/2003
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
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
GOSTEI 0
Marcao
15/10/2003
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
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
GOSTEI 0
Aroldo Zanela
15/10/2003
Colega,
Segue um exemplo:
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;
GOSTEI 0