Hola líder
Llevo dos días intentando calcular el inventario. Estoy frustrado porque no pensé que sería tan complicado, sobre todo porque no requiere programación.
Tengo una tabla de productos, una tabla principal (movi_inv) y una tabla secundaria (movi_detalle). Cambie la estructura de las tablas porque pensé que era más fácil.
Para calcular el inventario, tengo una columna llamada "Cantidad" en la tabla movi_detalle. Esta columna almacena valores positivos para las transacciones entrantes y negativos para las salientes. Esto significa que solo necesito sumar esta columna y filtrar por fecha.
Quiero crear un PDF filtrado usando la lista de la tabla de productos. Para ello, creé una tabla rptInventario con el único filtro de fecha_cierre. La idea es que, para calcular la existencia del inventario, simplemente sume las transacciones en la columna "Cantidad" donde [movi_detalle].[fecha]<=[_THISROW].[fecha_cierre].
Este es solo uno de los muchos errores.
Error 1 : Task ‘Paso 1’ Body template. Expression ‘SUM(SELECT(movi_detalle[Cantidad],[ID_producto]=[Lista_productos].[ID_producto]))’ is invalid due to: Error in expression ‘[Lista_productos].[ID_producto]’ : Unable to find column ‘ID_producto’, did you mean ‘Lista_productos’?
Gracias por tu ayuda
Hola amigo, vea paque no se le complique use unas virtuales, y luego llame estas virtuales en la plantilla, en ves de estar proibando desde la plantilla con select que toma mas tiempo
Y respecto a sus tablas, comprendo la de productos, y de movimientos, moivi detalle, no para que la usa
creo que ya le habia dicho que con cada venta o compra alimneta la tabla de movimientos, con acciones, al validar la venta sale de movimiento, al compra entra a movimientos
En la tabla de reporte necesita una virtual para hacer los caluclos, como el filtrado y luego generar el reporte
movi_detalle no lo necesita es redundante, ya tiene la factura con la cual con solo el id puede obtener lo que necesita
Yo estoy haciendo un curso completo y avanzado de inventario y facturacion, algo comple, pero me va llevar tiempo hacer esto, qu eincluye ya todo esto
moivi detalle, no para que la usa
La tabla movi_inv es la que guarda los datos generales de la transacción, La tabla movi_detalle es la que guarda las transacciones de entradas y salidas, la columna cantidad almacena valores positivos cuando es una entrada y negativos en la salida, solo tengo que sumar esa columna para calcular la Existencia, lo cambie porque en vez de usar 5 tablas, solo uso 3 y no se usa acciones, me parece más simple para hacer los cálculos, hasta que me tope con el reporte de existencias.
Sobre el tema de columna virtual, hice una columna con la lista de productos, la idea que listar los productos en la plantilla, pero en la columna stock no me resulta porque al hacer el filtro de la expresión Select no me acepta los criterios de la tabla rptInventario, porque dice que no encuenta el campo o la columna en la tabla productos.
Hice estas columnas virtuales
FILTER("movi_detalle",[fecha]<=[_THISROW].[fecha_cierre]); devuelve una lista de todos los registros antes de la fecha de cierre
FILTER("productos",TRUE), devuelve todos los registros de la tabla productos.
Entonces estoy parado.

