Ir al contenido

Sintaxis de plantillas

Las variables son marcadores dentro de la plantilla que se sustituyen por los datos de cada registro: una fila de una tabla de Excel, un elemento de una lista de SharePoint, una fila de Dataverse, una fila de una hoja de Google, un registro de Lark Base o el JSON que envía a través de la API de documentos. La sintaxis es la misma sea cual sea el origen.

Use llaves con el nombre exacto del campo:

{Field_Name}

Ejemplos:

  • {Customer_Name} → “Acme Corp”
  • {Invoice_Date} → “2024-01-15”
  • {Total_Amount} → “1,500.00”

Sin filtro, un marcador imprime el valor tal como lo muestra su origen. Los filtros numéricos y de fecha trabajan en cambio sobre el valor bruto subyacente: consulte Los filtros leen el valor bruto.

Valor Excel Lista de SharePoint Dataverse Google Sheets Lark Base API de documentos
Número Como lo muestra la celda 1,234.5, con los decimales de la columna El texto con el formato de Dataverse Como lo muestra la celda El formato numérico del campo Tal como se envía: 1234.5
Moneda Como lo muestra la celda Normalmente en la moneda de la columna: $1,234.50 El texto con el formato de Dataverse, con el símbolo de moneda Como lo muestra la celda En la moneda del campo: $1,234.50 Tal como se envía
Porcentaje Como lo muestra la celda: 12% 12% Como número Como lo muestra la celda: 12% Un campo de progreso, normalmente: 12% Tal como se envía
Fecha, hora Como lo muestra la celda 2026/02/26, o 2026/02/26 15:30 si tiene hora 2026/02/26, o 2026/02/26 15:30 si tiene hora Como lo muestra la celda El formato de fecha del campo, 2026/02/26 por defecto Tal como se envía
Persona Texto El nombre Una búsqueda que imprime el nombre Chips de personas: los nombres El nombre Tal como se envía
Enlace =HYPERLINK(…): la dirección La dirección La dirección Una celda que es un solo enlace: la dirección La dirección Tal como se envía
Opción Texto La etiqueta; si hay varias, unidas con comas La etiqueta; si hay varias, unidas con comas La opción; si hay varias, como las muestra la celda La opción; si hay varias, unidas con comas Tal como se envía; una lista, unida con comas
Sí/no true / false true / false Las etiquetas propias de la columna, como Yes / No Una casilla de verificación: true / false Una casilla: true / false true / false
Imágenes, archivos Columnas de imágenes Columnas de imagen y de miniatura, y los {Attachments} del elemento Columnas de imagen y de archivo, notas Chips de archivo, enlaces a archivos de Drive, =IMAGE(…) Campos de adjuntos URL de imágenes
Filas vinculadas Tablas relacionadas Columnas de búsqueda Búsquedas y relaciones Pestañas relacionadas Campos de vínculo y de Lookup Objetos y listas
  • Las fechas de SharePoint, Dataverse y Lark Base se imprimen en la zona horaria de la plantilla (Plantilla → Salida → Zona horaria, o UTC si no hay ninguna).
  • Una celda o un campo vacío no imprime nada, y cuenta como vacío en {#if}.
  • Las imágenes y los archivos no imprimen nada como texto. Colóquelos mediante el texto alternativo de una imagen (consulte Imágenes dinámicas), o añádalos a un PDF con {ATTACH:…}.
  • A las filas vinculadas se llega con notación de punto o con un bucle: consulte Registros vinculados.
  • Los enlaces y las personas tienen subpropiedades, como {Website.text} y {Owner.email}: consulte Propiedades avanzadas de campo.
  • Lark Base: un campo de fórmula se imprime según el tipo de su resultado (texto, número o fecha), un campo de valoración suele imprimir 4/5 y un campo Lookup imprime los valores que busca.

La página de cada origen da más detalles: el complemento de Excel, las listas de SharePoint y Dataverse, el complemento de Google Sheets y la API de documentos.

Los filtros numéricos y de fecha no tienen en cuenta cómo se imprime un valor y vuelven a dar formato al valor bruto subyacente:

{Price} → "$1,234.50" (como lo muestra el origen)
{Price | number:2} → "1,234.50" (número bruto, reformateado)
{Price | currency:"EUR":"de-DE"} → "1.234,50 €" (número bruto, locale alemán)
{Date} → "2026/02/26" (como lo muestra el origen)
{Date | date:"DD MMM YYYY"} → "26 Feb 2026" (fecha bruta, reformateada)

El valor bruto es también lo que comparan sum, avg, max, min, where y sort. Lo que es depende del origen:

Origen Número bruto Fecha bruta
Excel El valor de la celda, sea cual sea su formato numérico El día y la hora que contiene la celda, en la zona horaria de la plantilla
Lista de SharePoint El número almacenado Una columna de solo fecha: ese día, en la zona horaria de la plantilla. Una de fecha y hora: el momento almacenado
Dataverse El número almacenado Una columna de solo fecha o independiente de la zona horaria: el día y la hora que contiene, en la zona horaria de la plantilla. Cualquier otra: el momento almacenado
Google Sheets El valor que hay bajo el formato de la celda El día y la hora que contiene la celda, en la zona horaria de la plantilla
Lark Base El número del campo El momento almacenado
API de documentos Un número JSON, o un texto que sea un número sin formato, como "1234.5" Un texto como 2026-02-26 o 2026-02-26 15:30, leído en la zona horaria de la plantilla. Un texto con zona horaria, como 2026-02-26T15:30:00Z, tal como está escrito. Un número, como milisegundos desde el 1 de enero de 1970 (UTC)
  • El valor bruto de un porcentaje es una fracción: 12% es 0.12, y percent lo multiplica por 100. A través de la API de documentos, envíe 0.12, no 12.
  • Un valor sin número bruto se imprime tal cual, con una advertencia, cuando se le aplica un filtro numérico. Eso incluye un texto con separadores como "1,234.50", un campo de valoración de Lark y un Lookup de Lark de más de un número.
  • En Excel y Google Sheets, una celda que solo contiene una hora o una duración es texto: se imprime como se muestra y no es una fecha.
  • Un libro de Excel configurado con el sistema de fechas 1904 imprime bien sus fechas. Cuando AutomaDoc lo lee desde OneDrive o SharePoint (una plantilla vinculada al archivo), sus fechas brutas quedan cuatro años y un día antes.

Los registros vinculados provienen de una tabla relacionada (Excel), de una búsqueda (SharePoint, Dataverse), de una pestaña relacionada (Google Sheets), de un campo de vínculo (Lark Base) o de un objeto anidado (API de documentos). Acceda a sus campos con notación de punto:

{Customer.Name}
{Customer.Address}
{Customer.Email}

El anidamiento admite hasta 5 niveles:

{Order.Customer.Company.Address.City}

Propiedades avanzadas de campo (notación de punto)

Sección titulada «Propiedades avanzadas de campo (notación de punto)»

Los enlaces y las personas exponen subpropiedades mediante notación de punto, igual que algunos tipos de campo de Lark Base. Sin ella, imprimen su valor por defecto.

Un enlace de una celda =HYPERLINK(…) de Excel, de una columna de hipervínculo de SharePoint, de una celda de Google Sheets que es un solo enlace o de un campo URL de Lark:

{Website} → "https://example.com" (la dirección)
{Website.text} → "Example Site" (el texto que se muestra)
{Website.link} → "https://example.com" (la dirección)

En Google Sheets, una celda con un enlace dentro de otro texto imprime ese texto. En Excel, un enlace añadido con Insertar → Vínculo imprime su texto.

Una sola persona, de una columna de persona de SharePoint o de un campo Created By o Modified By de Lark:

{Owner} → "John Doe" (el nombre)
{Owner.name} → "John Doe"
{Owner.email} → "john@example.com" (SharePoint)
{Owner.en_name} → "John Doe" (Lark Base: el nombre en inglés)
{Owner.id} → el ID de la persona en el origen; en Lark Base, un ID de usuario de Lark como "ou_abc123"

Cuando caben varias personas, el valor es una lista aunque contenga una sola, así que {Assignee.name} no devuelve nada: un campo User de Lark, una celda de Google Sheets con chips de personas o una columna de persona de SharePoint que admite varias personas. Use un índice para una persona concreta, o un bucle para todas:

{Assignee} → "John Doe, Jane Roe" (todos los nombres)
{Assignee[0].name} → "John Doe" (primera persona)
{Assignee[0].email} → "john@example.com" (SharePoint, Google Sheets)
{#Assignee}
{name}
{/Assignee}

En Dataverse, las personas (un propietario, un “creado por”) son búsquedas: {Owner} imprime el nombre, y {Owner.Field} lee una columna de la fila de esa persona, como con cualquier registro vinculado.

{Office} → "Headquarters, 123 Main St, City, Country"
{Office.name} → "Headquarters"
{Office.full_address} → "123 Main St, City, Country"
{Office.address} → "123 Main St"

Un campo de grupo es una lista, así que use un índice o un bucle: {Team.name} no devuelve nada.

{Team} → "Engineering, Design" (nombres separados por comas)
{Team[0].name} → "Engineering" (primer grupo)
{Team[0].id} → primer ID de grupo

Para todos los grupos, use bucles:

{#Team}
{name} (ID: {id})
{/Team}

Un campo de selección múltiple de Lark, una columna de opción o de metadatos administrados de SharePoint con varios valores, una columna de opciones de selección múltiple de Dataverse o un desplegable de selección múltiple de Google Sheets se pueden recorrer con un bucle o unir con un separador propio:

{Tags} → "Red, Blue, Green" (por defecto, separado por comas)
{Tags | join:" / "} → "Red / Blue / Green"
{#Tags}
- {.}
{/Tags}

A través de la API de documentos, una lista de valores simples llega ya unida con comas, así que {Tags} imprime Red, Blue, Green y no se puede recorrer. Para recorrerla, envíe una lista de objetos.

Para campos que enlazan varios registros, use la sintaxis de bucle para repetir contenido por cada elemento:

{#Line_Items}
Product: {Product_Name}
Quantity: {Quantity}
Price: {Price}
{/Line_Items}

{#Field} abre el bucle y {/Field} lo cierra. Dentro del bucle, use los nombres de campo sin el prefijo del padre.

Puede usar {/} en lugar de repetir el nombre del campo:

{#Line_Items}
{Product_Name} - {Price}
{/}

Si las etiquetas de bucle van dentro de una fila de tabla, la fila entera se duplica por cada elemento: perfecto para tablas de líneas de detalle.

Product Qty Price
{#Line_Items} {Product_Name} {Quantity} {Price} {/Line_Items}

Para arrays de valores simples (no objetos), use {.} para referenciar el elemento actual:

{#Tags}
{.}
{/Tags}

Dentro de cualquier bucle tiene disponibles estas variables especiales:

Variable Descripción Ejemplo
{$index} Índice actual (empieza en 0) 0, 1, 2, …
{$num} Número de fila (empieza en 1) 1, 2, 3, …
{$first} true en el primer elemento Imprime true / false
{$last} true en el último elemento Imprime true / false

Los bucles se pueden anidar. Los internos pueden acceder a campos de los ámbitos externos:

{#Departments}
Department: {Name}
{#Employees}
{Name} works in {Department.Name}
{/Employees}
{/Departments}

Si un nombre de campo existe en el ámbito interno y en el externo, gana el interno.

Añada filtros a la etiqueta de apertura de un bucle para elegir qué filas repite y en qué orden:

{#Line_Items | where:"Status == 'Approved'" | sort:"Amount":"desc" | limit:10}
{Product_Name} {Amount | currency:"USD"}
{/Line_Items}
Filtro Qué hace Ejemplo
where Conserva solo las filas que cumplen una condición where:"Status == 'Approved'"
sort Ordena las filas por un campo, de menor a mayor o de más antigua a más reciente sort:"Due_Date"
sort … o de mayor a menor o de más reciente a más antigua sort:"Amount":"desc"
limit Conserva las primeras filas limit:10
offset Omite las primeras filas offset:10
unique Conserva la primera fila de cada valor de un campo unique:"Customer"

Los filtros se aplican de izquierda a derecha, en el orden en que los escribe: sort:"Amount":"desc" | limit:3 son las tres filas mayores, mientras que limit:3 | sort:"Amount":"desc" son las tres primeras filas, de mayor a menor.

Una condición where va entre las comillas dobles, con cualquier valor de texto entre comillas simples:

Condición Conserva las filas en las que
Status == 'Approved' Status es exactamente Approved
Status != 'Draft' Status es cualquier cosa menos Draft
Amount > 1000 Amount es mayor que 1000 (también >=, <, <=)
Paid Paid tiene valor, como en {#if Paid}
!Notes Notes está vacío
  • Los números se comparan por su valor bruto, no por cómo se imprimen: Amount > 1000 coincide con $1,250.00. Escriba el número sin formato: 1000, no 1,000.
  • Las fechas se comparan como fechas cuando las escribe como 2026-01-31 (o con hora, 2026-01-31 17:30), en la zona horaria de la plantilla: where:"Due_Date >= '2026-01-01'". Cuenta el día entero: Due_Date > '2026-01-31' empieza el 1 de febrero.
  • Combine condiciones con && (y) y || (o), y agrúpelas con paréntesis: where:"Status == 'Approved' && (Amount > 1000 || Rush)".
  • sort ordena las fechas cronológicamente, los números por su valor y el texto alfabéticamente. Las celdas vacías siempre van al final.
  • Si hay varios filtros where, las filas deben cumplirlos todos. Varios filtros sort seguidos ordenan por el primero y, cuando el primero es igual, por el siguiente: sort:"Category" | sort:"Amount":"desc".
  • Los campos de registros vinculados funcionan con notación de punto: where:"Product.Category == 'Hardware'".
  • Para una lista de valores simples, como un campo de selección múltiple, use . para el propio valor: {#Tags | where:". != 'Internal'" | sort}.
  • Los filtros funcionan igual en bucles de filas de tabla, bucles de párrafo, bucles anidados y listas de detalles de Lark Approval.

Totales que coinciden con una tabla filtrada

Sección titulada «Totales que coinciden con una tabla filtrada»

sum, count y join admiten los mismos filtros, así que un total puede sumar exactamente las filas que muestra la tabla de encima:

{Line_Items | where:"Status == 'Approved'" | sum:"Amount" | currency:"USD"}
{Line_Items | where:"Status == 'Approved'" | count} approved items

Si un filtro de un total no se puede aplicar, el total se deja en blanco con una advertencia, en lugar de sumar todas las filas.

Añada horizontal a un bucle dentro de una tabla para repetir sus celdas a lo ancho, una columna por elemento, en lugar de repetir la fila hacia abajo:

Etiqueta Se repite a lo ancho
Name {#Staff | horizontal} {Name}
Role {Role} {/Staff}

Con tres personas, esto se convierte en una tabla con una columna para cada una. Todas las filas entre las etiquetas de apertura y de cierre se repiten juntas, de modo que el nombre y el cargo de cada persona quedan en la misma columna.

  • Las columnas nuevas se reparten a partes iguales el ancho de la celda de la plantilla y conservan sus bordes y su sombreado.
  • Se combina con los demás filtros: {#Staff | where:"Active" | sort:"Name" | horizontal}.
  • Hasta 20 columnas. Los elementos que superen ese número se omiten, con una advertencia.
  • Si la lista está vacía, la celda se deja en blanco en lugar de eliminarse.
  • Un bucle horizontal puede ir dentro de un bucle de filas: cada fila tiene entonces tantas columnas como elementos tenga su propia lista.
  • Fuera de una tabla, horizontal se ignora con una advertencia y el bucle se repite de la forma habitual.

Muestre u oculte contenido según el valor de un campo.

Muestre el contenido solo si el campo tiene valor:

{#if Discount}
Discount applied: {Discount}
{/if}

Muestre el contenido solo si el campo está vacío:

{#if !Notes}
No additional notes.
{/if}
{#if Status == "Approved"}
This invoice has been approved.
{/if}
{#if Status != "Draft"}
This document has been submitted.
{/if}

>, >=, < y <= comparan los números por su valor y las fechas como fechas (escritas 2026-01-31, en la zona horaria de la plantilla):

{#if Amount > 1000}
Requires a second approval.
{/if}
{#if Due_Date < "2026-01-01"}
Overdue.
{/if}

En {#if}, == y != comparan el texto tal como se imprime: {#if Qty == "2"} no coincide con una cantidad que se muestra como 2.00. En un filtro where o en una sección {#Qty == 2}…{/}, también coinciden con el mismo número o el mismo día.

Los filtros transforman cómo se muestra un valor, usando la sintaxis de barra vertical (|):

{Field | filterName}
{Field | filterName:"arg1":"arg2"}

Los filtros se aplican después de obtener el valor y antes de insertarlo en el documento. Sin filtro, el valor se imprime tal como lo muestra su origen (consulte Qué imprime un marcador).

Filtro Descripción Ejemplo Salida
upper Mayúsculas {Name | upper} ACME CORP
lower Minúsculas {Name | lower} acme corp
capitalize Inicial de cada palabra en mayúscula {Name | capitalize} Acme Corp
trim Elimina espacios al principio y al final {Name | trim} Acme Corp
truncate Recorta a una longitud (por defecto 50) {Description | truncate:16} Lorem ipsum dolo...
pad Rellena con un carácter (por defecto 0) {$num | pad:3} 001

number, currency y percent aceptan un locale opcional para dar formato según la región:

Filtro Argumentos Ejemplo Salida
number decimales, locale {Price | number:2} 1,234.50
number decimales, locale {Price | number:2:"de-DE"} 1.234,50
currency código de moneda, locale {Price | currency:"USD"} $1,234.50
currency código de moneda, locale {Price | currency:"EUR":"de-DE"} 1.234,50 €
currency código de moneda, locale {Price | currency:"JPY":"ja-JP"} ¥1,235
currency código de moneda, locale, decimales {Price | currency:"IDR":"id-ID":2} Rp 1.234,50
percent decimales, locale {Rate | percent:1} 45.6%
percent decimales, locale {Rate | percent:1:"de-DE"} 45,6 %
toFixed decimales {Price | toFixed:2} 1234.50 (sin separador de miles)
chineseUppercase Ninguno {Amount | chineseUppercase} 捌万捌仟捌佰捌拾捌
chineseLowercase Ninguno {Amount | chineseLowercase} 八八八八八
chineseFinancial Ninguno {Amount | chineseFinancial} 捌万捌仟捌佰捌拾捌元整

Dé formato a las fechas con patrones propios, cuando el formato que tiene una fecha en sus datos no es el que necesita.

Sintaxis: {Field | date:"format":"timezone":"locale"}

Todos los argumentos son opcionales. La zona horaria por defecto es la de la plantilla (Plantilla → Salida → Zona horaria), o UTC si no hay ninguna; el locale por defecto es en-US. Una fecha enviada como texto sin zona horaria, como 2026-01-31 desde la API de documentos o un formulario de Lark Approval, se imprime como ese día sea cual sea la zona horaria.

Filtro Argumentos Ejemplo Salida
date formato, zona horaria, locale {Date | date:"DD MMM YYYY"} 26 Feb 2026
date formato, zona horaria, locale {Date | date:"dddd, DD MMMM YYYY"} Thursday, 26 February 2026
date formato, zona horaria, locale {Date | date:"DD MMMM YYYY":"UTC":"fr-FR"} 26 février 2026
date formato, zona horaria, locale {Date | date:"dddd, DD MMMM YYYY":"UTC":"de-DE"} Donnerstag, 26 Februar 2026

Tokens de fecha admitidos:

Token Salida Ejemplo
YYYY Año de 4 dígitos 2026
MMMM Nombre completo del mes (según locale) February, février, Februar
MMM Nombre corto del mes (según locale) Feb, févr., Feb
MM Mes de 2 dígitos 02
dddd Nombre completo del día (según locale) Thursday, Donnerstag, 木曜日
ddd Nombre corto del día (según locale) Thu, Do, 木
DD Día de 2 dígitos 26
HH Hora en formato 24 h 15
mm Minutos 30
ss Segundos 00

Ejemplos:

{Invoice_Date | date:"DD MMM YYYY"} → 26 Feb 2026
{Invoice_Date | date:"YYYY-MM-DD"} → 2026-02-26
{Invoice_Date | date:"MM/DD/YYYY"} → 02/26/2026
{Invoice_Date | date:"DD/MM/YYYY":"Asia/Tokyo"} → 26/02/2026 (zona horaria de Tokio)
{Invoice_Date | date:"dddd, DD MMMM YYYY":"UTC":"ja-JP"} → 木曜日, 26 2月 2026
{Invoice_Date | date:"DD MMMM YYYY":"UTC":"id-ID"} → 26 Februari 2026
Filtro Descripción Ejemplo Salida
join Une valores de un array (por defecto , ) {Tags | join:" / "} Red / Blue / Green
join Une un campo de cada fila, omitiendo los vacíos {Items | join:", ":"Name"} Widget, Gadget
sum Suma un campo en todas las filas de un bucle {Items | sum:"Price"} 1234.5
sum El total, formateado por el filtro siguiente {Items | sum:"Price" | currency:"USD"} $1,234.50
count Número de filas de un bucle {Items | count} 12
avg Media de un campo en las filas (sin contar las celdas vacías) {Items | avg:"Price"} 411.5
max / min Valor mayor / menor de un campo en las filas {Items | max:"Price"} $980.00
default Valor alternativo si está vacío {Phone | default:"N/A"} N/A

Los filtros se encadenan de izquierda a derecha con varias barras verticales:

{Name | trim | upper} → " hello " pasa a "HELLO"
{$num | pad:3} → 1 pasa a "001"
{Phone | default:"N/A" | upper} → null pasa a "N/A"

Los filtros también funcionan con las variables de bucle y la referencia al elemento actual:

{#Items}
#{$num | pad:3} - {Name | upper}
{/Items}
{#Tags}{. | capitalize}, {/Tags}

Sustituya una imagen de marcador por una imagen de sus datos: una columna de imágenes de una tabla de Excel o de una lista de SharePoint, una columna de imagen de Dataverse, una celda con un chip de archivo o =IMAGE(…) en Google Sheets, un campo de adjuntos de Lark o una URL de imagen enviada a la API de documentos. La tabla de arriba muestra lo que ofrece cada origen.

  1. Inserte cualquier imagen en su plantilla de Word (será el marcador).
  2. Haga clic derecho sobre la imagen → Editar texto alternativo.
  3. En la descripción del texto alternativo, escriba {FieldName}.
  4. Guarde la plantilla.

La imagen de marcador se sustituirá por la imagen de ese campo, conservando el tamaño del marcador.

Para campos con varios adjuntos, use notación de índice:

{Photo} → Primera imagen (igual que {Photo[0]})
{Photo[1]} → Segunda imagen
{Photo[2]} → Tercera imagen

Para campos con un número variable de adjuntos, use un bucle con {.} como texto alternativo. Cada adjunto genera su propia copia del marcador:

{#Product_Photos}
[imagen con texto alternativo: {.}]
{/Product_Photos}

En una tabla, cada adjunto ocupa su propia fila:

# Photo Filename
{#Product_Photos} {$num} [imagen con texto alt: {.}] {name} {/Product_Photos}

Propiedades disponibles dentro del bucle:

Variable Descripción Ejemplo
{name} Nombre del archivo photo1.jpg
{type} Tipo MIME image/jpeg
{size} Tamaño en bytes 204800

Imágenes dentro de bucles de registros vinculados

Sección titulada «Imágenes dentro de bucles de registros vinculados»

Los marcadores de imagen también funcionan dentro de bucles. Cada iteración resuelve la imagen de ese elemento:

{#Employees}
Name: {Name}
Photo: [imagen con texto alternativo: {Photo}]
{/Employees}

Genere códigos QR y de barras a partir de valores de campo. Se configuran igual que las imágenes dinámicas: mediante el texto alternativo de la imagen.

{QR:FieldName}

Ejemplo: {QR:Order_ID} genera un código QR con el valor de Order_ID.

Sintaxis Tipo Notas
{BARCODE:FieldName} Code128 Por defecto, alfanumérico
{BARCODE128:FieldName} Code128 Code128 explícito
{BARCODE39:FieldName} Code39 Solo mayúsculas y dígitos
{BARCODEEAN13:FieldName} EAN-13 Código de producto de 13 dígitos
{BARCODEEAN8:FieldName} EAN-8 EAN corto de 8 dígitos
{BARCODEUPCA:FieldName} UPC-A Retail norteamericano de 12 dígitos
{BARCODEUPCE:FieldName} UPC-E UPC comprimido
{BARCODEITF14:FieldName} ITF-14 Códigos de envío / caja
{BARCODEDATAMATRIX:FieldName} DataMatrix 2D, alta densidad
{BARCODEPDF417:FieldName} PDF417 2D, lineal apilado

El prefijo no distingue mayúsculas de minúsculas: {qr:Field} y {QR:Field} funcionan igual.

Toda la sintaxis de marcadores funciona también en encabezados y pies de página, igual que en el cuerpo.

Usos habituales:

  • Nombre de la empresa o logotipo en el encabezado
  • Número de documento o fecha en el pie
  • Etiquetas dinámicas como Invoice for {Customer_Name}

Para añadirlos: Insertar → Encabezado/Pie de página → Editar → escriba su marcador, por ejemplo {Field_Name}.

Las plantillas escritas para otra app de documentos de Lark funcionan aquí sin cambios: suba el archivo de Word tal como está. Esto es lo que hace su sintaxis en AutomaDoc:

Escrito como Qué hace aquí
{#isNew} Welcome {/isNew} Muestra el texto cuando el campo tiene valor. Sobre una lista, es un bucle
{#!isNew}Welcome{/isNew} Muestra el texto cuando el campo está vacío, sin marcar o es una lista vacía
{#Status=="Paid"}…{/} Muestra el texto cuando se cumple la condición. También funcionan !=, >, >=, <, <=, && y ||
{/} Cierra el bucle o la sección abierta más cercana
{$index+1} Número de fila, empezando en 1; igual que {$num}
{#Items | sortBy:"Total":"desc"} Igual que sort
{#Items | where:"A == 'x' && B > 5"} Conserva las filas que coinciden, como en Filtrar, ordenar y limitar filas
{>Items}{Name} al principio de una fila de tabla Repite esa celda y las que tiene a su derecha a lo largo de la fila, una columna por elemento: un bucle horizontal
{#image}{#$isImage}{%src}{/}{#!$isImage}{$fileName}{/}{/image} Imprime cada imagen de un campo de adjuntos y el nombre de cada archivo que no es una imagen
{%src | size:100:50} / {%src | maxSize:500:500} Una imagen exactamente de ese tamaño, o no mayor que él, en píxeles
{%Logo} La primera imagen de un campo de adjuntos, a su propio tamaño y como máximo el ancho de la página
{Name | uppercase} / {Name | lowercase} Igual que upper / lower
{Price | toFixed:"2"} El número con dos decimales, sin separador de miles
{Price | currency:'USD'} Los argumentos entre comillas simples funcionan igual que entre comillas dobles
{Date | customDate:'YYYY-MM-DD HH:mm:ss'} Los mismos tokens que date, en la zona horaria de la plantilla
{Date | date:'full'} 2024-7-13 Saturday 00:00:00
chineseUppercase, chineseLowercase, chineseFinancial Números en chino; consulte Filtros numéricos
Sintaxis Descripción
{Field} Variable simple
{Field.Nested} Campo de registro vinculado (notación de punto)
{Link.text} / {Link.link} Subpropiedades de un enlace
{Owner.name} / .email / .id Subpropiedades de una persona (.en_name en Lark Base)
{Assignee[0].name} Varias personas: es una lista, así que use un índice o un bucle
{Location.name} / {Location.full_address} Subpropiedades de ubicación de Lark Base
{Team[0].name} / {Team[0].id} Campo de grupo de Lark Base: es una lista, así que use un índice o un bucle
{#Field}...{/Field} Bucle sobre campo multivalor
{#Field | where:"Status == 'Paid'"} Bucle solo sobre las filas que cumplen la condición
{#Field | sort:"Amount":"desc"} Bucle ordenado, de mayor a menor
{#Field | limit:5} / {#Field | offset:5} Primeras 5 filas / todas menos las 5 primeras
{#Field | horizontal} Repetir celdas de tabla a lo ancho, una columna por fila
{Field | where:"Paid" | sum:"Amount"} Total de las filas que cumplen la condición
{Field | count} Número de filas
{Field | avg:"Amount"} / max / min Media, mayor y menor de las filas
{#Field == "v"}...{/} Sección que se muestra cuando se cumple la condición
{#!Field}...{/Field} Sección que se muestra cuando el campo está vacío
{#if Field > 100}...{/if} Condición (orden de números o fechas)
{/} Cierre abreviado (cierra el bucle abierto más cercano)
{.} Elemento actual del bucle (arrays simples)
{$index} Índice del bucle (desde 0)
{$num} Número de fila (desde 1)
{$first} / {$last} Booleano de primer/último elemento
{#if Field}...{/if} Condición (con valor)
{#if !Field}...{/if} Condición (vacío)
{#if Field == "val"}...{/if} Condición (igualdad)
{#if Field != "val"}...{/if} Condición (desigualdad)
{Field | upper} Filtro: mayúsculas
{Field | lower} Filtro: minúsculas
{Field | capitalize} Filtro: iniciales en mayúscula
{Field | trim} Filtro: quitar espacios
{Field | truncate:30} Filtro: recortar con puntos suspensivos
{Field | pad:3} Filtro: rellenar con ceros
{Field | number:2} Filtro: número con decimales
{Field | number:2:"de-DE"} Filtro: número según locale
{Field | currency:"USD"} Filtro: formato de moneda
{Field | currency:"EUR":"de-DE"} Filtro: moneda según locale
{Field | percent:1} Filtro: porcentaje
{Field | date:"DD MMM YYYY"} Filtro: formato de fecha propio
{Field | date:"dddd, MMMM DD":"UTC":"fr-FR"} Filtro: fecha según locale
{Field | join:" / "} Filtro: unir array con separador
{Field | default:"N/A"} Filtro: valor alternativo
{Field | trim | upper} Filtros encadenados (izquierda a derecha)
{Photo} / {Photo[1]} Imagen (vía texto alternativo)
{QR:Field} Código QR (vía texto alternativo)
{BARCODE:Field} Código de barras (vía texto alternativo)