Página 1 de 1
procura de produtos na venda
Enviado: 10 Ago 2005 09:04
por matrix
pessoal tenho o campo codigo(numerico) e o campo barras(Numerico), e um terceiro campo LEITOR(numerico), entaum fiz o seguinte, quando o campo barras é preenchido este tem preferencia de gravacao no campo Leitor, caso esteja em branco é gravado o codigo..........assim crio indice e é nele que procuro o produto na venda, ou seja busco no campo leitor que está gravado codigo ou barras, como farei pra buscar pelas duas opçoes, tipo assim posso digitar o codigo ou passar o leitor que virá o mesmo produto......
agradeço.
Enviado: 10 Ago 2005 10:09
por Alessandro
Caro colega, Matriz
Se bem entendi o que quis dizer, é dessa forma,
Vc tem dois campos, CODIGO e COD.BARRA, exato?
Onde CODIGO é o preferencial, pois vem, quando vc passa o leitor, verifique se a entrada se encontra no CODIGO, senão, verifique no código de barras.
Espero que tenha ajudado
Enviado: 10 Ago 2005 11:06
por matrix
tem um terceiro campo que é o campo LEITOR, o que prevalece no campo LEITOR é o campo CODIGO, mas se existir dados no campo BARRAS, aproveita-se os dados do campo BARRAS..............
dessa forma de busca naum fica muito lento o processo????
Enviado: 10 Ago 2005 18:45
por janio
Olá Matrix,
Não sei se entendi direito, mas se for o que estou pensando, veja:
Eu utilizo dessa forma e tem funcionado!
No cadastro dos produtos, tenho o CODIGO do produto (numerico,4) gerado pelo sistema, como o CODIGO DE BARRAS (Caractere,13) de cada produto.
O que acontece: No momento da venda, tenho um GET com 13 opcoes para a digitação do produto.
Se o CODIGO DIGITADO for 08 ou 13 posições (a maioria dos codigos de barras sao 08 ou 13 posições) busco no DBF o produto pelo indice do codigo de barras. Se o CODIGO DIGITADO for DIFERENTE de 08 ou 13 posições, aí busco pelo codigo do produto gerado pelo sistema. Assim, o usuário tanto pode digitar o codigo de barras do produto, como o codigo que o sistema gerou para cada produto.
Veja:
Código: Selecionar todos
While .T.
sCorpo:=SaveScreen(07,00,24,79)
vCODBAR = SPACE(13)
vQTDPRD = 1
vVLRUNI = 0
SET CONFIRM ON
@ 05,02 GET vCODBAR Pict "9999999999999"
READ
IF LASTKEY() = 27
LOOP
ENDIF
If LASTKEY() = 23
IF LEN( Mproduto ) <> 0
FINALIZA()
EXIT
ENDIF
ENDIF
IF Len(AllTrim(vCODBAR)) <> 13 .AND. Len(AllTrim(vCODBAR)) <> 08
SELECT PRODUTO
DBSETORDER(1) // indice do CODIGO DO PRODUTO
GOTO TOP
DBSEEK(VAL(vCODBAR))
IF !FOUND()
TONE(600,4)
TONE(610,4)
TONE(4000,4)
TONE(4009,4)
LOOP
ENDIF
*******************************
**** se for CODIGO DE BARRA ****
*******************************
ELSE
SELECT PRODUTO
DBSETORDER(4) // indice do CODIGO DE BARRAS
GOTO TOP
DBSEEK(vCODBAR)
IF !FOUND()
TONE(600,4)
TONE(610,4)
TONE(4000,4)
TONE(4009,4)
LOOP
ENDIF
ENDIF
Um abraço,
Janio
Enviado: 12 Ago 2005 11:34
por matrix
naum sei se vai funcionar mas creio que sim, é isso mesmo.
valeu