Power Builder - como omitir objetos en un dw

 
Vista:

como omitir objetos en un dw

Publicado por Franklin (12 intervenciones) el 04/08/2003 21:32:19
tengo una aplicación power builder y le debo agregar unas tablas a su base de datos unas tablas, el asunto es que los usuarios del programa deben tener restricciones, en el menú y en las ventanas, el problema es este:
¿cómo se puede hacer para deshabilitar las opciones del menú segun los datos en una tabla? y
¿cómo hago para no mostrar objetos en el datawindow según lo epecificado en dicha tabla?
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:como omitir objetos en un dw

Publicado por Ricardo (1957 intervenciones) el 05/08/2003 16:14:29
Que tal:

Una de las cosas que puedes hacer es:

1. Identificar los tipos de restricciones para usuarios o para grupos de usuarios.
2. Crear una tabla para almacenar dicho control, cada restriccion puede ser un campo string con separacion por medio de comas.
3. Puedes habilitar/deshabilitar cada que entras a una ventana u opcion por medio de una funcion, por ejemplo: f_habilita_menu.
4. Debido a que las opciones del menu solo las puedes idedntificar por coordenadas: 1,1; 3,2. Que seria la posicion del menu y el numero de opcion. Las cuales aplicarias en un ciclo de barrido en dicha funcion para aplicar algo como esto:

am_menu.item[lint_menu].item[lint_sub_menu].enabled = true

que es la ruta del objeto a deshabilitar de un menu.

Espero te sirva de algo el comentario
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como omitir objetos en un dw (menus)

Publicado por Oscar (1178 intervenciones) el 05/08/2003 16:27:46
Existe un ejemplo para habilitar o nó los botones de una ventana, según el nivel de acceso del usuario, es necesario que veas el ejemplo detallado en:

http://www.lawebdelprogramador.com/news/mostrar_new.php?id=73&texto=Power+Builder&n1=130092&n2=1&n3=0&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0

Ahora en tu caso concreto, para DESHABILITAR OPCIONES DEL MENU. En el punto 5 de ese ejemplo, realizas:
5. Script del evento open de la ventana w_principal
---------------------------------
Choose Case gi_nivel
Case 1
m_principal.m_Leer.Enabled=TRUE
m_principal.m_Insertar.Enabled=TRUE
m_principal.m_Eliminar.Enabled=TRUE

Case 2
m_principal.m_Leer.Enabled=TRUE
m_principal.m_Insertar.Enabled=TRUE
m_principal.m_Eliminar.Enabled=FALSE

Case 3
m_principal.m_Leer.Enabled=TRUE
m_principal.m_Insertar.Enabled=FALSE
m_principal.m_Eliminar.Enabled=FALSE
End Choose

//(CONTINUA...)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como omitir objetos en un dw (columnas)

Publicado por Oscar (1178 intervenciones) el 05/08/2003 16:30:01
(CONTINUACION...)
Para deshabilitar objetos (no entiendo tu pregunta); pero lo más probable es que quieras MOSTRAR U OCULTAR COLUMNAS del DW. Por ejemplo, desees mostrar todas las columnas del DW a excepción de la columna Sueldo (sólo puede ver el de nivel 1).

En la ventana donde está tu DW, puedes insertar un botón que muestre u oculte esta columna (puedes desactivar ese botón, según el nivel de acceso del usario, como se explicó en el ejemplo que viste).

Script del botón:
-------------------------
String ls_visible
ls_visible=dw_1.Describe('Sueldo.visible')

If ls_visible='0' Then
dw_1.Modify('Sueldo.visible=1')
cb_1.Text='Ocultar Sueldo'
Else
dw_1.Modify('Sueldo.visible=0')
cb_1.Text='Mostrar Sueldo'
end if

En fin, creo que ya tiene algunas sugerencias para hacer lo que deseas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar