Caso Separador de formularios


([N1] mariorafaelvargas) #1

Una consulta a los señores del foro V7:

 

Objeto : Separador de Formularios

Subcontrol, propiedad "Condicion visible"

 

Funciona correctamente cuando esta sin condicion alguna.

 

Pero cuando coloco una condicion (PA>0) en la propiedad "Condicion visible" dentro de un Subcontrol del objeto Separador de formularios... no aparece en tiempo de ejecucion con el vClient.

 

La pregunta es si aun falta implementar esta opcion?

 

Gracias por la atencion prestada.

 

 

 


([N4] sat) #2

Buenos días Mario:

 

Si te he entendido bien, intentas mostrar una pestaña o no en función de una condición, en tiempo de ejecución. Si es así, decirte que al menos en los casos que tengo implementados, la opción funciona correctamente.

 

Un saludo.


([N1] Javier Duran Garcia) #3

Es posible que ocurra que tienes que encerrar la condición entre "" (Comillas dobles)

Algunas de las funciones de Velneo te lo pide, como en la opción de Solo lectura que tienes que poner "1" puesto que si pones solo el 1 no hará nada.

También revisa la condición que pones puesto que a lo mejor se cumple siempre o nunca.

 

 

--

Ate. Javier Durán García
Visita mi web NexusFireMan


(Chema) #4

@Javier: Puedes aclarar eso del "1" en las fórmulas??. Piensa que para ese tipo de propiedades booleanas (1 ó 0) como es "Sólo lectura", el resultado de la fórmula siempre será booleano. Esto es, 1 es True y "1" es True (hace la conversión intrínsicamente).

Espero puedas aclarar en que circunstancias se comporta distinto.

 

Saludos


([N1] Javier Duran Garcia) #5

Yo me he encontrado puntos en los cuales he tenido que encerrar entre comillas la expresión puesto que si la dejaba sin encerrar no funcionaba.

En la opción de Solo lectura si no lo encierro no funciona pero sin embargo en la opción de Condición de visible no me pasa.

Es algo que hay que tener en cuenta a la hora de condicionar cualquier opción que nos encontremos y ver si realmente esta funcionando como deseamos.

 

--

Ate. Javier Durán García
Visita mi web NexusFireMan


([N4] jmgonzalez.velneo) #6

Cuando se usan fórmulas como resultado para asignar valor a una propiedad de un objeto, siempre se hace un casting (se cambia el tipo de la variable) al valor que espera recibir esa propiedad. Por ejemplo, en la fórmula que define la propiedad "Titulo" siempre se hace un casting a cadena. Esto es, si en la fórmula ponemos 1+2, en el título se presenta 3, porque primero se evalúa la fórmula y después se convierte a cadena. Si lo que queremos es que aparezca el texto 1+2 tendremos que ponerlo entre comillas, esto es "1+2", de esta manera en el titulo aparece 1+2

Lo mismo pasa con las propiedades booleanas (solo lectura, visibilidad, etc). Primero se evalúa la fórmula. Si es 0 será falso y si es mayor que 0 será verdadero. Así funcionan TODAS las propiedades "fórmula".

Espero haber aclarado la duda.

Saludos 


([N4] eic) #7

Hola.

Y con respecto a la condición de visibilidad de los subcontroles del separador de formularios, mi experiencia es que las condiciones que no son estáticas (es decir, que son fórmulas) funcionan bien, pero sólo se evalúan al abrir el formulario. Es decir, si esa condición cambia (p.ej., porque hace referencia a un campo, y cambias el campo cuando el formulario está abierto), no se recalcula y no se muestra u oculta la pestaña. Hay una incidencia en vBugman al respecto, la 1520.

Saludos,

Fran Varona

 


([N1] mariorafaelvargas) #8

Gracias por la atencion prestada.

 

El caso es que he hecho las pruebas como las sugeridas en este hilo.  NO FUNCIONA.

Solo funciona en caso se pone 1 o 0    (uno o cero)   mi requerimiento es que la condicion sea dada a traves de una variable Local del mismo formulario.

Adjunto el formulario. Aqui en el lado izquierdo estan tres botones y en el lado derecho esta el objeto separador de formulario. El requerimiento es que solo aparezca el formulario del boton correspondiente.

Ojala que el objeto caja de formularios no sea igual.

 

SOLO QUEDA ESPERAR QUE EN LA SIGUIENTE VERSION SEA CORREGIDA ESTA SITUACION.

 

Gracias nuevamente.

 

[attachment=9790,951]


([N1] Velasco) #9

Buenas.

Para lo que quieres hacer creo que queda mejor utilizar una pila de formularios.

Desde los botones sólo deberás usar la instrucción Interfaz: Activar subcontrol() y así conseguirás vusalizar el subformulario que desees.

Hace tiempo publiqué un post en mi blog en el que explicaba cómo conectar un menú arbolado con una pila. En tu caso será mas fácil. http://www.theseedsc.com/blog/menu-arbolado-sincronizado-con-pila-de-formularios/

Un saludo.

 

 

 

Jorge Velasco Fernández

jvelasco@theseedsc.com

www.theseedsc.com


([N4] eic) #10

Hola.

Como bien comenta Jorge, si sólo quieres mostrar una pestaña cada vez, el objeto más adecuado es la pila de formularios. De todos modos, lo que intentas hacer (condicionar la visibilidad de las pestañas de manera que la condición se modifique con la pulsación de un botón) es JUSTAMENTE lo que te comentaba que no se puede hacer, y respecto a lo cual hay una incidencia en vBugman, es decir, ya está reportado.

Saludos,

Fran Varona