Tablas de inventario

29/03/2005 - 14:10 por Mennegguzzi | Informe spam
Hola a todos, tengo una consulta algo compleja, al menos para mí, y les
agradeceré si me pueden ayudar

el tema es así:

tengo una tabla que es un maestro de productos
Tabla: PRODUCTOS
Campos: Codigo, Costo, etc..

por otro lado tengo otra tabla que es la que mantiene el stock de cada
producto
Tabla: INVENTARIO
Campos: Codigo de producto, Nº de lote, Cantidad

(cabe aclarar que por cada producto puede haber más de un registro en la
tabla INVENTARIO, que va a depender de cuantos lotes de ese producto tenga
en stock)

mi problema es que el sistema que utilizamos, (al que no tengo acceso al
código fuente), no graba todos los productos en la tabla INVENTARIO, sino
que, por ejemplo, cuando registramos un producto nuevo en la tabla
PRODUCTOS, recién graba un registro en la tabla INVENTARIO cuando el
producto sufre un cambio en la cantidad, es decir cuando comienza a tener
movimientos.

Por lO que si damos de alta un producto, este no aparece en la tabla
INVENTARIO hasta que no ingrese una cantidad al stock, y yo necesitaría que
aparezca de inmediato, aunque tenga stock cero.

Lo que se me ocurrió es hacer algún proceso automático en el servidor, por
medio del cual chequee cada un determinado tiempo las dos tablas y compare
si algún producto que está en la tabla PRODUCTOS, falta en la tabla
INVENTARIO, y si es así inserte un registro con stock cero.

Y no sé como hacerlo.

Desde ya les agradecería muchísimo si me pudiesen ayudar con esto o si se
les ocurre alguna forma distinta.

Saludos

Preguntas similare

Leer las respuestas

#1 Maxi
29/03/2005 - 14:16 | Informe spam
Hola, porque no usas un trigger que cuando se inserten rgistros en la tabla
productos de forma automatica lo inserte en la otra tabla?

algo asi como

create trigger mi_tr on productos for insert as
insert into inventario (campos)
select (campos) from inserted left join productos on inserted.id =
productos.id
where productos.id is null





Salu2
Maxi


"Mennegguzzi" escribió en el mensaje
news:Oo%
Hola a todos, tengo una consulta algo compleja, al menos para mí, y les
agradeceré si me pueden ayudar

el tema es así:

tengo una tabla que es un maestro de productos
Tabla: PRODUCTOS
Campos: Codigo, Costo, etc..

por otro lado tengo otra tabla que es la que mantiene el stock de cada
producto
Tabla: INVENTARIO
Campos: Codigo de producto, Nº de lote, Cantidad

(cabe aclarar que por cada producto puede haber más de un registro en la
tabla INVENTARIO, que va a depender de cuantos lotes de ese producto tenga
en stock)

mi problema es que el sistema que utilizamos, (al que no tengo acceso al
código fuente), no graba todos los productos en la tabla INVENTARIO, sino
que, por ejemplo, cuando registramos un producto nuevo en la tabla
PRODUCTOS, recién graba un registro en la tabla INVENTARIO cuando el
producto sufre un cambio en la cantidad, es decir cuando comienza a tener
movimientos.

Por lO que si damos de alta un producto, este no aparece en la tabla
INVENTARIO hasta que no ingrese una cantidad al stock, y yo necesitaría
que aparezca de inmediato, aunque tenga stock cero.

Lo que se me ocurrió es hacer algún proceso automático en el servidor, por
medio del cual chequee cada un determinado tiempo las dos tablas y compare
si algún producto que está en la tabla PRODUCTOS, falta en la tabla
INVENTARIO, y si es así inserte un registro con stock cero.

Y no sé como hacerlo.

Desde ya les agradecería muchísimo si me pudiesen ayudar con esto o si se
les ocurre alguna forma distinta.

Saludos


Respuesta Responder a este mensaje
#2 Mennegguzzi
29/03/2005 - 14:36 | Informe spam
tenés razón, eso me va a servir,

ahora, hay alguna manera de actualizar la tabla inventario hasta el momento
en que haga el trigger ?
quiero decir, después se actualizará sola con el trigger, pero para
actualizarla ahora, se te ocurre alguna manera?

nuevamente muchas gracias

saludos

Pablo


"Maxi" escribió en el mensaje
news:
Hola, porque no usas un trigger que cuando se inserten rgistros en la
tabla productos de forma automatica lo inserte en la otra tabla?

