Software Lab

SageCRM v6.2. Tablas dinámicas. Cómo mostrar/ocultar campos condicionales.

Dic
09

Este artículo es una aplicación avanzada de una solución que da el departamento técnico de SageCRM, a quien agradezco el impulso y su solución inicial.

El precursor de este artículo  soluciona la posibilidad de mostrar una lista condicionada de elementos de un campo concidionado en base al valor que tenga un campo condicional precedente del mismo formulario o pantalla de entrada de datos.

Pero vamos un poco más allá en esta aplicación: conseguimos además que se muestre o su oculte un campo condicionado en función del valor que tenga el campo condicional precedente.

Lógica del proceso:

Pretendemos que el campo ‘Nombre Grupo’ no aparezca en caso de que el valor del campo ‘Grupo’ sea <No> ó <Ninguno>.

En caso de que el valor del campo ‘Grupo’ sea ‘Sí’, el campo ‘Nombre Grupo’ despliega las opciones posibles del campo ‘Nombre Grupo’ así como el título del campo.

Imagen 1:

Imagen 2:

Código Ejemplo:

<script>
function Setversion(programa){
if(document.EntryForm.comp_nombre_grupo) { //estamos en modo edición
obj = document.getElementById(«_Datacomp_nombre_grupo»); //valor-dato
Eobj = document.getElementById(«_captcomp_nombre_grupo»); //etiqueta-titulo
switch(programa){
case ‘Y’: //valor del campo condicionante
obj.style.display=’block’; //linea antes y después
Eobj.style.display=’inline’; //sin líneas ni antes ni después
obj.innerHTML = ‘<SELECT size=1 name=»comp_nombre_grupo»>’+
‘ <OPTION Value=»GR1″>Grupo1</OPTION>’+
‘ <OPTION Value=»GR2″>Grupo2</OPTION>’+
‘ <OPTION VALUE=»» SELECTED>–Ninguno–</OPTION>’+
‘</SELECT>’;
break;
default: //valor por defecto = vacio
obj.style.display=’none’;
Eobj.style.display=’none’;
obj.innerHTML = ‘<SELECT size=1 name=»comp_nombre_grupo»>’+
‘ <OPTION VALUE=»» SELECTED>–Ninguno–</OPTION>’+
‘</SELECT>’;
}
}
}
</script>

 

Deja un comentario