ecf
Olá pessoal, eu agora mudei, pus para jogar o valor de um TEdit ao invés do XNumEdit para o cupom, mas não está saindo o ítem vendido no cupom, somente abre o cupom, ele pega o valor da query desta maneira
Tá, aí para vender ítem
Ele abre o cupom, mas não imprime os ítems, aí quando vai fechar a venda no sistema, ele cancela o cupom, que na verdade não tinha ítem nenhum, Onde eu estou errando?
Se alguém puder me ajudar, eu agradeço
edt_valor.text:=formatfloat(´#,,0.00´,DM_Dados.ZQuery_Produtos.Fields[7].AsFloat);
Tá, aí para vender ítem
iRetorno := Bematech_FI_VendeItem( Edit_codigo.Text, Ed_Descricao.Text, ´II´, ´I´, Edit_quantidade.Text, 2, edt_valor.Text, ´$´, Edit_desconto.Text);
Ele abre o cupom, mas não imprime os ítems, aí quando vai fechar a venda no sistema, ele cancela o cupom, que na verdade não tinha ítem nenhum, Onde eu estou errando?
Se alguém puder me ajudar, eu agradeço
Taraciuk
Curtidas 0
Respostas
Aroldo Zanela
07/02/2008
Colega,
Peguei um fragmento de uma aplicação minha que funciona há alguns anos:
Peguei um fragmento de uma aplicação minha que funciona há alguns anos:
iRetorno := Bematech_FI_VendeItem( cCodBarras, cDescricao, PChar(cICMS), PChar(cUnidade),// Unidade (Inteiro ou Fração) PChar(cQtde), 2, PChar(PadL(FloatToStrF((tbPedDetalheUNITARIO.AsCurrency),ffNumber,09,02),09,´0´)), ´$´,PChar(´0000´));
GOSTEI 0
Taraciuk
07/02/2008
Aroldo, ali na parte onde no seu código está assim [b:a80e468697]PChar(cICMS), [/b:a80e468697]
vc coloca o valor inteiro do ICMS, tipo eu deveria colocar assim ´1700´, para ICM de 17¬?
E para não dar desconto no ítem vendido, é só eu colocar
[b:a80e468697]PChar(´0000´)[/b:a80e468697] ?
O meu código ficaria assim
vc coloca o valor inteiro do ICMS, tipo eu deveria colocar assim ´1700´, para ICM de 17¬?
E para não dar desconto no ítem vendido, é só eu colocar
[b:a80e468697]PChar(´0000´)[/b:a80e468697] ?
O meu código ficaria assim
iRetorno := Bematech_FI_VendeItem( Edit_codigo.Text, Ed_Descricao.Text, ´1700´, ´I´, Edit_quantidade.Text, 2, edt_valor.Text, ´$´, PChar(´0000´));
GOSTEI 0
Aroldo Zanela
07/02/2008
Colega,
Faz um teste com valores fixos e formatados para ver o resultado. Eu não altero essa rotina há muito tempo mesmo e não sei se a DLL atual precisa ser PChar ou não. Na documentação (no site) tem exemplos atuais eu creio.
Faz um teste com valores fixos e formatados para ver o resultado. Eu não altero essa rotina há muito tempo mesmo e não sei se a DLL atual precisa ser PChar ou não. Na documentação (no site) tem exemplos atuais eu creio.
GOSTEI 0
Taraciuk
07/02/2008
Realmente, segundo o suporte, a bemafi deveria pegar os valores de variáveis, então eu o fiz, aí, eu baixei aquele emulador Emul2100, que diz que é compatível com as MP-25 FI também, porém, no emulador, a impressão sai perfeitamente, imprime os produtos e tudo mais, mas na impressora, sai somente o cabeçalho, não imprime ítem algum, este emulador realmente é útil ou é só pra bonito que ele está lá, eu imaginei que funcionando nele o cupom, na impressora seria a mesma coisa, o que não aconteceu.
Alguma idéia do que poderia ser?
meu código está dessa maneira
O Edit venda recebe o valor assim
Aí para chamar a função:
Alguém poderia me mostrar onde eu estou errando ? :cry:
Alguma idéia do que poderia ser?
meu código está dessa maneira
O Edit venda recebe o valor assim
edt_venda.text:=formatfloat(´#,,0.00´,DM_Dados.ZQuery_Produtos.Fields[7].AsFloat);{se for venda a vista}
edt_venda.text:=formatfloat(´,,0.00´,DM_Dados.ZQuery_Produtos.Fields[8].AsFloat);{se for a prazo}Aí para chamar a função:
var Produto : string; Descricao : string; Qtde : string; Unitario : string; begin Produto := DM_Dados.ZQuery_Produtos.Fields[0].AsString; Descricao := DM_Dados.ZQuery_Produtos.Fields[1].AsString; Qtde := Edit_quantidade.Text; Unitario := formatfloat(´,,0.00´,StrToFloat(edt_valor.Text)); Iretorno := Bematech_FI_VendeItem( PChar(Produto), PChar(Descricao), ´II´, ´I´, PChar(Qtde), 2, PChar(Unitario), ´$´, ´0,00´);
Alguém poderia me mostrar onde eu estou errando ? :cry:
GOSTEI 0
Edilcimar
07/02/2008
iRetorno := Bematech_FI_AbreCupom( Pchar( ´´ ) );
iRetorno := Bematech_FI_VendeItem(Codigo, Descricao, Aliquota, ´I´, Quantidade, 2, ValorUnitario, ´$´, ´0´);
onde
codigo, descricao, quantidade : string
aliquota : string sem o ponto decimal
valorunitario : string com ponto decimal
e depois tem que fazer o fechamento da venda e do cupom
iRetorno := Bematech_FI_VendeItem(Codigo, Descricao, Aliquota, ´I´, Quantidade, 2, ValorUnitario, ´$´, ´0´);
onde
codigo, descricao, quantidade : string
aliquota : string sem o ponto decimal
valorunitario : string com ponto decimal
e depois tem que fazer o fechamento da venda e do cupom
GOSTEI 0