Como Visualizar u ocultar Acciones en un proceso automatico?


([N1] Sanz) #1

Saludos a todos, estoy creando los permisos de los usuarios en un sistema y quiero saber como ocultar o ver las acciones que tiene el sistema en base a una tabla de permisos, se que en un evento o un proceso se puede utilizar "Interfaz Deshabilitar Acción" o "Interfaz Habilitar Acción", pero tendría que crear, tantas lineas como acciones tenga y no quiero esto.

Tengo las tabla Grupo_ Usuarios, Programas y Permisos_ Grupos donde colecciono los programas que ejecutara un grupo determinado, pero cuando entro al sistema necesito que me lea la tabla Permisos_Grupos y me habilite las acciones que me interesan.

Gracia anticipada por la ayuda que me pudieran dar.


([N4] velavisual) #2

@Roberto.
.
Puedes ver cómo se consigue lo que necesitas en el tutor correspondiente:
.
http://velneo.es/tutor-de-toolbars-menus-acciones-y-permisos-de-usuarios/
.
. Instálalo en tu vserver y observa su comportamiento. En algo te puede ayudar.
.
.
saludos
Antonio Vela
http://www.velavisual.com


([N1] Sanz) #3

Gracias velavisual.yahoo por la respuesta, pero lo que esta en el ejemplo es lo que no quiero hacer, porque en una aplicacion donde tenga 40 acciones a disparar tendria que crear 40 opciones tipo check marck y 40 campos en la tabla grupos, por eso lo quiero manejar por tablas.


([N4] velavisual) #4

@Roberto
.
Pues entonces tendrás que hacer como hago yo, por ejemplo:
.
.
1.- Tabla de usuarios
2.- Tabla de permisos donde creas un indice que identificara a un objeto y una descripcion, junto con un boleano para que sepas en cada momento si lo usa o no el usuario en cuestion.
Esta tabla la menejarás con un proyeto de aplicacion solo para editar/crear permisos.
.
3.- Una funcion que te cargue si el indice y usuario esta activo o no y actuas como quieras.
.
.
Yo tengo:
.
- Tabla de grupos de usuarios
- Tabla de usuarios
- Tabla permisos, donde indexo la ref.del objeto + usuario permitido + boleano
- Tabla de plantillas para aplicar a los grupos de usuarios.....etc....
.
.
.Podrías también simplemente, usar una variable de 256 posiciones (más o menos) y que cada posición identifique a cualquier objeto que quieras controlar. La cargas al inicio y ya está.
.
.
saludos
Antonio Vela
http://www.velavisual.com
.
.
P.D.: Será la próxima Open Apps que pondré en mi blog para su descarga. Ya avisaré cuando la adapte para todos


([N1] Sanz) #5

velavisual.yahoo, muuuuuuuuchas gracias de nuevo por tomarte el tiempo de responderme, te lo agradezco, precisamente eso que escribes es lo que quiero hacer.
Tengo la tabla de Usuarios, de Grupo de Usuarios y una de Permiso por Grupo, lo que me falta es hacer la funcion, porque tu sabes que la funcion como los procesos y eventos utilizan los comandos, pero si utilizo el comando Interfaz: Desactivar Accion, tengo que especificarle que accion deseo desactivar por lo cual no tengo acceso a la lista de la tabla Permiso por Grupo para utilizar el campo booleano que tengo.
Por favor si puedes ayúdame con esto, antes de salir la app que piensas publicar.

Gracias.


([N1] Synetic) #6

Hola Roberto, te cuento como lo tengo yo.
Tengo las tablas: Usuarios, Grupos, Licencia, Permisos por usuario, Permisos por grupo y Permisos por licencia (permisos por licencia te permite habilitar algunas opciones u otras depende de los módulos o parte del programa que te compren).
Tabla Permisos en memoria que consolida en ella las tres tablas de permisos (por usuario, grupo y licencia). Esta tabla tiene IDObjeto y Acción (Lectura, escritura o borrado).
Luego una función que busca sobre esta tabla en memoria, si encuentra registro tiene permiso sino se deniega la acción. Esto lo tengo en 6x y me funciona muy bien, lo voy a aplicar también en v7.

Espero haberte ayudado.


([N1] Sanz) #7

Gracias por la respuesta fernando.bricotec, pero como haces en la funcion para identificar a que accion del proyecto de datos referirte para activar o desactivar la accion.


([N4] velavisual) #8

@Roberto
.
.
Te he enviado un mail dándote más información.
.
saludos
Antonio Vela
http://www.velavisual.com


([N1] Synetic) #9

Tengo una tabla "Modulos" que identifica todas las partes del programa (Pedidos compra, líneas pedidos compra, Facturas venta, etc...) Lógicamente tiene un identificador único cada registro.
Para guardar los permisos de usuario guardo el IdModulo, Usuario, acción, Permitido/NoPermitido (Bool), igual para grupos y licencia, como te comentaba antes.
En el arranque fusiono los registros de las tres tablas en una sola tabla en memoria creando un registro único para cada módulo y acción y el booleano de permitido.
Luego la función que te comentaba antes que busca sobre esta tabla con dos parámetros: Modulo y acción. La función devuelve uno o cero dependiendo de si está permitido o no.
Todo un poco de memoria.


([N1] Sanz) #10

Quiero dar las gracias a fernando.bricotec y en especial a Antonio Vela quien tomo parte de su tiempo para explicarme el modo de crear los accesos y permisos en una aplicación de velneo, algo que los de veneo no hacen, especialmente con los que estamos iniciando en esto y necesitamos mucha orientacion y mucho mas los que venimos de otros lenguajes y tenemos que cambiar el chip como nos pasa a la mayoria.

Si no fuera por velneadores como Jose Luis(Pepeto), Giuseppe::Komenco y muchos mas que hay en el foro, que aunque no me han ayudado directamente pero si indirectamente cuando responden permanentemente inquietudes de los que como yo son principiantes en velneo, estariamos muuuuuuuuuuuuuuy perdidos.

Hago especial mension a Antonio Vela, por lo anteriormente escrito y porque como le dije a él se tomo la molestia de agregarme a su Skype y contactarme para ayudarme a solucionar varios problemas y aclararme algunas dudas a diferencia de mperez.velneo que le he escrito, le he llamado por Skype y no responde para nada, y en el foro veo, quizas estoy equivocado, su participacion muy pobre.

Pido disculpa si con estos pronunciamiento ofendo a algunos, pero esa no es la intensión.

Gracias a todos y que VIVA Velneo.


([N1] Giuseppe::Komenco) #11

Gracias por la mención Roberto Sanz, pero aquí los verdaderos artistas son muchos, que ayudan continuamente con su conocimiento y tiempo, yo no soy más que un novato que intenta aprender de los verdaderos maestros, y como siempre he dicho, de momento, simplemente estoy de paso, y ojalá me quede.

Un saludo.


([N1] Sanz) #12

Giuseppe::Komenco, claaaaaaro que son muchos, son ustedes los que veo mas activos en el foro.

Novato o Maestro, siempre tu estas respondiendonos a nosotros los mas novatos que tu.

Como dices ojala te quedes.

saludos...