algo asi como

create trigger mi_tr on productos for insert as
insert into inventario (campos)
select (campos) from inserted left join productos on inserted.id =
productos.id
where productos.id is null





Salu2
Maxi


"Mennegguzzi" escribió en el mensaje
news:Oo%
Hola a todos, tengo una consulta algo compleja, al menos para mí, y les
agradeceré si me pueden ayudar

el tema es así:

tengo una tabla que es un maestro de productos
Tabla: PRODUCTOS
Campos: Codigo, Costo, etc..

por otro lado tengo otra tabla que es la que mantiene el stock de cada
producto
Tabla: INVENTARIO
Campos: Codigo de producto, Nº de lote, Cantidad

(cabe aclarar que por cada producto puede haber más de un registro en la
tabla INVENTARIO, que va a depender de cuantos lotes de ese producto
tenga en stock)

mi problema es que el sistema que utilizamos, (al que no tengo acceso al
código fuente), no graba todos los productos en la tabla INVENTARIO, sino
que, por ejemplo, cuando registramos un producto nuevo en la tabla
PRODUCTOS, recién graba un registro en la tabla INVENTARIO cuando el
producto sufre un cambio en la cantidad, es decir cuando comienza a tener
movimientos.

Por lO que si damos de alta un producto, este no aparece en la tabla
INVENTARIO hasta que no ingrese una cantidad al stock, y yo necesitaría
que aparezca de inmediato, aunque tenga stock cero.

Lo que se me ocurrió es hacer algún proceso automático en el servidor,
por medio del cual chequee cada un determinado tiempo las dos tablas y
compare si algún producto que está en la tabla PRODUCTOS, falta en la
tabla INVENTARIO, y si es así inserte un registro con stock cero.

Y no sé como hacerlo.

Desde ya les agradecería muchísimo si me pudiesen ayudar con esto o si se
les ocurre alguna forma distinta.

Saludos






Respuesta Responder a este mensaje
#3 Maxi
29/03/2005 - 14:56 | Informe spam
Hola Pablo, mira primero haria un insert algo asi como

INSERT INTO INVENTARIO (CAMPOS)
SELECT CAMPOS FROM PRODUCTOS LEFT JOIN INVENTARIO ON
PRODUCTOS.ID = INVENTARIO.ID
WHERE INVENTARIO.ID IS NULL

Con esto ponemos los que estan, e inmediatamente poner el trigger :-)

pd: ojo con esto, quizas el sistema en otro momento quiera insertar en esta
tabla y si encuentra el registro (ya que se lo estas insertando por trigger
o por lo que fuere) hay que ver como reacciona. Te aconsejo que armes un
escenario de pruebas antes de mandar todo esto a produccion.

Un abrazo


Salu2
Maxi


"Mennegguzzi" escribió en el mensaje
news:%
tenés razón, eso me va a servir,

ahora, hay alguna manera de actualizar la tabla inventario hasta el
momento en que haga el trigger ?
quiero decir, después se actualizará sola con el trigger, pero para
actualizarla ahora, se te ocurre alguna manera?

nuevamente muchas gracias

saludos

Pablo


"Maxi" escribió en el mensaje
news:
Hola, porque no usas un trigger que cuando se inserten rgistros en la
tabla productos de forma automatica lo inserte en la otra tabla?

algo asi como

create trigger mi_tr on productos for insert as
insert into inventario (campos)
select (campos) from inserted left join productos on inserted.id =
productos.id
where productos.id is null





Salu2
Maxi


"Mennegguzzi" escribió en el mensaje
news:Oo%
Hola a todos, tengo una consulta algo compleja, al menos para mí, y les
agradeceré si me pueden ayudar

el tema es así:

tengo una tabla que es un maestro de productos
Tabla: PRODUCTOS
Campos: Codigo, Costo, etc..

por otro lado tengo otra tabla que es la que mantiene el stock de cada
producto
Tabla: INVENTARIO
Campos: Codigo de producto, Nº de lote, Cantidad

(cabe aclarar que por cada producto puede haber más de un registro en la
tabla INVENTARIO, que va a depender de cuantos lotes de ese producto
tenga en stock)

