Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previaPróxima revisiónAmbos lados, revisión siguiente | ||
funcionesreportes [2020/07/29 23:32] – aolano | funcionesreportes [2020/07/30 19:13] – [Extracción de campos personalizados (CF)] aolano | ||
---|---|---|---|
Línea 80: | Línea 80: | ||
{{: | {{: | ||
+ | |||
+ | |||
+ | ===== Extracción de campos personalizados (CF) ===== | ||
+ | |||
+ | Los campos personalizados pueden ser creados y asociados casos, cuentas, cuentas y usuarios, de tal forma que se pueden añadir datos adicionales a los que el formulario estándar permite, como por ejemplo agregar la edad del contacto, el número de hijos de un usuario, la placa\matrícula\patente de un vehículo para un caso, entre otros. Todos estos datos, conocidos como Custom Fields (CF) se encuentran en la tabla del objeto (caso, contacto, cuenta, usuario) y se almacenan en formato JSON. Por ejemplo al obtener la información del caso 200501-000001 | ||
+ | (un caso de prueba) podemos ver que la columna CF contiene los datos personalizados que se ingresaron al ticket. | ||
+ | |||
+ | La consulta normal sería: | ||
+ | |||
+ | <code mysql> | ||
+ | | ||
+ | FROM caso | ||
+ | where caso.REFNUM = ' | ||
+ | </ | ||
+ | |||
+ | Y el resultado entregado por el sistema se vería de la siguiente forma: | ||
+ | |||
+ | ^ REF_NUM ^ CF ^ | ||
+ | | 200501-000001 | {" | ||
+ | |||
+ | === Función JSON_EXTRACT === | ||
+ | |||
+ | Los datos son visibles, pero en algunos casos se requiere que además los campos en CF se encuentren separados por columnas; la función **JSON_EXTRACT** de SQL permite obtener los datos puntales del campo CF recibiendo como parámetro el nombre del campo en la tabla ( por ejemplo caso.CF) y el nombre del campo personalizado (Ejemplo " | ||
+ | |||
+ | La consulta anterior modificada quedaría de la siguiente manera: | ||
+ | |||
+ | <code mysql> | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | FROM caso | ||
+ | where caso.REFNUM = ' | ||
+ | </ | ||
+ | |||
+ | Ahora el resultado entregado por el sistema se verá así: | ||
+ | |||
+ | ^ REF_NUM ^ Guia ^ Nombre ^ Hobbie Principal ^ | ||
+ | | 200501-000001 | " | ||
+ | |||
+ | === Función DATE_FORMAT === | ||
+ | |||
+ | 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: | ||
+ | |||
+ | <code mysql> | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | FROM caso | ||
+ | where caso.REFNUM =" | ||
+ | </ | ||
+ | |||
+ | El resultado arrojado es el siguiente: | ||
+ | |||
+ | |||
+ | ^ REF_NUM ^ Guia ^ Nombre ^ Hobbie Principal ^ | ||
+ | | 200724-000001 | Estación | Andrés | Nadar | | ||
+ | |||
+ | |||
+ | Con el fin de dar un formato adecuado a los textos con acentos se usa la función de SQL **CONVERT** usando además el parámetro **UTF8**, de esta forma: **CONVERT(Texto using UTF8)**. El siguiente ejemplo usa la función **CONVERT** en la consulta anterior para corregir el texto y mostrar correctamente el acento: | ||
+ | |||
+ | <code mysql> | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | FROM caso | ||
+ | where caso.REFNUM =" | ||
+ | </ | ||
+ | |||
+ | Ahora el resultado mostrado en el reporte será el siguiente: | ||
+ | |||
+ | |||
+ | ^ REF_NUM ^ Guia ^ Nombre ^ Hobbie Principal ^ | ||
+ | | 200724-000001 | Estación | Andrés | Nadar | | ||
+ |