SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: astaroth_gama en Martes 18 de Abril de 2006, 21:19
-
Hola a todos.
Espero y me puedan ayudar. Estoy trabajando con Vb6.0 y access 97 y tengo este problema: tengo productos que van entrando al inventario y deso eliminarlos pero por antiguedad de lote, es decir que la salida de mercancia del inventario se debera realizar por el lote mas antiguo, si la cantidad a salir rebasa la cantidad de mercancia en ese lote debe pasar al siguiente lote y descontar esa cantidad faltante a ese lote. La verdad estoy atorado en ese codigo ya que no he podido llevarlo a cabo. Si pueden ayudarme se los agradeceria mucho.
-
Claramente este es un problema logistico, que se resuelve utilizando un marcador de fechas, el cual puede ser, un campo de identificacion o la fecha.
Suponiendo que tu tabla de lotes es de la siguiente forma...
Nro_Lote Producto Cantidad
678 20354 100
679 30531 115
680 45796 132
681 68694 247
682 30531 147
683 68694 249
684 20354 286
685 30531 328
686 45796 614
687 68694 365
688 30531 620
689 68694 713
690 30531 819
Entonces tu codigo para rebajar productos es de la siguiente estructura...
vCodigo <- Almacena el codigo del producto a rebajar
vRebaja <- Almacena la cantidad a rebajar del lote
Buscar registros del producto, ordenados por lote
vSigue = 1
Mientras Existan Registros y vSigue=1 entonces
vCantidad <- Valor del campo "Cantidad" recuperado de la consulta
Si vRebaja > Cantidad entonces
vLote <- Valor del campo "Lote" recuperado de la consulta
Eliminar el registro lotes, donde Nro_Lote=vLote
vRebaja = vRebaja - vCantidad
Si No
Sigue = 0
Fin Si
Recorrer siguiente registro
Fin Si
-
Muchas gracias por la orientacion. Ya lo lleve a cabo y funciono.