Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-12-2007
Petolansa Petolansa is offline
Miembro
 
Registrado: jul 2005
Posts: 159
Poder: 19
Petolansa Va por buen camino
Comprobar en un while not eof si tiene stock un producto

Buenas gente, aca de nuevo, saca vez que reviso mi programa me doy cuenta que me falta algo, queria saber como comprobar si un producto que aggrege a una tabla temporal o unos productos, tienen stock en el momento que me los plasma en el dbgrid.

Se me ocurrio algo asi, pero me parce que es una burrada porque no anda.

Código Delphi [-]
while not mdtemporal.Eof do
begin
if mdtemporalcodigo.Value=dmzingueria.Stockprocod.Value and mdtemporalcantidad.Value <
dmzingueria.StockPROSTKACT.Value then showmessage ('Este producto esta bajo de Stock')
else
showmessage('Producto Agregado con exito');
end;
mdtemporal.Next;
end;

Quiero recorrer la tabla temporal y quiero hacer que cuando el codigo del producto de mi tabla temporal es igual al codigo del producto de mi tabla de stock y la cantidad de mi tabla temporal es mayor a la de mi prostockactual me diga que este producto esta bajo de stock, y ni se me ocurrio como agregarle la descripcion al cartelido y no si es posible.
La idea es que agrege todos los priodcutos que quiero y cuando le de procesar que seria el paso intermedio al de ir al form de dorma de pago me compruebe si hay stock.
si no me explique bien me avisan y doy mas datos.

Saludos!
Responder Con Cita
  #2  
Antiguo 11-12-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Yo lo que haría es, en la tabla productos, añadir el campo, Existencias y punto pedido.

Cada vez que haces una venta te tendrá que restar estas de la tabla Productos, campo existencias, de esta manera, con tan solo consultar un producto sabrás la existencias que tienes en ese momento, sin tener que recorrer la tabla, aunqu ésta sea temporal. El punto pedido sería para que te avisara que productos son necesario reponer por ser sus existencias insuficientes.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 11-12-2007
Petolansa Petolansa is offline
Miembro
 
Registrado: jul 2005
Posts: 159
Poder: 19
Petolansa Va por buen camino
Buen consejo, lo que hago es cuando va a buscar el articulo a agregar coloreo la fila del dbgrid si el stock esta bajo el minimo o en 0.
Otra cosa que me esta matando, me pasa que cuando quiero pasar datos entres queryes o tablas temporales no se como comprobar si el producto ya existe en esa tabla. O sea quiero que cuando selecciono un pdoducto, comprobarn si esta, si esta que me muestre un mensaje que diga, ese producto ya existe, sino que me lo agrege. Como seria si quiero pasar uno y com seria si quiero pasar varios datos juntos.
Estuve intentando lo siguiente, que obviamente no funciona.
En este caso es una nota de credito, que lo que hago es ir agregando los productos que se va a realizar la devolucion de mercaderia.

Código Delphi [-]
WHILE NOT mddevolucion.eof do
  begin
  if mddevolucioncodipro.Value:=query2codipro.Value
    then showmessage('Producto ya existe');
  else
    mddevolucion.Append;
    mddevolucioncodipro.Value:=query2codipro.Value;
    mddevolucioncantidad.Value:=query2cantidad.Value;
    mddevolucionconcepto.Value:=query2concepto.Value;
    mddevolucionprecio.Value:=query2precio.Value;
    mddevolucionprecioneto.Value:=query2precioneto.Value;
    mddevolucion.Next;
  end;

end.

Esto me da expression must be boolean y me salta que es showmessage.

Saludos! Espero puedan ayudarme
Responder Con Cita
  #4  
Antiguo 11-12-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Haz los cambios que vespunto y coma en rojo, quitar).
Código Delphi [-]
WHILE NOT mddevolucion.eof do
  begin
  if mddevolucioncodipro.Value:=query2codipro.Value
    then showmessage('Producto ya existe');
  else
begin
    mddevolucion.Append;
    mddevolucioncodipro.Value:=query2codipro.Value;
    mddevolucioncantidad.Value:=query2cantidad.Value;
    mddevolucionconcepto.Value:=query2concepto.Value;
    mddevolucionprecio.Value:=query2precio.Value;
    mddevolucionprecioneto.Value:=query2precioneto.Value;
    mddevolucion.Next;
end;

  end;

end.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.

Última edición por marcoszorrilla fecha: 11-12-2007 a las 21:18:55.
Responder Con Cita
  #5  
