En esta sección se encuentra el listado detallado de las instrucciones de flujo de procesador del Taxonomy Builder. Además, podrá encontrar otras instrucciones que sirven para activar características únicas de las herramientas de Reporting Standard.

Puede encontrar información sobre el resto de instrucciones en la guia de ayuda del generador de taxonomías.

NOP

La instrucción NOP no hace nada (No OPeration). Todos los parámetros de la instrucción NOP pueden ser usados sin que supongan ninguna interferencia con otras instrucciones.

La instrucción NOP resulta muy útil durante el diseño de la modularización de alternativas para el DTS cuando el deseo del autor del DTS es poder saltar alguna instrucción pero no quitar todos los parámetros.

Puede insertar la instrucción NOP utilizando el plug-in de Excel XBRL Taxonomy Language. Para hacer esto acuda al grupo Other y pulse sobre el botón Nop

Vista del plugin de Excel. En la sección de "Others" se encuentra el boton "NOP" instruccion para añadir comentarios al Excel

CLEAR

La instrucción CLEAR elimina definiciones del DTS. Esta instrucción sirve para que el Taxonomy Builder pueda redefinir elementos que ya estaban definidas. Se usa principalmente para hojas de Excel que contienen múltiples DTS que no comparten ciertos elementos (como la definición de roles). Es decir, esta instrucción serviría para que el contenido de ambos DTS no se mezclen.

La instrucción CLEAR elimina las siguientes definiciones de las tablas internas:

VALIDATE

La instrucción VALIDATE realiza una validación XBRL para todos los procesadores e informa de inconsistencias y errores en el registro. Esta instrucción puede ser usada con el fin de garantizar que el DTS producido es correcto.

La instrucción VALIDATE tiene los siguientes parámetros

Número

Requerido

Contenido

Tipo

1

No

Coordenada apuntando a la Tabla de Propiedades del DTS. Esta tabla tiene el formato que se especifica más abajo.

Coordenada

2

No

Lista de Puntos de Entrada para el DTS que van a ser validadas. El parámetro 2 o el parámetro 3 DEBE ser proporcionado.

Lista de Coordenadas separadas por comas

3

No

Una URL que es el punto de entrada al DTS que va a ser validado. El parámetro 2 o el parámetro 3 DEBE ser proporcionado.

URL

La instrucción VALIDATE requiere o bien que se proporcione el parámetro 2 o bien el parámetro 3. Si se le proporcionan ambos parámetro DTS Builder lanzará un error.

Ejemplo de uso con param3:

Build:

param1

param2

param3

VALIDATE

OPTIONS!B2

taxonomy/shell.xsd

Ejemplo de uso con param2:

Build:

param1

param2

param3

VALIDATE

OPTIONS!B2

DTS!E1, DTS!E15, DTS!E20

 

Puede insertar la instrucción VALIDATE utilizando el plug-in de Excel XBRL Taxonomy Language. Para hacer esto acuda al grupo Other y pulse sobre el botón Validate.

La ventana de parámetros es la siguiente:

La ventana para definir los parámetros de la instrucción VALIDATE instrucción para validar un DTS antes de su creación

Formato Tabla de Propiedades del DTS

Este es un ejemplo de la tabla de propiedades en las que los procesadores XBRL 2.1 y de Dimensiones se utilizan para la validación del DTS.

Property

Value

https://www.reportingstandard.com/properties/processors-sequence

XBRL21Core,XBRLDimensions

end

Esta tabla contiene los siguientes elementos:

  • Property: Es el nombre de la propiedad. El último elemento de la columna debe ser “end
  • Value: Es el valor de la propiedad

