Esta macro para plantillas de Docuo en Word permite ejecutar una fórmula Javascript que retorne un texto que será incluido en el documento.
Las macros de fórmula en plantillas Word, sólo están disponibles en Docuo Enterprise.
La definición de la fórmula se realiza en el propio documento de Word con la siguiente sintaxis:
@DOCUO.FORMULA{[formato],[reemplazo único]}
Insertar aquí una fórmula Javascript que retorne un texto
@DOCUO.ENDFORMULA{}
Donde:
Formato: Parámetro opcional. Un texto cualquiera con el formato word (tipo de letra, tamaño, etc) que se desee utilizar cuando se incruste el resultado de la fórmula en el documento. Si la fórmula falla (porque esté mal escrita por ejemplo), este texto se utilizará también como reemplazo por defecto.
Reemplazo único: Parámetro opcional. Si es TRUE el reemplazo se produce una única vez (no se recalculará la fórmula cada vez que se reemplacen etiquetas). Por defecto es FALSE para que cada vez que se reemplacen etiquetas los datos se actualicen automáticamente.
En este ejemplo utilizamos una macro de fórmula para que el apartado «Observaciones» de un documento se complete con el texto «Pagar por transferencia bancaria» si el total de la factura excede los 3.000 o «Pagar al contado» en otro caso:
Factura número: <@Propiedades:Código>
Cliente: <@Cliente:Nombre>
Importe: <@Datos:Total>
Observaciones: @DOCUO.FORMULA{FORMATO}
if(<@Datos:Total> > 3000)
{
return "Pagar por transferencia bancaria"
}
else
{
return "Pagar al contado"
}
@DOCUO.ENDFORMULA{}
Tal y como indica el parámetro FORMATO, el texto reemplazado se pondrá en negrita y en cursiva.
Como se ha omitido el parámetro REEMPLAZO ÚNICO, si el importe de la factura cambia, la fórmula se calculará de nuevo cuando se reemplacen etiquetas desde Docuo.
Las macros de fórmula en plantillas Word permiten crear documentos con contenido inteligente de forma automática sin tener que crear campos adicionales con fórmulas en la propia categoría del documento, lo cuál contribuye a un diseño más optimizado y sencillo de los campos de datos y a un mejor rendimiento del sistema.