Evolution 1.11.0.2 En la configuración de listas de valores, para el campo "Origen de Valor" o "vli_value_source", ¿cuál es la diferencia entre usar UseItemData (Campos) y UseSqlExpressionInItemData (Expresión Sql)? ¿En qué caso debería utilizar cada uno de ellos? En una instalación fresca de Evolution, puedo ver que si la definición es una consulta Sql, asigna indistintamente el valor del campo "Origen de Valor". |
UseItemData le indica a la infraestructura que la lista de valores está formada, al menos, por tuplas 'id' / 'descripcion'; sin importar si provienen de listas constantes o provenientes de instrucciones SELECT de la base de datos. UseSqlExpressionInItemData le indica a la infraestructura, que la propiedad 'id' de las tuplas que retorna la lista de valores, es una expresión válida de SQL. Es decir que no lo toma como un código del elemento de la lista, sino como una expresión que concatenará al campo correspondiente, al momento de generar la cláusula WHERE de la instrucción SELECT. El primer caso resuelve la mayoría de los requerimientos de listas de valores, mientras que el segundo es para un uso avanzado, en el cual se quieren injectar expresiones SQL en las cláusulas WHERE. |