In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Para Martin del Angel

Foro público de Xailer en español
PEDRO DE LEON RODAS[3]
Mensajes: 266
Registrado: Mar Oct 28, 2008 4:41 am

Para Martin del Angel

Mensaje por PEDRO DE LEON RODAS[3] »

Gusto de saludarte.
Yo tengo hecho un sistema en el cual se cuenta con los permisos necesarios
para cada usuario.
Apenas te pase un ejemplo de como Pasar Tmenu:aItems a TreeView:aItems, ese
codigo lo utilzo en este sistema.
te pongo un codigo el cual lee el Tmenu y obtiene los nombres de los aitems
y busca en una tabla de mysql y conforme el estatus verdadero o falso
habilita o deshabilita la opcion del menu.
este es el codigo.
METHOD LEE_MENU()
Local Var_usuario,var_Nombre
Local
componente,Var_menu,Componente_sub,submenu,Submenu2,Componen te_sub2,NOMBRE_MENU,NOMBRE_SUBMENU,NOMBRE_SUBMENU2
Waiton("Procesando permisos para usuario")
Var_usuario=AppData:Usuario_sistema
Var_menu=::MenuT:aItems()
FOR Componente := 1 TO LEN(Var_menu)
submenu=Var_menu[Componente]:oSubMenu:aItems
NOMBRE_MENU=Var_menu[Componente]:cText
var_Nombre=Alltrim(NOMBRE_MENU)+Alltrim(Str(Componente))
::Dm:lOpen=.f.
::Dm:cSelect="Select estatus from resumen where
Opcion2='&var_Nombre' and Iniciales='&Var_usuario' and modulo='C'"
::Dm:lOpen=.t.
If ::Dm:Reccount()=0
Loop
Endif
Var_menu[Componente]:lEnabled=::Dm:Estatus
For Componente_sub=1 to Len(submenu)
NOMBRE_SUBMENU=Var_menu[Componente]:oSubMenu:aItems[Componen te_sub]:cText
var_Nombre=NOMBRE_SUBMENU+Alltrim(Str(Componente))+Alltrim(S tr(Componente_sub))
::Dm:lOpen=.f.
::Dm:cSelect="Select estatus from resumen where
Opcion2='&var_Nombre' and Iniciales='&Var_usuario' and modulo='C'"
::Dm:lOpen=.t.
If ::Dm:Reccount()=0
Loop
Endif
Var_menu[Componente]:oSubMenu:aItems[Componente_sub]:lEnable d=::Dm:Estatus
If Alltrim(NOMBRE_SUBMENU)="Con recibos"
::BDEPOSITOS:lEnabled=::Dm:Estatus
Endif
If Alltrim(NOMBRE_SUBMENU)="Poliza de Egresos"
::B_AYUDA:lEnabled=::Dm:Estatus
Endif
If
Var_menu[Componente]:oSubmenu:aItems[Componente_sub]:osubmen u <>nil
Submenu2=Var_menu[Componente]:oSubmenu:aItems[Componente_sub ]:osubmenu:aItems
For Componente_sub2=1 to Len(Submenu2)
NOMBRE_SUBMENU2=Var_menu[Componente]:oSubMenu:aItems[Compone nte_sub]:oSubMenu:aItems[Componente_sub2]:cText
var_Nombre=NOMBRE_SUBMENU2+Alltrim(Str(Componente))+Alltrim( Str(Componente_sub))+Alltrim(Str(Componente_sub2))
::Dm:lOpen=.f.
::Dm:cSelect="Select estatus from resumen where
Opcion2='&var_Nombre' and Iniciales='&Var_usuario' and modulo='C'"
::Dm:lOpen=.t.
If ::Dm:Reccount()=0
Loop
Endif
Var_menu[Componente]:oSubMenu:aItems[Componente_sub]:oSubMen u:aItems[Componente_sub2]:lEnabled=::Dm:Estatus
If Alltrim(NOMBRE_SUBMENU2)="Altas, Bajas, Modificar"
::BSOCIOS:lEnabled=::Dm:Estatus
Endif
Next
Endif
Next
next
WaitoFF()
Return Nil
ESPERO TE SIRVA.
Responder