Almacenes, Stocks, y Punteros indirectos


([N1] Giuseppe::Komenco) #1

Hola a todos,

Es la primera vez que uso punteros, y no sé si lo estaré haciendo bien..obviamente no, porque no funciona. Os expongo la situación.

Por un lado tengo una tabla Almacenes, que contiene los distintos almacenes. Por otro lado, una tabla ALM_STOCKS para almacenar existencias, con PRODUCTOS y ALMACENES como maestros, y le he creado un indice de clave única de ALMACEN+PRODUCTOS y por otro lado, dos tablas CAB_ALM_MOV y DET_ALM_MOV (submaetra de la anterior) para gestionar las cabeceras y detalles de movimientos de almacén respectivamente.

Mi intención, es, modificar el stock correspondiente según añado lineas de movimiento de almacén. Cómo acceder al registro en cuestión en la tabla de existencias (que si no existe, esto ya sería otra historia, pero contemos que existe), lo hago con un puntero indirecto real (que no sé si será para ésto) hacia la tabla de existencias, resolviéndolo a través del almacen origen de la cabecera (que también hay un destino, pero ya me preocuparé después), y del produco de la linea (caputra 1), y dependiendo de si la cabecera es entrada o salida, sumo o resto.

En la teoría este dolor de cabeza debería funcionar (supongo)..en la práctica no (esto no lo supongo, ésto lo sé :D), y me gustaría saber qué estoy enfocando mal.

Gracias ;)


([N1] Giuseppe::Komenco) #2

Y si adjunto las capturas ya sería la leche xD

[attachment=15990,1318] [attachment=15990,1319]


([N1] Giuseppe::Komenco) #3

Pues nada, siento el ruido, el problema era en la resolución con ALM_STOCKS, que resolvía con #CAB_MOV_ALM.ALM_ORIGEN.ID, y #PRODUCTOS.ID y los ".ID" al parecer sobraban, por lo que...mi duda se podría quedar en....y si no existe el registro en ALM_STOCKS? puedo automatizar su creación? o tendría que comprobarlo a mano? o como?

Un saludo.


([N4] innovadb) #4

Hola Giuseppe

El registro en ALM_STOCKS tienes que comprobarlo en el trigger "Interno al alta" de la tabla de movimientos, y si no existe darlo de alta.

Un saludo


([N1] Giuseppe::Komenco) #5

En "Interno", doy de alta la ficha "casando" almacen y producto, y el stock ya lo modificará él solito al existir la ficha no?

Teóricamente, para indices de más de un campo, es así (captura) como se resuelven?

Ahora cuando cene lo pruebo, muchas gracias.

[attachment=15993,1320]


([N1] Pepeto) #6

@Giuseppe,

en la Open App vGestion, tienes un ejemplo muy claro en la tabla MOV,
el campo puntero es EXS, y en los eventos de la tabla MOV puedes ver como se da el alta del registro en la tabla EXS, si no existe.

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


([N1] Giuseppe::Komenco) #7

Muchas gracias a ambos ;)