1. Inicio
  2. Administradores
  3. Plantillas
  4. Macros
  5. Macros condicionales (IF) en plantillas Word 365

Macros condicionales (IF) en plantillas Word 365

Esta macro para plantillas Word 365 en Docuo, permite establecer una condición para determinar si el fragmento de texto que contiene será o no 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.IF{"condición",[reemplazo único]}

Fragmento de texto Word

@DOCUO.ENDIF{}

Donde:

Condición: Filtro que permite especificar con sintaxis T-SQL las condiciones que se han de cumplir en este condicional. Recuerda que has de utilizar el código de la categoría al principio de la etiquetas que utilices y que, si escribes las comillas desde Word, debes pulsar Ctrl+z tras escribirlas para que Word no las reemplace con una comilla estilizada. Recomendamos escribir la macro en un editor de texto plano y pegarla en Word después.

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 condicional para que en función de la «Forma de pago» de una factura aparezca un fragmento de texto que contiene los datos para efectuar la transferencia:

Factura número: <@Propiedades:Código>
Cliente: <@Cliente:Nombre>
Importe: <@Datos:Total>

@DOCUO.IF{"<@FAC:Datos:Forma de pago>='Transferencia'"}

CONTOSO BANK S.A.

IBAN: ES4202413226312852213980

Fecha de vencimiento: <@Datos:Vencimiento>

@DOCUO.ENDIF{}

Como se ha omitido el parámetro REEMPLAZO ÚNICO, si la forma de pago cambia, la condición será de nuevo evaluada cuando se reemplacen etiquetas desde Docuo.

Las macros condicionales pueden estar anidadas y contener a su vez otras macros. Siguiendo el ejemplo anterior podríamos mostrar la cuenta de pago de distinta forma en función de si nuestro cliente es internacional o no:

Factura número: <@Propiedades:Código>
Cliente: <@Cliente:Nombre>
Importe: <@Datos:Total>

@DOCUO.IF{"<@FAC:Datos:Forma de pago>='Transferencia'"}

CONTOSO BANK S.A.

@DOCUO.IF{"<@FAC:Cliente:Pais>='España'"}

IBAN: ES4202413226312852213980

Fecha de vencimiento: <@Datos:Vencimiento>

@DOCUO.ENDIF{}

@DOCUO.IF{"<@FAC:Cliente:Pais><>'España'"}

SWIFT (BIC): CONT ES 1701 4202413226312852213980

Due date: <@Datos:Vencimiento>

@DOCUO.ENDIF{}

@DOCUO.ENDIF{}

Las macros condicionales en plantillas Word permiten crear plantillas de documentos más avanzadas sin tener que crear distintas plantillas para las diferentes variaciones que pueda tener el documento.

Actualizado el 5 de julio de 2022
¿Te ha parecido útil este artículo?

Artículos relacionados