El uso más habitual de la tabla de propiedades es el de indicar a los procesadores seleccionados con que puntos de entrada se llevaran a cabo las validaciones. Esto se indica mediante la propiedad secuencia de procesadores (“https://www.reportingstandard.com/properties/processors-sequence“). El valor de esta propiedad es un lista, separada mediante comas, de los procesadores que serán ejecutados durante el proceso de validación.

Para más información acerca de las propiedades disponibles y de sus posibles valores puede consultar la documentación disponible acerca del DTSContainer.

LINKEDLIST

La instrucción LINKEDLIST sirve para enlazar dos listas desplegables de valores de forma que el valor de una lista permita limitar el rango de valores de la segunda lista.

En la elaboración de una lista encadenada intervienen tres elementos:

  • El elemento “maestro.
  • El elemento “esclavo.
  • Una expresión regular que utilizará el valor del elemento maestro para filtrar la lista de valores del elemento “esclavo”.

Nada impide que un elemento “esclavo” sea, a su vez, “maestro” de otro elemento. Esto permite construir una lista encadenada triple, o de más niveles.

El elemento “maestro” es el elemento XBRL definido cuyo valor (validado respecto a su tipo de dato) servirá para limitar los valores de la lista “esclava”. Aunque no es necesario que el tipo del “maestro” sea una lista, es conveniente que sea así para hacer más fácil su uso.

El elemento indicado como elemento “esclavodebe ser una lista definida mediante un tipo de datos que tenga una enumeración de valores. Por ejemplo:

<complexType name="TipoIdInversionistasExtranjeros">
   <simpleContent>
     <restriction base="xbrli:tokenItemType">
       <enumeration value="CEDULA DE CIUDADANIA"/>
       <enumeration value="CEDULA DE EXTRANJERIA"/>
       <enumeration value="PASAPORTE"/>
       <enumeration value="NIT"/>
     </restriction>
   </simpleContent>
</complexType>

El filtrado de la lista se realizará mediante una expresión regular que se evaluará para cada uno de los elementos de la lista “esclava”. Para esto, usará el valor del elemento “maestro” en una expresión regular.

La instrucción LINKEDLIST tiene los siguientes parámetros:

Número

Requerido

Contenido

Tipo

2

Si

Identificador del elemento que tiene la lista “maestro”. Ver notas abajo.

Token

3

Si

Identificador del elemento que tiene la lista “esclavo”. Ver notas abajo.

Token

4

Si

Expresión regular que sirve de filtro. Ver notas más abajo.

Cadena

Ejemplo:

Build:

param1

param2

param3

param4

LINKEDLIST

tx_pais

tx_ciudad

.*#{SOURCE}$

Los parámetros “elemento maestro” y “elemento esclavo”  pueden ser también cualquier elemento que:

  • Tenga un ID definido
  • Una función “loc({href}” donde la cadena {href} indica una ruta que apunta a cualquier elemento XML.

La expresión regular debe contener el elemento “#{SOURCE}, que será sustituido por el valor del elemento “maestro”. Esto servirá para construir la expresión regular que filtrará cada uno de los valores de la lista esclava.

Ejemplo:

Si la lista esclava tiene los valores:

MADRID-ESPAÑA
BARCELONA-ESPAÑA
BOGOTA-COLOMBIA
LIMA-PERU
SANTIAGO-CHILE
MONTEVIDEO-URUGUAY

Y el elemento “maestro” tiene el valor COLOMBIA. La expresión regular resultante en el ejemplo anterior será “.*COLOMBIA$“. Esta expresión regular es un filtro que permite pasar las cadenas de texto que terminen por COLOMBIA. Por lo tanto, el único elemento que quedará disponible en la lista “esclava” será BOGOTA-COLOMBIA.

Nota adicional:

Las listas encadenadas no proporcionan validaciones. Solo sirven para ayudar a que el entorno gráfico sea más amigable. Actualmente están soportadas en las herramientas de Reporting Estándar S.L. XBRLizer y XBRL Express. Puede que otras herramientas de otros fabricantes no permitan enlazar listas. En cualquier caso, otras herramientas permitirán al usuario seleccionar los valores individualmente somo si se tratara de elementos no relacionados entre sí.

 

 

RENDHINTS

La instrucción RENDHINTS sirve para proporcionar pistas sobre dónde se deben colocar las dimensiones, en una representación tabular de un tipo concreto.

Uno de los problemas que tiene la especificación de dimensiones XBRL es que no determina como se deben configurar las dimensiones en los ejes de la tabla (las cabeceras). Durante años, las herramientas gráficas han hecho intentos por determinar en qué lugar deben poner cada dimensión para que la tabla sea representable. Las ayudas que se pueden proporcionar en el mismo DTS servirán para que las herramientas gráficas proporcionen al usuario una visualización inicial coherente. El usuario luego podrá ignorar esa recomendación, si prefiere establecer otra vista distinta. Aun así, por lo menos la primeva vista, podrá proporcionarse de forma inmediata.

Esta especificación no forma parte de la linkbase de tablas del Consorcio Internacional XBRL. No obstante, es muy efectiva a la hora de documentar la forma preferida de preparar una representación de un elemento primario que tenga un conjunto de hipercubos asociados que den lugar a una tabla.

El sistema de representación consta de 3 cabeceras:

  • De columnas (eje X). Estos elementos proporcionan textos que sirven como cabeceras de columna de la tabla.
  • De filas (eje Y). Estos elementos proporcionan textos que sirven como cabeceras de fila de la tabla.
  • De informe (eje Z). Estos elementos proporcionan datos comunes a todo el informe. Por ejemplo, la empresa que reporta, la fecha de reporte, etc.

En XBRL, las fechas son de 2 tipos:

  • Instante: Las fechas de instante representan momentos del tiempo concretos como el momento de “cierre del ejercicio
  • Duración: Las fechas de duración representan el tiempo transcurrido entre dos fechas de tipo instante.

Algunos informes utilizan solo datos de tipo “instante” (como el estado de situación financiera). Otros en cambio, utilizan datos de tipo “duración” (como el estado de resultados del ejercicio). Por eso es necesario configurar adecuadamente la forma de representar cada conjunto de datos. Si no coinciden el tiempo y los datos, se producirá un “conjunto vacío” y no se mostrará nada en la herramienta.

La instrucción RENDHINTS tiene los siguientes parámetros

Número

Requerido

Contenido

Tipo

1

No

Identificador del recurso que contendrá las ayudas de renderizado.

Token

2

Si

Rol para el que se proporcionan las pistas de renderizado en esta instrucción.

URI, URN o Coordenada

3

Si

Indicador del tipo de vista a utilizar. Se reconocen 3 tipos:

  • traditional
  • dimensional
  • form

Cada uno de ellos corresponde con las distintas vistas definidas en las herramientas gráficas de Reporting Estandar S.L.

Token

4

Si

Si el valor de esta celda es “verdadero” o “true” indicará que esta es la forma preferida de visualizar los datos. Por ejemplo, se pueden proporcionar pistas de renderizado para las vistas  “traditional” y “dimensional”, pero queremos que la vista por defecto sea la “traditional”. En este caso, para este mismo rol habrá dos instrucciones RENDHINTS con dos valores distintos en el parámetro 3. Para la instrucción que tenga el valor “traditional”, el parámetro 4 tendrá el valor VERDADERO. Esto hará que la vista “tradicional” sea la vista preferida cuando el usuario seleccione por primera vez ese rol.

Booleano

5

Si

Coordenada de la tabla de contenido para los ejes X, Y y Z. Ver el formato de esta tabla más abajo.

6

No

Coordenada del elemento primario para este rol, cuando se ha seleccionado la vista “dimensional”. Es posible que para un mismo rol existan varios elementos primarios, aunque esta no es la práctica común en las taxonomías actuales.

Ejemplo:

Build:

param1

param2

param3

param4

param5

param6

RENDHINTS

Ren1

http://www.xbrl.org/role/link

dimensional

true

Caratula!W9

Conceptos!B56

Formato de la Tabla de contenido para los ejes X, Y y Z 

X

Y

Z

sds

TipoDeContraparteEje

sds

RepresenteRevisorYContadorEje

rsDim

periodInstant

end

end

rsDim

periodDuration

rsDim

Identifier

end

Se ha marcado en sombreado verde claro la celda cuya coordenada debe usarse en el parámetro 5. Por motivos de claridad, se han añadido dos filas a esta tabla para mostrar lo que corresponde a cada eje.

La columna X tiene dos columnas debajo. Lo mismo ocurre para las columnas Y y Z. Cada un de estas columnas contiene uno de los siguientes valores:

  • QName: Es una dimensión de la taxonomía que se está creando, o de las que se hace referencia en el DTS. Este elemento esta definido por un prefijo y un nombre de elemento. El concepto debe estar en el grupo de sustitución “xbrldt:dimensionItem“. El prefijo irá en la primera celda y el nombre local en la celda a la derecha del prefijo.
  • rsDim: Es el prefijo que identifica las dimensiones que forman parte del estándar XBRL. Las herramientas les pone un nombre automático para que se pueda trabajar con ellas como cualquier otra dimensión.
  • periodInstant: En conjunto con el prefijo “rsDim“, identifica la dimensión de todas las fechas de tipo instante.
  • periodDuration: En conjunto con el prefijo “rsDim“, identifica la dimensión de todas las parejas de fechas que definen un periodo de reporte.
  • identifier: En conjunto con el prefijo “rsDim“, identifica la empresa (o empresas) para las que el informe XBRL tenga datos.

Podemos, por tanto, decidir en cual de los 3 ejes disponibles queremos que aparezca cada una de las dimensiones y sus respectivos valores. Esto sirve de ayuda para crear modelos de representación sencillos que ayuden a los usuarios a ver y utilizar los datos sin tener conocimientos sobre XBRL.

CALL

La instrucción CALL sirve para hacer una llamada a un bloque de instrucciones en otro lugar u otra hoja del libro de trabajo Excel. No hay límite respecto del número de CALL que se pueden encadenar unas dentro de otras. Esta instrucción está relacionada con la instrucción RETURN explicada en este mismo documento

La instrucción CALL tiene los siguientes parámetros:

Número

Requerido

Contenido

Tipo

2

Si

Coordenada de la celda en el libro Excel donde estará la siguiente instrucción a ejecutar. El proceso de instrucciones retornará a la instrucción siguiente a CALL cuando encuentre una instrucción RETURN

Coordenada

Ejemplo:

Build:

param1

param2

CALL

Formulas!B20

CALL

Formulas!B40

En este caso, cuando se ejecute la primera instrucción CALL, el proceso de instrucciones continuará en la la celda B20 de la hoja Formulas. Cuando se encuentre una instrucción RETURN, el proceso continuará en la instrucción siguiente. Es decir, se realizará otro CALL a la celda B40 de la hoja Formulas

Las instrucciones CALL y RETURN sirven para controlar el flujo de trabajo de instrucciones.

RETURN

La instrucción RETURN sirve para devolver el control de ejecución a la instrucción siguiente a un CALL.

Esta instrucción no tiene parámetros

Ejemplo:

Build:

param1

param2

CALL

Formulas!B20

END

… Formulas!B20

FORMULALINK

RETURN

Para este ejemplo, las instrucciones que se ejecutarán serán (en este orden)

  1. CALL -> Formulas!B20
  2. FORMULALINK
  3. RETURN
  4. END

En este caso, cuando se ejecute la primera instrucción CALL, el proceso de instrucciones continuará en la la celda B20 de la hoja Formulas. En ese lugar hay una instrucción FORMULALINK. Cuando esta instrucción termine, se ejecutará la instrucción RETURN. Por ello, volverá a la hoja anterior donde estaba el primer  CALL. La instrucción siguiente a CALL es END por lo que acabará el proceso.

Las instrucciones CALL y RETURN sirven para controlar el flujo de trabajo de instrucciones

AUTOFILL

La instrucción AUTOFILL sirve para permitir que las herramientas gráficas asignen un valor inicial a una celda en el momento en que esta celda sea cargada por primera vez. Esta instrucción crea un recurso en una linkbase genérica en la que se almacena la expresión, que será evaluada para obtener un valor.

La instrucción AUTOFILL tiene los siguientes parámetros

Número

Requerido

Contenido

Tipo

1

No

Identificador del recurso que contendrá la expresión a evaluar. Aunque no es necesario que exista un identificador para que se pueda crear este recurso, es muy recomendable que se ponga uno. De esta forma, el recurso puede ser utilizado desde un arco genérico que lo conectará con el concepto correspondiente.

Token

3

Si

Expresión a evaluar y que proporcionará el valor del elemento nuevo

Cadena

Ejemplo:

Build:

param1

param2

param3

AUTOFILL

autoRellenoNIT

Xpath(‘//xbrli:context[1]/xbrli:entity/xbrli:identifier/text()’)

En este ejemplo se documenta una expresión que devolverá como valor el contenido del campo “identifier” del primer contexto del informe XBRL.

Para que este valor se asocie a un concepto hay que unir el recurso AUTOFILL con un concepto existente en la taxonomía. Esto se hace usando su identificador de elemento y el identificador del definido en el parámetro 1. A continuación se muestran las dos instrucciones juntas:

Build:

param1

param2

param3

AUTOFILL

autoRellenoNIT

Xpath(‘//xbrli:context[1]/xbrli:entity/xbrli:identifier/text()’)

GENARC

tx_NIT

autoRellenoNIT

Para más información consultar la instrucción GENARC.