Qué son las Table Actions

Las Table Actions son la forma de añadir partes dinámicas al funcionamiento de una tabla. Una parte dinámica puede reaccionar a cambios en los valores de las celdas y producir un resultado que puede ser de dos tipos:

  1. Habilitar o deshabilitar una celda o rango de celdas.
  2. Definir el valor de una celda. Es decir, realizar cálculos automáticos y poner el resultado en otra celda.

Este es un ejemplo de un Table-Action que calcula una suma horizontal de datos:

En esta imagen vemos como definir una table action usando el plugin de Excel del taxonomy builder

Como crear una Table Actions

Para crear una table-action usando el Generador de Taxonomías necesita dos instrucciones:

  • TABLEACTION: Que permite definir la acción. Más adelante veremos todos los elementos que componen una acción.
  • GENARC: Es el arco que unirá la tabla con la acción usando el arco de rol “http: //reportingstandard.com/arcrole/2017/table-action”

Elementos que componen la instrucción TABLEACTION

Parámetro 1:

Es el identificador del TABLEACTION. Al igual que todos los identificadores, debe ser único en el archivo en el que se crea (preferiblemente será único en todo el Excel).  Este parámetro se usará para hacer referencia al recurso en los arcos, bien como elemento de origen o como elemento de destino. En nuestro caso, este identificador lo usaremos como elemento de destino en la instrucción GENARC.

Parámetro 2:

Es el tipo de acción. Existen dos tipos:

  • value: La acción generará un valor calculado a partir de otros valores. Este valor será asignado a una/s celda/s de la tabla.
  • disable: La acción generará un valor “true” o “false”. Este valor se usará para habilitar o deshabilitar una celda o rango de celdas.

Parámetro 3:

Son los eventos que lanzarán la acción. Puede ser único o una lista de eventos separadas por un espacio. Hay 3 tipos de eventos:

  • init: La acción se comprobará cuando se inicialice la vista de la tabla. Es decir, cuando el usuario cambie a esta vista en el desplegable de listas y antes de pintar la tabla.
  • focusLost: La acción se recalculará cuando se pierda el foco de alguna de las celdas de origen de la acción. Una celda pierde el foco cuando terminamos la acción de cambiar su valor y nos vamos a mover a otra celda.
  • focusGain: La acción se recalculará cuando se gane el foco en alguna de las celdas de origen de la acción. Una celda gana el foco justo antes de que comenzar a editar el valor de esa celda.

Parámetro 4:

Es la expresión que se evaluará. Esta es una expresión XPath que devolverá un valor. El valor debe ser “true” o “false“, en el caso de que la acción sea de tipo “disable”, o un valor cualquiera en el caso de que la acción sea de tipo “value“. Para facilitar la definición de fórmulas que usen los valores de otras celdas, se ha definido una función que permite acceder desde esta expresión al valor de otra celda. Esta es la función t:c(…)

Parámetro 5:

Es el rango de celdas (o celdas individuales) de origen. El rango de origen es el conjunto de celdas que, cuando se ejecute el evento definido en el Parametro 3, dispararán las  acciones definidas. Estos rangos pueden ser continuos o discontinuos:

  • Un rango continuo es un conjunto de celdas que se indican usando la referencia de la celda superior izquierda y la celda inferior derecha. Por ejemplo A2:C2. Este rango comprende las celdas A2, B2 y C2.
  • Un rango discontinuo es un conjunto de rangos continuos separados por comas. Por ejemplo A2:C2,Z5 es un rango discontinuo que incluye las celdas A2, B2, C2 y la Z5.

Parámetro 6:

Es el rango de destino. Este rango puede ser continuo o discontinuo, al igual que el del parámetro 5. Indica las celdas en las que aplicará la acción:

  • Si la acción es de tipo value, el valor resultado de la expresión se colocará en esa celda.
  • Si la acción es de tipo disable, las celdas se habilitarán cuando el valor sea false y se deshabilitarán cuando el valor sea true.