Tubos


([N2] Daniel) #1

Hola a todos. He resuelto la situación de manejar diferentes stocks por cada tienda con una tabla STOCK que contiene los enlaces a maestros TIENDAS y PRODUCTOS y un campo Stock. Dicha tabla tiene un indice con clave unica que contiene TIENDAS Y PRODUCTOS. A su vez tengo una tabla de INTERCAMBIOS DE STOCK ENTRE TIENDAS, donde ingreso la TIENDA que envia, la TIENDA que recibe la mercadería y LINEAS DE INTERCAMBIO con el PRODUCTO que recibe, así como la cantidad. De esta manera realizo una actualizacion del campo stock de la tabla STOCK acumulando el campo cantidad. Pero que pasa. Si en STOCK no tengo creado previamente el registro SUCURSAL/PRODUCTO correspondiente a ese REMITO no me actualizará el stock, porque simplemente no existe ese ITEM. Espero explicarme bien, pero como hago para verificar que exista y si no está crearlo, para después si, actualizarlo. Desde ya muchas gracias por su atención.


([N2] huntergps) #2

Te recomendaria crear un evento previo del alta en la tabla LINEAS DE INTERCAMBIOS, donde verfique mediante un indice compuesto por SUCURSAL/PRODUCTO si existe o no un registro en dicha tabla, de no existir se lo crea, de esa manera ya no deberias tener problemas en la actualizaciòn

Saludos
Elmer


([N1] Synetic) #3

Puedes plantearlo de otra manera. Si tienes una tabla [lineas de almacén] que actualiza el campo stock de tu tabla stock para las compras y ventas (misma tabla para compras que para ventas), puedes crear un tipo más de movimiento que sea traspaso.
Solo tendrás que crear las líneas en esta tabla de movimientos de almacén por medio de un evento en las líneas de traspaso como Elmer te indica. La tabla lineas de almacén será la única que actualice el campo stock.

saludos


([N1] Pepeto) #4

La respuesta a los que planteas ya te la respondi en su dia en este hilo:
http://velneo.es/foros/topic/multiples-stocks

Si te fijas bien en el mensaje:

-Y para finalizar, necesitas unos eventos en la tabla de Lineas de boleta, en el "Previo al alta" y "Previo a la modificacion" `para crear el registro en la tabla de stock . si no existe.

Se indica que debes crear eventos en la tabla de Lineas de boleta:
- Previo al alta (para los registros nuevos)
- Y previo a la modificacion (Para la controlar la modificacion de datos del registro)

Para LINEAS de INTERCAMBIO, debes hacer exactamente lo mismo, crear los 2 eventos de tabla y lo mismo para todas las tablas que realicen operaciones sobre el Stock.

Y si sigues el guion como se indica, todo debe funcionar correctamente.

un saludo
Jose Luis
http://www.ascsl.com
.


([N2] Daniel) #5

No había leido lo de los eventos. Ahora fui y lo vi en el ejemplo del libro y me di cuente de como funciona. Una vez mas, muchas gracias.


([N2] Daniel) #6

José Luis, mirando el ejemplo y analizando la función que crea lineas de existencia, veo que solo crea la ficha en memoria. Pero ¿cuando la añade a disco? Ya hice la funcion y además los eventos de tabla para antes de un alta y antes de una modificación, pero no me crea el registro nuevo. Estuve viendo los mensajes del servidor y mediante pasaje de mensajes, compruebo que ingresa a la función, es decir, la ejecuta, pero nunca me añade el registro. Quizas hay algún evento que me está faltando.


([N2] Daniel) #7

Mil disculpas, me faltaba el Alta de ficha, perdón. Tema solucionado. Gracias a todos por su tiempo. a golpes se aprende ¿no?.