on 04-21-2016 11:24 PM
Hola y saludos a todos.
Ocupo hacer una alerta para todos los usuarios con los documentos creados por cada uno, pero en vez de hacer muchas alertas
me gustaría hacer una sola y marcar a todos los usuarios.
Intente haciando un query asi.
DECLARE @USUARIO INT
SET @USUARIO = (SELECT $[USER])
SELECT T0.[DocNum], T0.[DocDate], T0.[DocTotal]
FROM OQUT T0
WHERE T0.[UserSign] = @USUARIO
Con este query se creo una alerta y se marcaron todos los usuarios.
Para que la alerta sea, digamas inteligente, y trabaje contra el usuario conectado, pero no me funciono.
Alguien a hecho al parecido o tiene alguna idea.
Saludos y gracias de antemano.
Prueba así y comenta tus resultados.
SELECT T0.[DocNum], T0.[DocDate], T0.[DocTotal],T1.USER_CODE
FROM OQUT T0 INNER JOIN OUSR T1 ON T0.UserSign = T1.INTERNAL_K
WHERE T1.USER_CODE = (Select top 1 UserCode from USR5 where SessionID=@@spid order by Date desc,Time desc )
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hola, gracias por la respuesta.
Te comento, si ejecuto el reporte desde el query manager me da perfecto.
Usuario 1 ve sus ofertas
Usuario 2 ve sus ofertas
Sin embargo al ejecutarse la alerta no me muestra algunos registros, ejemplo tengo una ofertas de ayer y no me salen en la alerta, pero desde el QM si me salen.
Y otro caso, estoy haciendo la prueba con 2 usuarios y a los 2 usuarios les sale los mismo registros, osea usuario 1 ve las alertas de usuario 2 y viceversa.
Gracias de nuevo.
Saludos.
Te comento abajo segun tu comentarios:
Sin embargo al ejecutarse la alerta no me muestra algunos registros, ejemplo tengo una ofertas de ayer y no me salen en la alerta, pero desde el QM si me salen.
Tienes que tener en cuenta que el informe que te genera las alertas esta limitado, cuantos registros te muestra actualmente?
Y otro caso, estoy haciendo la prueba con 2 usuarios y a los 2 usuarios les sale los mismo registros, osea usuario 1 ve las alertas de usuario 2 y viceversa.
Este caso quiero pensar que lo ejecutaste desde SQL o en el query manager?
Hola.
En el caso uno, lo tengo ordenedo por fecha y le indique un top 10 y ejemplo
- Si lo ejecuto desde el query Manager, me muestra las ultimas Ofertas creadas,
incluidas las de ayer.
- En la alerta no me salen las de ayer, me inicia con Ofertas de dias atras.
En el segundo caso, si lo ejecuto desde el Query Manager me sale bien, ejemplo
- Voy a usuario1 y ejecuto y me salen las de él
- Voy a usuario2 y me salen las de él.
Pero la alerta me muestra los registros de los 2, osea como que no respeta el
usuario conectado
- La Alerta del usuario1, me muestra tambien Ofertas de usuario2
- La Alerta de usuario2, me muestra tambien Ofertas de usuario1
Lo extraño es que desde el Query manager si me salen bien.
Saludos y gracias.
Hola compañeros, me parece interesante este tema.
Sobre su punto número 1: Cristian, ¿Podrías compartirnos tu Query definitivo?, recordemos que las alertas no son otra cosa más que la ejecución automática de un query por lo que la hora en que la tengas programada, será de mucha influencia en los resultados que te envíe.
Sobre su punto número 2: Interesante el aporte del compañero Julian, y sobre esto una pregunta, ¿tu subquery equivale a decirle al generador de consulta: "Tráeme el código de usuario de la sesión que está activa ejecutando el query"?; Si es así dudo mucho que funcione en una alerta ya que las alertas se ejecutan sin que el usuario haya iniciado la sesión o al menos así lo entiendo yo, equivale a ejecutar tu consulta desde SQL y por lo tanto no trae la misma información que te arroja el query manager.
Estos son mis comentarios sobre el tema. Saludos.
Por cierto, si las respuestas del compañero Cab Canul Julian te están siendo de ayuda, podrías agradecerle marcándolas como respuestas de ayuda y cuando encuentres la respuesta correcta, lo ideal sería marcarla como tal. Saludos.
Hola Gerardo.
Este es mi query final.
SELECT top 10 T0.[DocNum], T0.[DocDate], T0.[DocTotal], t0.usersign, t1.internal_k
FROM OQUT T0
inner join ousr t1 on t0.usersign = t1.internal_k
WHERE T1.[User_Code] = (Select top 1 UserCode from USR5 where SessionID=@@spid order by Date desc,Time desc )
order by t0.[DocDate] desc
Gracias por las sugerencias.. Así lo seguire haciendo..
Saludos.
Hola CAB CANUL JULIAN
Precisamente asi lo estoy programando ahorita. deje el reporte en el query manager
y pienso indicarle a los usuarios que lo ejecuten manuelmente cuando lo necesiten.
Si voy a continuar haciendo pruebas para ver si de alguna forma resuelvo el tema de la
alerta.
Si logro algo se los comparto.
Gracias por la ayuda CAB CANUL JULIAN y Gerardo.
Saludos
User | Count |
---|---|
95 | |
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.