mi problema es que el sistema que utilizamos, (al que no tengo acceso al
código fuente), no graba todos los productos en la tabla INVENTARIO,
sino que, por ejemplo, cuando registramos un producto nuevo en la tabla
PRODUCTOS, recién graba un registro en la tabla INVENTARIO cuando el
producto sufre un cambio en la cantidad, es decir cuando comienza a
tener movimientos.

Por lO que si damos de alta un producto, este no aparece en la tabla
INVENTARIO hasta que no ingrese una cantidad al stock, y yo necesitaría
que aparezca de inmediato, aunque tenga stock cero.

Lo que se me ocurrió es hacer algún proceso automático en el servidor,
por medio del cual chequee cada un determinado tiempo las dos tablas y
compare si algún producto que está en la tabla PRODUCTOS, falta en la
tabla INVENTARIO, y si es así inserte un registro con stock cero.

Y no sé como hacerlo.

Desde ya les agradecería muchísimo si me pudiesen ayudar con esto o si
se les ocurre alguna forma distinta.

Saludos










Respuesta Responder a este mensaje
#4 Mennegguzzi
29/03/2005 - 15:16 | Informe spam
Gracias Maxi, lo voy a hacer así, primero lo pruebo y cuando funcione bien
lo pongo en producción

un saludo y nuevamente te agradezco la ayuda

Pablo


"Maxi" escribió en el mensaje
news:
Hola Pablo, mira primero haria un insert algo asi como

INSERT INTO INVENTARIO (CAMPOS)
SELECT CAMPOS FROM PRODUCTOS LEFT JOIN INVENTARIO ON
PRODUCTOS.ID = INVENTARIO.ID
WHERE INVENTARIO.ID IS NULL

Con esto ponemos los que estan, e inmediatamente poner el trigger :-)

pd: ojo con esto, quizas el sistema en otro momento quiera insertar en
esta tabla y si encuentra el registro (ya que se lo estas insertando por
trigger o por lo que fuere) hay que ver como reacciona. Te aconsejo que
armes un escenario de pruebas antes de mandar todo esto a produccion.

Un abrazo


Salu2
Maxi


"Mennegguzzi" escribió en el mensaje
news:%
tenés razón, eso me va a servir,

ahora, hay alguna manera de actualizar la tabla inventario hasta el
momento en que haga el trigger ?
quiero decir, después se actualizará sola con el trigger, pero para
actualizarla ahora, se te ocurre alguna manera?

nuevamente muchas gracias

saludos

Pablo


"Maxi" escribió en el mensaje
news:
Hola, porque no usas un trigger que cuando se inserten rgistros en la
tabla productos de forma automatica lo inserte en la otra tabla?

algo asi como

create trigger mi_tr on productos for insert as
insert into inventario (campos)
select (campos) from inserted left join productos on inserted.id =
productos.id
where productos.id is null





Salu2
Maxi


"Mennegguzzi" escribió en el mensaje
news:Oo%
Hola a todos, tengo una consulta algo compleja, al menos para mí, y les
agradeceré si me pueden ayudar

el tema es así:

tengo una tabla que es un maestro de productos
Tabla: PRODUCTOS
Campos: Codigo, Costo, etc..

por otro lado tengo otra tabla que es la que mantiene el stock de cada
producto
Tabla: INVENTARIO
Campos: Codigo de producto, Nº de lote, Cantidad

(cabe aclarar que por cada producto puede haber más de un registro en
la tabla INVENTARIO, que va a depender de cuantos lotes de ese producto
tenga en stock)

mi problema es que el sistema que utilizamos, (al que no tengo acceso
al código fuente), no graba todos los productos en la tabla INVENTARIO,
sino que, por ejemplo, cuando registramos un producto nuevo en la tabla
PRODUCTOS, recién graba un registro en la tabla INVENTARIO cuando el
producto sufre un cambio en la cantidad, es decir cuando comienza a
tener movimientos.

Por lO que si damos de alta un producto, este no aparece en la tabla
INVENTARIO hasta que no ingrese una cantidad al stock, y yo necesitaría
que aparezca de inmediato, aunque tenga stock cero.

Lo que se me ocurrió es hacer algún proceso automático en el servidor,
por medio del cual chequee cada un determinado tiempo las dos tablas y
compare si algún producto que está en la tabla PRODUCTOS, falta en la
tabla INVENTARIO, y si es así inserte un registro con stock cero.

Y no sé como hacerlo.

Desde ya les agradecería muchísimo si me pudiesen ayudar con esto o si
se les ocurre alguna forma distinta.

Saludos














email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida