on 01-07-2010 5:33 PM
Estimados expertos:
Qusiera que me orienten en dos cosas, la primera es: quisiera saber si hay alguna manera quizas con un query o algo que me permita ver que acticulos no tengan ningun movimiento no me refiero a articulos inactivos, lo que pasa es que tengo articulos que al momento de hacer la carga de la informacion hace tres años estan creado pero no han sido utilizados para nada y en ves de estas pasando registro por registro quisiera saber si hay alguna manera o algun atributo que m indique que articulos no han sido utilizado, espero me entiendan
Lo segundo es:
Quiero hacer una validacion al momento crea los lotes al hacer cualquier tipo de ingreso bueno no ubico el Object Type de la tabla OIBT, quiero validar que no permita hacer la creacion del lote si el campo fecha de vencimiento este vacio
Slds
QASAC
.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Podrias hacer un query a la tabla oinm , compara los articulos de la oitm contra la oinm, los que no salgan en dicha tabla , es porque no han tenido movimientos.
Para lo del lote, se me ocurre que pongas un campo de usuario de tipo obligatorio, el cual valide con una variable la informacion que esta en la fecha de vencimiento
Si @variable=''
entonces select ''
de tal suerte que al estar null tu campo no te deje crear el lote porque es de tipo obligatorio
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Puedes poner el query asi
declare @fechVenc as datetime
declare @fechFab as datetime
declare @Localidad as nvarchar
set @fechaVenc=(select CONVERT(DATETIME,$[OIBT.Expdate],103))
set @fechFab=(select CONVERT(DATETIME,$[OIBT.Prddate],103))
set @Localidad = (select $[oibt.Located])
if (@fechFab is null or FechaVenc is null ) and @Localidad is null
select ''
Select 'Datos correctos'
La idea es que el campo de usuario que contendra esta busqueda sea de tipo obligatorio, si en algun momento los 3 campos son nulos te pondra en blanco el campo y no te dejara crear el lote.
Si todos son correctos si te dejara crearlo y se guardara con la leyenda "Datos correctos"
Pruebalo a ver si te funciona.
OK, creo primero el campo de usuario de que tipo?? Fecha? alfanumerico?
Lo creo en Campos defenidos por el usuario > Inventario> Numero de lotes para Articulos
Yo lo creo de tipo fecha, ahora ya veo el campo de usuario al momento que voy a crear los lotes al hacer una entrada, lo veo a nivel de detalle como agrego el query como una BF ???
Por favor si me puedes dar mas detalles te lo agardeceria
Slds
QASAC
El campo de usuario debe ser de estructura regular, tipo Alfanumerico.
Una vez que hayas guardado el query, lo asignas posicionandote en el campo de usuario y presionando la tecla Shift +F2 el sistema te preguntara si deseas asignar un valor, le dices que si, en la siguiente opcion, escoges la de hasta abajo, que es para asignar por una consulta guardada.
Das doble clic y se abre el query manager, ubicas la consulta que guardaste y le das ok
Despues solo necesitas que se ejecute de acuerdo a 2 cosas, si un campo se modifica y si es actualizacion regularmente o visualizar valores guardados por usuario, creo que te conviene actualizar regularmente.
Mauricio:
He creado el campo y le asigne la BF como me indicas, y guarde el query lo asigne al campo de usuario que habia creado,
pero cuando voy a crear una entrada y no pongo nada en la fechas no pasa nada me deja crear sin problemas mas bien en el campo de usuario me aparece DATOS CORRECTOS estando en blanco los campos de fecha.
No se si estara mal el query???
Slds
QASAC
A ver intenta modificando el query a esto
declare @fechaVenc as nvarchar (8)
declare @fechaFab as nvarchar (8)
declare @Localidad as nvarchar (20)
set @fechaVenc=(select CONVERT(nvarchar(8),$[OIBT.Expdate]))
set @fechaFab=(select CONVERT(nvarchar(8),$[OIBT.Prddate]))
set @Localidad = (select $[oibt.Located]))
if (@fechaFab is null )or (@FechaVenc is null) or (@Localidad is null)
select ''
else
Select 'Datos correctos'
Pusiste el campo de usuario como obligatorio?
Es necesario que este como obligatorio, para que cuando la validacion ponga un valor en blanco con el select '' se limpie el valor por default, puedes ponerle un 0 para que te deje ponerlo como obligatorio.
La otra cosa es que ese campo no este activo, si visible mas no activo, de tal forma que se actualice pero no sea posible para un usuario manipularlo, solo se manipule con la busqueda formateada.
De acuerdo al orden en que se crea el lote es como debes actualizar el campo de usuario, esto cuando configuras la busqueda formateada.
Es necesario que este como obligatorio, para que cuando la validacion ponga un valor en blanco con el select '' se limpie el valor por default, puedes ponerle un 0 para que te deje ponerlo como obligatorio.
La otra cosa es que ese campo no este activo, si visible mas no activo, de tal forma que se actualice pero no sea posible para un usuario manipularlo, solo se manipule con la busqueda formateada.
De acuerdo al orden en que se crea el lote es como debes actualizar el campo de usuario, esto cuando configuras la busqueda formateada.
User | Count |
---|---|
99 | |
11 | |
11 | |
6 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.