> For the complete documentation index, see [llms.txt](https://wedocs.gitbook.io/wedocs-5.1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wedocs.gitbook.io/wedocs-5.1/wedocs-5.1-es_es/notas-de-la-version/release-notes-4.4.md).

# Notas de la Versión 4.4

Novedades y Mejoras Weknow

## <mark style="color:blue;">Destacados</mark>

### <img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-4ddcfa7aca5eb5ed7901a8603a1b160ffa5b7ba4%2Fanalysis%20(1).png?alt=media" alt="" data-size="line"> Nuevo driver - Tasy Cloud

Ahora hay un nuevo driver disponible para conexión con **Tasy Cloud**. [#driver-para-conectar-en-el-sistema-tasy-cloud](#driver-para-conectar-en-el-sistema-tasy-cloud "mention")

### <img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-763969ba3a1436f7a97b986491b36418eaa9199c%2Fmagnifier.png?alt=media" alt="" data-size="line"> Ejecutor rápido

Se realizaron diversas modificaciones en el ejecutor rápido para facilitar su uso. [#ejecutor-rapido-1](#ejecutor-rapido-1 "mention")

### <img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-c56bba163666b36479027cb60c038da22167fd74%2Fmeta.png?alt=media" alt="" data-size="line"> Variables dinámicas

Las variables dinámicas son las nuevas variables de contexto que podrán ser creadas a través de la ejecución de un SQL. Son variables cuyo valor puede variar en cada ejecución del SQL. [#variables-dinamicas](#variables-dinamicas "mention")

## <mark style="color:blue;">Detalles</mark>

### Ejecutor rápido

* Se implementaron diversas mejoras en el ejecutor rápido, haciéndolo más completo que nunca. Ahora es posible realizar toda la configuración de parámetros, formato, exportación y sesiones.

Las sesiones de uso no guardadas se almacenarán localmente, permitiendo que, al reabrir la pantalla, el usuario vea exactamente el estado en que la dejó, incluso sin guardar manualmente.

Esta funcionalidad se aplica exclusivamente a la pantalla de ejecución rápida. Es decir, cuando el editor se abra desde otro lugar, la última sesión no se cargará automáticamente. Sin embargo, el usuario puede abrir una sesión guardada, si lo prefiere.

Además, esta funcionalidad solo será válida para la primera pestaña. Cuando se abra una segunda pestaña, se cargará en blanco.

El usuario puede optar por guardar su sesión de trabajo. Al hacerlo, podrá cerrar y reabrir la pantalla, retomando exactamente donde se quedó, siempre que la sesión haya sido guardada previamente.

En resumen:

1. El usuario abre la pantalla;
2. Informa un SQL;
3. Configura parámetros;
4. Define los campos;
5. Exporta los datos;
6. Guarda la sesión;
7. Cierra la pantalla;
8. Reabre la pantalla;
9. Carga la sesión guardada anteriormente y retoma el trabajo desde el punto donde se quedó.

Una sesión contiene todas las configuraciones realizadas en la pantalla, excepto los datos de ejecución. La información guardada incluye:

* Conexión;
* SQL;
* Límite de registros;
* Configuraciones de parámetros;
* Configuraciones de campos;
* Configuraciones de exportación.

Las sesiones se almacenan individualmente, por usuario, y no pueden ser compartidas. Esto significa que solo el propio usuario puede acceder a sus sesiones, evitando que un usuario cree sesiones para otros.

<figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-1e8ff5df8abbb886354aa3c8d4813c30678fdd73%2Fimage%20(781).png?alt=media" alt=""><figcaption></figcaption></figure>

Después de la ejecución de un SQL con datos cargados, el usuario podrá exportarlos en cinco formatos diferentes: XLSX (o XLS), CSV, XML, HTML y JSON.

<figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-9894e10b890d181a3a807eaa920b9a962aeaec1c%2Fimage%20(782).png?alt=media" alt=""><figcaption></figcaption></figure>

### Variables dinámicas

* Se implementó un nuevo sistema de variables de contexto, que pueden ser creadas dinámicamente durante la ejecución de comandos SQL. Estas variables tienen la capacidad de tener sus valores alterados en cada ejecución del SQL, permitiendo mayor flexibilidad y adaptabilidad en el procesamiento de los datos.

En la pantalla de variables de contexto de un usuario se añadió un botón Variables dinámicas:

<div align="left"><figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-acd4740ba41095f40be8ba265c975ba3349de21a%2Fimage%20(783).png?alt=media" alt=""><figcaption></figcaption></figure></div>

Hacer clic en este botón abre la pantalla de Variables de contexto dinámicas:

<div align="left"><figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-151719992b395cb105eccf50e0825a72261e4587%2Fimage%20(784).png?alt=media" alt=""><figcaption></figcaption></figure></div>

En esta pantalla el usuario podrá gestionar las variables de contexto dinámicas de un usuario. Para añadir una, debe hacer clic en el botón Añadir (+). Esto abrirá la pantalla de edición de variable dinámica:

<div align="left"><figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-362f1341a686f4fb0e3e28c0682edc4af51e8a78%2Fimage%20(785).png?alt=media" alt=""><figcaption></figcaption></figure></div>

Para añadir la variable de contexto dinámica, el usuario debe, obligatoriamente, elegir una conexión, informar un código SQL y probarlo (o ejecutarlo) con éxito.

Un único SQL puede generar más de una variable ya que cada columna puede generar una variable distinta. Si el SQL devuelve más de una fila, las variables generadas serán listas de valores donde cada fila representará un valor.

Una vez probado con éxito, podrá configurar las Variables de contexto resultantes en la pestaña del mismo nombre.

La lista de la izquierda presenta las variables que serán creadas por el SQL. Cada columna del SQL, representa una variable.

Hacer clic en una de estas variables permite la configuración de esta variable:

El campo Campo representa el nombre del campo/columna del SQL resultante. No puede ser editado por el usuario.

El campo Activo permite que el usuario desactive/ignore determinadas columnas del SQL resultante.

El campo Variable representa el nombre de la variable resultante (en caso de que se desee que sea diferente del nombre de la columna). Nótese que el nombre de la variable debe seguir los patrones de nomenclatura de variables de contexto y debe ser único dentro de la definición.

El campo Cantidad permite determinar si el resultado es una lista o un valor simple.

El modo Desconocido actúa de forma automática: si se obtiene un único (o ningún) valor, la variable se considerará como un valor simple. Si se obtiene más de un valor, la variable se considerará como una lista. Este modo se aplicará (y es recomendado) para la mayor parte de los casos, pero puede haber algunos donde sea necesario especificar si se trata de una lista o no.

El modo Lista de valores considera que el valor es una lista incluso si devuelve solo un valor (o incluso ninguno).

El modo Valor único considera que es un valor simple incluso si devuelve más de un valor. Si es necesario, los valores adicionales son ignorados.

El campo Ignorar valores nulos, si está marcado, determina que los valores nulos devueltos por el SQL sean ignorados. Esto puede ser especialmente útil para SQLs que devuelvan diversas variables y diversas filas.

El campo Ignorar valores repetidos, si está marcado, determina que los valores devueltos sean únicos. Nótese que, en esta situación, el sistema puede distorsionar el orden de los valores devueltos por rendimiento en la verificación. Si el orden es importante, este campo no debe estar marcado y la unicidad debe ser responsabilidad del SQL.

El campo Separador permite definir uno o más caracteres para dividir el valor resultante en una lista de valores.

El campo Muestra exhibe, basándose en el resultado de la prueba del SQL y las configuraciones de la variable, el(los) probable(s) valor(es) de esta variable.

En la pestaña Resultado (sin formato) podrá, si es necesario, visualizar el resultado del SQL.

Este SQL puede disponer de parámetros de entrada para la aplicación de filtros.

Estos parámetros, a su vez, pueden disponer de variables de contexto globales y del propio usuario.

Para editar una variable de contexto dinámica ya creada, debe seleccionar una y hacer doble clic sobre ella.

El botón Editar (\*) abre un menú flotante según la imagen a continuación:

<div align="left"><figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-769f45f6601c5f83ffc3832178a77cccb0ddb679%2Fimage%20(786).png?alt=media" alt=""><figcaption></figcaption></figure></div>

La opción Editar abre la edición de la variable de contexto dinámica.

La opción Aplicar a todos los Usuarios convierte la variable en global. Es decir, se aplica a todos los usuarios. Esto puede ser útil para casos donde el mismo SQL puede ser reaplicado para todos los usuarios.

Sin embargo, puede desearse que una determinada variable global no se aplique a un usuario determinado. Esto se puede obtener a través de la opción Desactivar para este usuario.

El botón Eliminar (-) permite la eliminación de la variable seleccionada. Nótese que cualquier variable puede ser eliminada, incluso las globales. En esa situación, se mostrará una alerta preguntando al usuario.

El botón Eliminar todas (x) permite la eliminación de todas las variables listadas. Nótese que esto eliminará incluso las variables globales. En esa situación, se mostrará una alerta preguntando al usuario.

El botón Acciones (...) abre un menú flotante según la imagen a continuación:

<div align="left"><figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-47582e18db788e5cbc4fc0211452b5346d7678da%2Fimage%20(787).png?alt=media" alt=""><figcaption></figcaption></figure></div>

La opción Ver las variables actualmente generadas abre una pantalla mostrando las variables dinámicas que fueron generadas para el usuario.

Nótese que las variables se generan solo después de que el Gestor de Tareas procese las variables dinámicas creadas.

<div align="left"><figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-f560f4b9d48e3c38b84203a986b05fbfd40a9584%2Fimage%20(788).png?alt=media" alt=""><figcaption></figcaption></figure></div>

Las otras opciones permiten forzar la actualización inmediata de las variables de uno o de todos los usuarios, respectivamente.

Nótese que estas opciones solo colocarán la generación en la lista del Gestor de Tareas, que es el verdadero responsable de la generación.

En la lista de variables:

* La columna Código representa el identificador interno de la variable (meramente ilustrativo).
* La columna Situación indica si la variable es global y si está activa:
* Activo: No es global. Se aplica solo al usuario actual.
* Global activo: Se aplica a todos los usuarios, incluido el actual.
* Global inactivo: Se aplica a todos los usuarios pero no se aplica al actual.
* La columna Variables muestra el nombre de las variables que se generan.

<div align="left"><figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-a5452fbe816f5a3e956d60d801eae076383ceb69%2Fimage%20(789).png?alt=media" alt=""><figcaption></figcaption></figure></div>

Cuando una variable sea generada por más de una variable de contexto dinámica, se mostrará una alerta. Esta práctica no será impedida. Primero, sería complejo limitarlo. Segundo, pueden haber situaciones normales en las que esto suceda. Nótese que las variables globales inactivas no contribuyen a este aviso.

Ejemplo: en la imagen a continuación, la variable color se genera dos veces:

<div align="left"><figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-58b0873156b0743a0b6f4b1d37090e07491809a0%2Fimage%20(790).png?alt=media" alt=""><figcaption></figcaption></figure></div>

Precedencia:

Si existe una variable de contexto estática con el mismo nombre de una variable de contexto dinámica, la variable estática tendrá prioridad.

Entre dos variables de contexto dinámicas, las variables específicas de un usuario tendrán prioridad sobre las globales.

Finalmente, se utilizará el ID de la variable. Las variables más "recientes" (con ID mayor) tendrán prioridad.

Una vez que la variable dinámica sea definida, el Gestor de Tareas realizará su generación.

Se creó un servicio específico: Actualización de las variables dinámicas

Es posible especificar hasta 8 procesos paralelos para este servicio.

La actualización automática se realiza una vez cada 24 horas (no configurable).

Este tiempo es independiente para cada usuario.

El Panel de control tiene un espacio específico para que el usuario gestione la situación de las generaciones.

<div align="left"><figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-5b14a8ac50b9c8f60e2c4269e2857c71bfa42171%2Fimage%20(791).png?alt=media" alt=""><figcaption></figcaption></figure></div>

Hacer doble clic en un registro, abre el log de ejecuciones de las variables del usuario.

Hacer clic con el botón derecho abre un menú flotante que permite la edición de las variables de ese usuario y la ejecución inmediata.

<div align="left"><figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-4103242d2207dfd9519241e171a22ded00000712%2Fimage%20(792).png?alt=media" alt=""><figcaption></figcaption></figure></div>

Cuando el usuario vaya a crear, por ejemplo, un campo calculado, verá las variables de contexto que ya fueron generadas por el Gestor de Tareas:

<div align="left"><figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-df3a77fbd39f66d931d7d56173a0f01cd457449a%2Fimage%20(793).png?alt=media" alt=""><figcaption></figcaption></figure></div>

Exportación:

* Las variables de contexto dinámicas se exportan/importan junto con el usuario al que pertenecen.
* Las variables de contexto dinámicas globales se exportan/importan junto con las variables de contexto globales si la opción correspondiente está seleccionada.

### Driver para conectar en el sistema Tasy Cloud

* En la versión 4.4, se introdujo un nuevo Driver: el TasyCloud.

Para registrar una conexión para el sistema Tasy Cloud, se deben completar los siguientes parámetros en la pantalla:

* Framework WK;
* Driver Tasy Cloud;
* URL del endpoint;
* Usuario y contraseña de acceso;

Forma de detección del tipo de datos de las columnas/campos, con las siguientes opciones:

* Probar los datos existentes: el usuario debe informar la cantidad máxima de filas a probar; Basarse en la primera fila: utilizar el tipo del campo JSON de la primera fila;
* No aplicar detección: todos los campos se definirán como string.

<div align="left"><figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-6286b1d80903b7caca895a1a19c0d0877974e972%2Fimage%20(2).png?alt=media" alt=""><figcaption></figcaption></figure></div>

Después de crear la nueva conexión, acceda al editor de metadatos y seleccione la conexión creada. Luego, podrá añadir el modelo/tabla creado en Tasy. Después de informar el nombre y hacer clic en “OK”, toda la información del modelo/tabla se transferirá al metadato.

<figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-b6ff6dbabc7a4d103ea03b89cc015d942d40ea8c%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

* Nombre de la Tabla: Informe el nombre del módulo creado en Tasy.
* Filtro: Si el modelo devuelve más de 500 registros, informe un filtro en el formato `campo:valor`, separando múltiples filtros por coma. Ejemplo: `CD_CONVENIO:36,CD_SETOR:12`.

### Conexión híbrida

* Se optimizó el proceso de ejecución de los metadatos híbridos, evitando el uso innecesario de una base de datos en memoria. El nuevo enfoque prevé que, cuando todas las tablas virtuales del metadato híbrido estén basadas en la misma conexión, los datos se extraigan directamente de esa conexión. De esta forma, se elimina la necesidad de mover los datos a la memoria, lo que resulta en una mejora significativa en el rendimiento del sistema.

### Componente hoja de cálculo - Fijar columna

* Ahora en el componente de hoja de cálculo será posible fijar columnas. Al acceder a las configuraciones del campo se mostrará la opción 'Fijar'. Cuando se selecciona, la columna configurada se fijará en la primera parte de la visualización de la hoja de cálculo.

<div align="left"><figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-bc850e863b337779831aed7e74791efb61c3891d%2Fimage%20(16).png?alt=media" alt=""><figcaption></figcaption></figure></div>

### Transcripción de fórmulas y campos parciales para SQL Server, MySQL, PostgreSQL y SQLite

* La transcripción antes realizada para Oracle y MonetDB, ahora se extendió para incluir SQLite, PostgreSQL, MySQL y SQL Server. Sin embargo, no todas las operaciones parciales pueden ser transcritas, ya que dependen de las funcionalidades específicas que cada base de datos ofrece (los detalles de cada base de datos se proporcionan a continuación). Si alguna operación parcial no puede ser transcrita, seguirá siendo proporcionada por Weknow.

En los campos parciales de fecha/hora se añadió la opción Transcribir a SQL cuando sea posible. Esto permite al usuario desactivar la transcripción si es conveniente.

<div align="left"><figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-a3bcc6d27a965ab812199c985466cd315eb3197a%2Fimage%20(15).png?alt=media" alt=""><figcaption></figcaption></figure></div>

Por defecto, este campo está marcado.

#### Oracle

* Parciales de milisegundo: no hay soporte;
* Semana del mes: no hay soporte;
* Demás parciales: pueden ser transcritas;

#### MonetDB

* Parciales de milisegundo: no hay soporte;
* Semana del mes: no hay soporte;
* Demás parciales: pueden ser transcritas;

PostgreSQL

* Semana del mes: no hay soporte;
* Demás parciales: pueden ser transcritas;

MySQL

* Parciales de milisegundo: no hay soporte;
* Semana del mes: no hay soporte;
* Demás parciales: pueden ser transcritas;

SQL Server

* Parciales de milisegundo: no hay soporte;
* Semana del mes: no hay soporte;
* Demás parciales: pueden ser transcritas;

#### SQLite

* Parciales de milisegundo: no hay soporte;
* Día de la semana y otras parciales que dependen de esta (hora de la semana, minuto de la semana, etc): hay soporte solo a partir de versiones más recientes.
* Semana del año: hay soporte solo a partir de versiones más recientes.
* Semana del mes: no hay soporte;
* Demás parciales: pueden ser transcritas;

#### Demás bases de datos

* Nada será transcrito.

### WhatsApp - Twilio

* A partir de la versión 4.4, se añadió la integración con la plataforma Twilio para el uso de WhatsApp. Para configurar, acceda a **Configuraciones** > **WhatsApp** > **Twilio**.

<div align="left"><figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-c13560010f4152698b1b2830fab5ec860c7ea1c2%2Fimage%20(17).png?alt=media" alt=""><figcaption></figcaption></figure></div>

Al hacer clic se abrirá la pantalla de configuración:

<figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-4de3f23160ce9bb275b24c1b475ef67a17e22ec9%2Fimage%20(18).png?alt=media" alt=""><figcaption></figcaption></figure>

En esta pantalla es posible realizar todas las configuraciones del proveedor, incluyendo el sistema de almacenamiento en la nube, Amazon S3. Para más detalles, consulte el manual a continuación.

[Ver con más detalles en el manual](/wedocs-5.1/wedocs-5.1-es_es/cliente-desktop/cadastro-de-tarefas-e-alertas/enviar-whatsapp.md).

### **Filtros locales** <a href="#filtros-locales" id="filtros-locales"></a>

* Implementamos mejoras significativas en la forma en que se calculan los totales parciales en hojas de cálculo que utilizan filtros locales. Con esta actualización, los totales reflejarán de manera más precisa las alteraciones provocadas por los filtros aplicados, garantizando una visualización más clara y consistente de los datos. Consulte a continuación los principales cambios y reglas para el cálculo de los totales cuando se utilicen filtros locales.

**Visualización de Totales Parciales con Filtros Locales**

* **Total Parcial con Filtros Locales:** En hojas de cálculo que permiten filtros locales, el total parcial se mostrará siempre que se aplique un filtro.
* **Icono de Alerta:** En las columnas donde no es posible presentar el total con filtros locales aplicados, aparecerá un icono de alerta en la celda de total (anteriormente, se mostraba “N/A”). Al posicionar el cursor sobre este icono, se mostrará el siguiente mensaje: *“Existen filtros aplicados que se procesan localmente y, debido a las configuraciones de esta columna y/o hoja de cálculo, no es posible calcular y mostrar el valor total en el pie de página.”*
* **Reglas para el Cálculo del Total con Filtros Locales:** Cuando se utilicen filtros locales, el total se calculará según las reglas a continuación:
  1. **Sin Función de Agregación (FA):** Si ninguna columna tiene función de agregación, se mostrará el total normalmente.
  2. **Columna Agregada:** Si la columna es agregada (campo calculado por SQL, fórmula o Python), se mostrará una alerta.
  3. **FA Incompatible:** Si la función de agregación del pie de página es diferente de la función de agregación de la columna, se mostrará una alerta.
  4. **Función “Contar”:** El total se calculará sumando los valores de la columna.
  5. **Función “Listar”:** El total se presentará concatenando los valores de la columna, utilizando la coma (",") como separador.
  6. **Funciones “Sumar”, “Máximo” o “Mínimo”:** El total se mostrará normalmente.
  7. **Función “Listar Distinto”:** El total se calculará dividiendo los valores de la columna por el separador “,” y, a continuación, concatenando solo los valores distintos utilizando el mismo separador.
  8. **Otras Funciones (MEDIA, MEDIA DISTINTA, CONTAR DISTINTO, SUMAR DISTINTO):** En estas situaciones, se mostrará una alerta.

<div align="left"><figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-f5cad65b5d6a24906daa55033e7d50005099ff22%2Fimage%20(817).png?alt=media" alt=""><figcaption></figcaption></figure></div>

### Menú de edición del componente

* En las versiones anteriores, en algunos casos, las opciones de edición se mostraban sobre columnas u otra información del componente. Para resolver este problema, implementamos una nueva forma de presentar las opciones de edición.

<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2RJD82SbbSJBL1qk9sm4%2Fuploads%2FjevkfAU6CX6Ta6mvdbcr%2Fimage.png?alt=media&#x26;token=e37fd9be-37c4-4fcf-b4f5-1da4e52ed8ea" alt=""><figcaption></figcaption></figure>

Ahora, el menú del componente puede mostrarse en tres posiciones:

* **Interna** (comportamiento predeterminado anterior): cuando el título del componente es mayor que el propio menú, cuando no hay espacio suficiente arriba ni abajo del área de la pestaña o cuando el componente está maximizado;
* **Arriba del componente**: cuando no es posible mostrar el menú internamente y hay espacio disponible en la parte superior de la pestaña;
* **Debajo del componente**: cuando no es posible mostrar el menú en la posición superior y hay espacio suficiente en la parte inferior de la pestaña.

Además, el componente se traerá al primer plano (eje z) al hacer clic en él. Esta "selección" podrá deshacerse haciendo clic en el dashboard o presionando la tecla ESC.

### Política de seguridad en la exportación de datos

* Se implementó una política de seguridad en la exportación e importación de datos. Ahora, solo será posible exportar datos para los cuales el usuario tenga permiso, mostrándose solo los datos autorizados para exportación.

### Variable de contexto en submenús

* Ahora es posible crear variables de contexto en submenús.

<div align="left"><figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-d2799ea328273f0bd1038ba0aeb36b63381922cb%2Fimage%20(20).png?alt=media" alt=""><figcaption></figcaption></figure></div>

### Opción de sufijo al copiar dashboard

* Ahora al copiar un dashboard, podrá elegir si desea añadir el sufijo '(Copia)' en el nombre de cada componente.

<div align="left"><figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-9b13bffdb6500158289f4e94f99ad9010a0461dd%2Fimage%20(19).png?alt=media" alt=""><figcaption></figcaption></figure></div>

### Modos de selección en el gráfico

* Ahora será posible alternar entre los modos de selección ('etiqueta y serie', 'etiqueta' o 'serie') haciendo clic con el botón derecho del ratón sobre un punto, columna o parte del gráfico.

<figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-7b638fa8213b7c546b189f7c108f25803adda2b3%2Fimage%20(21).png?alt=media" alt=""><figcaption></figcaption></figure>

1. El patrón de selección se cambió para que, al seleccionar un punto en el gráfico, solo se seleccione la etiqueta, en lugar de 'etiqueta y serie' como antes. Este cambio se aplica solo a dashboards con vínculos automáticos activados.
2. El nuevo formato de selección se aplicará exclusivamente en dashboards con vínculos automáticos activados y solo si hay series configuradas en el gráfico.
3. No será posible usar dos modos de selección simultáneamente. Por ejemplo, si una serie está seleccionada y el usuario cambia para seleccionar una etiqueta, la selección de la serie se deshará para permitir la nueva selección de la etiqueta.

### Guardar y reutilizar la ordenación de detalle

* Ahora en la versión 4.4 será posible guardar la ordenación del menú de detalles del componente y del explorador de datos. Al acceder al menú, se mostrará un botón para guardar las modificaciones que estará habilitado solo después de realizar alguna edición. Cabe destacar que las ediciones realizadas directamente en la pantalla de detalles se guardarán solo para el usuario.

<figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-a6d5dfa0937aeaaccdf876bd86b6f2bfc1b5a3af%2Fimage%20(799).png?alt=media" alt=""><figcaption></figcaption></figure>

### Nueva pantalla de inicio de sesión

* La página de inicio de sesión fue reformulada y ahora cuenta con un área dedicada a noticias.

<figure><img src="https://3587585358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F50pzAwYR5kVhg57Z4ClR%2Fuploads%2Fgit-blob-cd8a5504da1e06c461d9eeb6125063b2b9bb2c38%2Fimage%20(820).png?alt=media" alt=""><figcaption></figcaption></figure>

### Tamaño de las ventanas

* Se realizaron varias mejoras en los tamaños de las ventanas del sistema Weknow.

### Redimensionamiento del gráfico

* Ahora al ocultar una serie por la leyenda, el eje correspondiente también se ocultará, siempre que no esté en uso por ninguna otra serie visible en el gráfico. Además, al cargar un gráfico con la configuración de selección única en la leyenda, los ejes de las series que no están visibles no se mostrarán.

### Instalador Weknow

* La instalación de Python se integró al instalador del servidor Weknow.

### Migración a Angular2+

* En la versión 4.4 implementamos una actualización significativa a Angular 2+ con el objetivo primordial de mejorar el rendimiento del sistema.

{% hint style="info" %} <mark style="color:blue;">**Para más información acceda a nuestro SAC**</mark>

<https://atendimento.weknowhealthtech.com.br/kb> o envíenos un correo electrónico a <atendimento@weknowhealthtech.com.br>
{% endhint %}
