Para Martin del Angel
Publicado: Sab Abr 09, 2011 2:58 am
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.
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.