//Inicialización de variables
//Comprobar si la rejilla está incrustada en otro objeto
var padre = theRoot.dataView().parentDataView();
//Si lo está vamos navegando por los objetos padre hasta llegar al objeto principal
for (var i=0; !salir; ++i) {
var top = padre.parentDataView();
//Si el objeto principal es un formulario con origen
//Componemos un identificador de campo a partir del identificador de la tabla
if (padre.objectInfo().inputType() == 1) {
tabla = "#" + padre.objectInfo().inputTable().id();
//Obtenemos la vista de datos actual (la rejilla)
var rejilla = theRoot.dataView();
//Obtenemos el número columnas visibles de la rejilla
var nColumnas = rejilla.visibleColumnCount();
//Guardamos la longitud del identificador de campo que hemos compuesto a partir del ID de la tabla
//Lo usaremos para extraer de la fórmula de cada colunma la parte izquierda
longTabla = tabla.length;
//Comprobamos si coincide la parte izquierda del contenido de la columna
//con el identificador de campo que hemos compuesto
//Si coincide, ocultamos la columna
//Obtenemos la información de objeto de la rejilla para poder comprobar
//en el bucle el valor de la propiedad "contenido"
infoRejilla=rejilla.objectInfo();
//Comprobamos si en la fórmula de la columna coincide el identificador del campo
//con el identificador de la tabla del formulario principal
//Si coincide, ocultamos la columna
for (var i=0; i<nColumnas;++i)
var subobjeto = infoRejilla.subObjectInfo(15,i);
var formula = subobjeto.propertyData(9);
iniFormula = formula.substr(0, longTabla)
if ( tabla == iniFormula) {
rejilla.setColumnVisible(i, false);