Antiguo 11-12-2007
Petolansa Petolansa is offline
Miembro
 
Registrado: jul 2005
Posts: 159
Poder: 19
Petolansa Va por buen camino
Gracias marcos, saque el punto y la coma y agregue el begin despues del else, epro me sigue tirando type of expression must be BOOLEAN, le lo dan entre el the y el showmessage. Porque es esto??

Saludos!
Responder Con Cita
  #6  
Antiguo 11-12-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Quita los dos puntos que ves en rojo.
Código Delphi [-]
WHILE NOT mddevolucion.eof do
  begin
  if mddevolucioncodipro.Value:=query2codipro.Value
    then showmessage('Producto ya existe');
  else
begin
    mddevolucion.Append;
    mddevolucioncodipro.Value:=query2codipro.Value;
    mddevolucioncantidad.Value:=query2cantidad.Value;
    mddevolucionconcepto.Value:=query2concepto.Value;
    mddevolucionprecio.Value:=query2precio.Value;
    mddevolucionprecioneto.Value:=query2precioneto.Value;
    mddevolucion.Next;
end;

  end;

end.
Un Sludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #7  
Antiguo 11-12-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Petolansa Ver Mensaje
Gracias marcos, saque el punto y la coma y agregue el begin despues del else, epro me sigue tirando type of expression must be BOOLEAN, le lo dan entre el the y el showmessage. Porque es esto??

Saludos!
El problema es que un if nunca debe de hacer la comparación con := , solo es =.
if mddevolucioncodipro.Value = query2codipro.Value

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #8  
Antiguo 11-12-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código Delphi [-]
WHILE NOT mddevolucion.eof do
  begin
  if mddevolucioncodipro.Value  =  query2codipro.Value then
     showmessage('Producto ya existe');
  end
  else
begin
    mddevolucion.Append;
    mddevolucioncodipro.Value:=query2codipro.Value;
    mddevolucioncantidad.Value:=query2cantidad.Value;
    mddevolucionconcepto.Value:=query2concepto.Value;
    mddevolucionprecio.Value:=query2precio.Value;
    mddevolucionprecioneto.Value:=query2precioneto.Value;
    mddevolucion.Next;
end;
end.
Saludos
Responder Con Cita
  #9  
Antiguo 11-12-2007
Petolansa Petolansa is offline
Miembro
 
Registrado: jul 2005
Posts: 159
Poder: 19
Petolansa Va por buen camino
Gracias egostar y Caral, era eso.
Saludos!
Responder Con Cita
  #10  
Antiguo 11-12-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
No es por nada, pero ya lo había dicho.


Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #11  
Antiguo 11-12-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por marcoszorrilla Ver Mensaje
No es por nada, pero ya lo había dicho.


Un Saludo.
Muy cierto, nos ganaste por una nariz, pero fuiste tan veloz que no apareciste en la foto

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #12  
Antiguo 11-12-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Hablando de narices, me recuerda el ínclito Don Francisco de Quevedo y Villegas:
Cita:
A una nariz


Érase un hombre a una nariz pegado,
érase una nariz superlativa,
érase una nariz sayón y escriba,
érase un peje espada muy barbado.

Era un reloj de sol mal encarado,
érase una alquitara pensativa,
érase un elefante boca arriba,
era Ovidio Nasón más narizado.

Érase un espolón de una galera,
érase una pirámide de Egipto,
las doce Tribus de narices era.

Érase un naricísimo infinito,
muchísimo nariz, nariz tan fiera
que en la cara de Anás fuera delito.
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #13  
Antiguo 11-12-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Pues que decir, realmente disfruto tu sapiensa amigo marcoszorrilla.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #14  
Antiguo 12-12-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Cita:
“Sapienso, luego existo”, podría
El bueno de René dijo:

"Cogito ergo sum" , "Je pense donc je suis".

Pero me gustó el "sapienso".

Un Saludo desde la glándula pineal.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
control de stock en delphi ingmichel Varios 5 01-08-2007 23:54:40
Control de stock por almacenes. Producto77 SQL 29 26-02-2007 15:51:30
Actualizar Stock BlueSteel Firebird e Interbase 6 28-09-2006 00:14:56
Stock Limitante soloriv SQL 5 03-06-2006 20:59:50
stock general ELINK SQL 5 29-03-2005 17:58:00


La franja horaria es GMT +2. Ahora son las 14:45:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi