Aplicar filtro de perfil de datos en toba 3.4

Buenas noches: creé un perfil de datos desde una dimensión con la tabla empresas y lo vinculé con un usuario pero cuando entro al proyecto (/sindicato/1.0) con ese usuario no aplica el filtro de ese perfil de datos en el cuadro de la operación de empresas, ¿hay algo que me falta hacer? Aclaro que en la configuración de la previsualización seleccioné ese perfil y le di guardar.
Esta es la captura de pantalla de la previsualizacion:
previsualizacion
Estoy usando el framework en modo desarrollo.

Hola Matias,

como creaste el perfil de datos en toba_usuarios? podrias subirme una captura?

Tene en cuenta que la asociacion de la pantalla que me mostrar unicamente afecta al usuario con que ejecutas toba_editor, para vincular el perfil a otro usuario lo haces desde toba_usuarios y luego ejecutas el proyecto por fuera del editor.

Saludos

Exactamente eso hice.
Aca está la captura de pantalla:

Y que restricciones de valor sobre la dimension tiene el perfil “Empresa”?

Por otro lado, asumo que en toba_editor generaste para la dimension en cuestion los distintos “gatillos” y relaciones entre tablas verdad?. Tener esto bien es el paso previo.

Saludos

PD: Perdon… le pifie al nombre del perfil… seria “centinela”

Si, genere tanto los gatillos directos como los indirectos

Bien,

tenes los gatillos, tenes las relaciones, tenes la defincion hecha en toba_usuarios para el perfil centinela donde especificas para la dimension los valores a ser filtrados.

Luego tenes la asignacion al usuario tal como me mostraste previamente, supongo que luego de ello reiniciaste la sesion.

La pregunta que me quedaria es, el proyecto en cuestion… es utilizando los metadatos compilados?.. digamos la instancia quedo configurada como de produccion?.

En ppio pareciera que tenes todas las piezas del rompecabezas, por lo que al no funcionar significa que algo se nos escapa.

Una ultima consulta, el perfil de datos… como lo estarias aplicando sobre las consultas?

Saludos

No tengo metadatos compilados porque es en modo desarrollo, se puede hacer en ese modo y como aplico el filtro en un datos_tabla?

Buen día
Creo que además de crear la dimensión hay que agregar en el sql respectivo la sentencia:

$sql = “”;
$sql_filtrado = toba::perfil_de_datos()->filtrar($sql, ‘fuente_db’);
$result = toba::db(‘fuente_db’)->consultar($sql_filtrado);

Cordial saludo

Ahí vi como hacerlo, pero por alguna causa no me pone el where para filtrar por el campo clave de la dimensión, el método buscar_tablas_gatillo_en_sql no me trae nada, ¿cómo puedo hacer para que solo me ponga la tabla de la dimensión y no las tablas de los gatillos?

Y ya asoció en toba_usuarios dicha dimensión??
Y al usuario asociarle al final dicha dimensión

imagen

Si el perfil de datos está vinculado con el usuario pero cuando me logueo con ese usuario no aplica el filtro de ese perfil

Hola Matias,

si se puede hacer sin problemas, era una consulta para ver si teniamos algun paso extra que necesitaramos hacer.

En el caso del datos_tabla, el uso de perfil de datos es opcional (ya que originalmente el comportamiento no estaba y se priorizo la BC), por lo que debes activarlo explicitamente previo a realizar la carga, digamos te quedaria algo asi por ejemplo para un evt de un cuadro:

function evt__cuadro__seleccion($seleccion) 
{
       $this->dep('datos')->activar_perfil_de_datos();
       $this->dep('datos')->cargar($seleccion);
}

Saludos

No existe el método datos_relacion::activar_perfil_de_datos()

Me dijiste para hacerlo en un evento del cuadro, pero yo quiero hacer el filtro en el cuadro, tendría que hacerlo en el método conf_cuadro para que solo se vean los elementos seleccionados en la dimensión para el perfil de datos.

Por favor responderme este pregunta, necesito solucionarlo con urgencia.

Hola Matias,

te dije de hacerlo en el evento del cuadro porque el filtrado debes realizarlo previo a la carga del dato y dicha carga la realizas en dicho evento normalmente.

Pensalo a nivel interaccion con la bd, el perfil de datos lo pones en la SQL… no lo quitas del conjunto de datos que te devolvio luego, eso desperdiciaria recursos.

Por otra parte, tenes razon… el metodo no esta directamente dentro del DT… sino que forma parte de la interfase del persistidor, por tanto el snippet previo deberia parecerse mas a esto:

function evt__cuadro__seleccion($seleccion) 
{
       $this->dep('datos')->get_persistidor()->activar_perfil_de_datos();
       $this->dep('datos')->cargar($seleccion);
}

Saludos

Por favor, decime como hacer el filtro del perfil de datos en el cuadro, tal como lo tiene el Guaraní, cada usuario solo ve los datos de la unidad académica (creo que es responsable académica a partir de la versión 3 de guarani) en la que trabaja.
Necesito que el usuario solo vea lo que tiene asignado en el perfil de datos.

Por favor, respondanme esta pregunta, necesito resolverlo con urgencia

Mira el codigo de Guarani 3 y fijate que tenes diferente entonces… porque ya te consultamos y te dimos opciones, todo respondes que si y seguis diciendo que no te funciona.

Te agradezco mucho la respuesta, te mencioné lo de guaraní 3 porque lo uso en mi trabajo, pero no tengo acceso al código fuente de ese sistema, por favor te agradecería que me digas como hacerlo porque no se como hacerlo.