Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
funcionesreportes [2020/07/30 19:20] aolanofuncionesreportes [2025/11/17 14:53] (actual) – [Extracción de campos personalizados (CF)] aolano
Línea 1: Línea 1:
 ====== Funciones especiales para reportes ====== ====== Funciones especiales para reportes ======
- 
-//En construcción// 
  
 En esta sección se podrá encontrar información sobre funciones especiales para creación de reportes En esta sección se podrá encontrar información sobre funciones especiales para creación de reportes
Línea 22: Línea 20:
        caso.FECHACREACION        caso.FECHACREACION
 FROM caso FROM caso
-WHERE caso.FECHACREACION BETWEEN {{FECHADESDE}} AND {{FECHAHASTA}}+WHERE caso.FECHACREACION BETWEEN '{{FECHADESDE}}AND '{{FECHAHASTA}}'
 </code> </code>
  
Línea 120: Línea 118:
 | 200501-000001 | "00000000" | "Andres" | "Baloncesto" | | 200501-000001 | "00000000" | "Andres" | "Baloncesto" |
  
-=== Función DATE_FORMAT ===+=== Función CONVERT ===
  
 Los datos guardados en campos personalizados que contengan acentos pueden visualizarse de forma incorrecta al momento de llevarlos a un reporte. La siguiente sentencia SQL obtiene los datos de un caso cuyos CF contienen datos con acentos: Los datos guardados en campos personalizados que contengan acentos pueden visualizarse de forma incorrecta al momento de llevarlos a un reporte. La siguiente sentencia SQL obtiene los datos de un caso cuyos CF contienen datos con acentos:
Línea 156: Línea 154:
 ^ REF_NUM ^ Guia ^ Nombre ^ Hobbie Principal ^ ^ REF_NUM ^ Guia ^ Nombre ^ Hobbie Principal ^
 | 200724-000001 | Estación | Andrés | Nadar | | 200724-000001 | Estación | Andrés | Nadar |
 +
 +=== EXTRACCIÓN DE VALORES EN LISTAS DE SELECCIÓN ===
 +
 +Los custom fields de tipo lista seleccionable se componen de opciones, y cada opción se compone a su vez de un key que corresponde al ID y un valor que corresponde al nombre de la opción. Por ejemplo:
 + 
 +
 +^ REF_NUM ^ CF ^
 +| 200501-000001 | {"guia": "00000000", "nombre": "Andres", "hobbie_principal": {"01":"Baloncesto"} |
 +
 +Para obtener los nombres de la opción (Valor 2) se recomienda una query similar a la siguiente (este es un ejemplo de varias partes para mostrar las opciones disponibles, pero se puede simplificar):
 +
 +<code mysql>
 + select c.ID, @objetoCompleto := JSON_EXTRACT(c.CF, "$.hobbie_principal") as obj,
 +@key := JSON_UNQUOTE(JSON_EXTRACT(JSON_KEYS(JSON_EXTRACT(c.CF, "$.hobbie_principal")),'$[0]')) as 'key',
 +@value := JSON_UNQUOTE(JSON_EXTRACT(@objetoCompleto, CONCAT('$.', @key))) as 'value',
 +concat(@key,'-',@value) as 'resultado'
 +from caso c
 +where c.ID = 53615
 +order by c.ID DESC;
 +</code>
 +
 +Lo cual entrega un resultado como:
 +^ ID^ OBJ ^ KEY ^ VALUE ^ RESULTADO
 +| 53615 | {"01": "BALONCESTO", "01"} | 01 | BALONCESTO | 01 - BALONCESTO |
 +
 +