Lewati ke konten

Sintaks template

Variabel adalah placeholder di template Anda yang akan diganti dengan data asli dari record Lark Base.

Gunakan kurung kurawal dengan nama field yang persis:

{Field_Name}

Contoh:

  • {Customer_Name} → “Acme Corp”
  • {Invoice_Date} → “2024-01-15”
  • {Total_Amount} → “1,500.00”
Kategori Tipe field Output default
Teks Teks biasa, Email, field Barcode Apa adanya
Angka Angka, Mata uang, Progress (%), Rating Format Lark (mis. $1,234.56)
Tanggal/Waktu Tanggal, Waktu dibuat, Waktu diubah Format Lark (mengikuti pengaturan zona waktu)
Pilihan Single Select, Multi Select Teks / dipisah koma
Orang User, Created By, Modified By, Group Nama tampilan
Kontak Telepon, URL Nomor telepon / URL tautan
Checkbox Nilai Ya/Tidak true / false
Lampiran File dan gambar Lihat gambar dinamis
Record terkait Mengakses data dari tabel lain Lihat record terkait
Lookup Nilai yang ditarik dari record terkait Nilai hasil resolusi
Formula Field terhitung (teks, angka, tanggal) Tergantung tipe hasilnya

Akses field dari record terkait dengan notasi titik:

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

Bersarang hingga 5 tingkat:

{Order.Customer.Company.Address.City}

Beberapa tipe field menyediakan sub-properti lewat notasi titik. Tanpa notasi titik, field menampilkan nilai defaultnya.

{Website} → "https://example.com" (URL tautan)
{Website.text} → "Example Site" (teks tautan)
{Website.link} → "https://example.com" (URL tautan)

Created By dan Modified By berisi satu orang, jadi notasi titik biasa berfungsi. Field User selalu berupa daftar — bahkan bila hanya berisi satu orang — sehingga {Assignee.name} tidak menghasilkan apa pun. Gunakan indeks atau loop:

{Created_By} → "John Doe"
{Created_By.name} → "John Doe"
{Created_By.en_name} → "John Doe" (nama Inggris)
{Created_By.id} → "ou_abc123"
{Assignee} → "John Doe, Jane Roe"
{Assignee[0].name} → "John Doe"
{Assignee[0].en_name} → "John Doe" (nama Inggris)
{Assignee[0].id} → "ou_abc123" (ID pengguna Lark)

Untuk field multi-orang, gunakan loop:

{#Assignee}
{name} ({en_name})
{/Assignee}
{Office} → "Headquarters, 123 Main St, City"
{Office.name} → "Headquarters"
{Office.full_address} → "123 Main St, City, Country"
{Office.address} → "123 Main St"

Field grup juga berupa daftar, jadi {Team.name} tidak menghasilkan apa pun. Gunakan indeks atau loop:

{Team} → "Engineering, Design" (nama grup dipisah koma)
{Team[0].name} → nama grup pertama
{Team[0].id} → ID grup pertama

Untuk semua grup, gunakan loop:

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

Field Multi Select bisa di-loop, atau digabung dengan pemisah khusus:

{Tags} → "Red, Blue, Green" (default dipisah koma)
{Tags | join:" / "} → "Red / Blue / Green"
{#Tags}
- {.}
{/Tags}

Field angka dan tanggal (filter menimpa format)

Section titled “Field angka dan tanggal (filter menimpa format)”

Field angka dan tanggal/waktu tampil dengan format bawaan Lark. Begitu filter dipakai, AutomaDoc memakai nilai mentah (angka asli atau timestamp epoch) dan sepenuhnya menimpa format Lark:

{Price} → "$1,234.50" (format Lark)
{Price | number:2} → "1,234.50" (angka mentah, diformat ulang)
{Price | currency:"EUR":"de-DE"} → "1.234,50 €" (angka mentah, locale Jerman)
{Date} → "2026/02/26" (format Lark)
{Date | date:"DD MMM YYYY"} → "26 Feb 2026" (timestamp mentah, diformat ulang)

Field tanpa filter selalu memakai format asli dari Lark.

Untuk field yang terhubung ke banyak record, gunakan sintaks loop agar konten diulang untuk tiap item:

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

{#Field} memulai loop, {/Field} menutupnya. Di dalam loop, tulis nama field tanpa prefiks induknya.

Anda bisa memakai {/} alih-alih mengulang nama field:

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

Bila tag loop diletakkan di dalam baris tabel, seluruh baris digandakan untuk tiap item — sangat pas untuk tabel rincian:

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

Untuk array berisi nilai sederhana (bukan objek), pakai {.} untuk merujuk item saat ini:

{#Tags}
{.}
{/Tags}

Di dalam loop mana pun, variabel khusus berikut tersedia:

Variabel Keterangan Contoh
{$index} Indeks saat ini (mulai dari 0) 0, 1, 2, …
{$num} Nomor baris (mulai dari 1) 1, 2, 3, …
{$first} true untuk item pertama Mencetak true / false
{$last} true untuk item terakhir Mencetak true / false

Loop bisa disarangkan. Loop dalam tetap bisa mengakses field dari lingkup luar:

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

Jika nama field ada di lingkup dalam dan luar, lingkup dalam yang menang.

Tampilkan atau sembunyikan konten berdasarkan nilai field.

Tampilkan konten hanya jika field ada isinya:

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

Tampilkan konten hanya jika field kosong:

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

Filter mengubah cara nilai ditampilkan, memakai sintaks pipe (|):

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

Filter diterapkan setelah nilai diambil dan sebelum dimasukkan ke dokumen. Tanpa filter, nilai tampil dengan format bawaan Lark.

Filter Keterangan Contoh Output
upper Huruf besar semua {Name | upper} ACME CORP
lower Huruf kecil semua {Name | lower} acme corp
capitalize Awali tiap kata dengan huruf besar {Name | capitalize} Acme Corp
trim Hapus spasi di awal/akhir {Name | trim} Acme Corp
truncate Potong sampai panjang tertentu (default 50) {Description | truncate:16} Lorem ipsum dolo...
pad Isi dengan karakter (default 0) {$num | pad:3} 001

Semua filter angka menerima locale opsional untuk format sesuai wilayah:

Filter Argumen Contoh Output
number desimal, locale {Price | number:2} 1,234.50
number desimal, locale {Price | number:2:"de-DE"} 1.234,50
currency kode mata uang, locale {Price | currency:"USD"} $1,234.50
currency kode mata uang, locale {Price | currency:"EUR":"de-DE"} 1.234,50 €
currency kode mata uang, locale {Price | currency:"JPY":"ja-JP"} ¥1,235
percent desimal, locale {Rate | percent:1} 45.6%
percent desimal, locale {Rate | percent:1:"de-DE"} 45,6 %

Format tanggal dengan pola khusus — berguna saat format bawaan Lark tidak sesuai kebutuhan.

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

Semua argumen opsional. Zona waktu default UTC. Locale default en-US.

Filter Argumen Contoh Output
date format, timezone, locale {Date | date:"DD MMM YYYY"} 26 Feb 2026
date format, timezone, locale {Date | date:"dddd, DD MMMM YYYY"} Thursday, 26 February 2026
date format, timezone, locale {Date | date:"DD MMMM YYYY":"UTC":"fr-FR"} 26 février 2026
date format, timezone, locale {Date | date:"dddd, DD MMMM YYYY":"UTC":"de-DE"} Donnerstag, 26 Februar 2026

Token tanggal yang didukung:

Token Output Contoh
YYYY Tahun 4 digit 2026
MMMM Nama bulan lengkap (mengikuti locale) February, février, Februar
MMM Nama bulan singkat (mengikuti locale) Feb, fév, Feb
MM Bulan 2 digit 02
dddd Nama hari lengkap (mengikuti locale) Thursday, Donnerstag, 木曜日
ddd Nama hari singkat (mengikuti locale) Thu, Do,
DD Tanggal 2 digit 26
HH Jam format 24 15
mm Menit 30
ss Detik 00

Contoh:

{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 waktu Tokyo)
{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
Filter Keterangan Contoh Output
join Gabungkan nilai array (default , ) {Tags | join:" / "} Red / Blue / Green
default Nilai cadangan bila kosong {Phone | default:"N/A"} N/A

Filter bisa dirangkai dari kiri ke kanan dengan beberapa pipe:

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

Filter juga bekerja dengan variabel loop dan rujukan item saat ini:

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

Ganti gambar placeholder dengan gambar asli dari field lampiran Lark:

  1. Sisipkan gambar apa pun di template Word Anda (ini jadi placeholder-nya).
  2. Klik kanan gambar → Edit Alt Text.
  3. Pada deskripsi Alt Text, ketik {FieldName}.
  4. Simpan template Anda.

Gambar placeholder akan diganti dengan gambar asli dari field lampiran, dengan ukuran placeholder tetap dipertahankan.

Untuk field dengan beberapa lampiran, pakai notasi indeks:

{Photo} → Gambar pertama (sama dengan {Photo[0]})
{Photo[1]} → Gambar kedua
{Photo[2]} → Gambar ketiga

Untuk field dengan jumlah lampiran yang berubah-ubah, pakai sintaks loop dengan {.} sebagai alt text gambar. Tiap lampiran memperbanyak salinan placeholder-nya sendiri:

{#Product_Photos}
[gambar dengan alt text: {.}]
{/Product_Photos}

Di dalam tabel, tiap lampiran mendapat barisnya sendiri:

# Photo Filename
{#Product_Photos} {$num} alt gambar: {.} {name} {/Product_Photos}

Properti yang tersedia di dalam loop:

Variabel Keterangan Contoh
{name} Nama file photo1.jpg
{type} Tipe MIME image/jpeg
{size} Ukuran file (byte) 204800

Placeholder gambar juga bekerja di dalam blok loop. Tiap iterasi menampilkan gambar milik item tersebut:

{#Employees}
Name: {Name}
Photo: [gambar dengan alt text: {Photo}]
{/Employees}

Hasilkan QR code dan barcode dari nilai field. Cara pemasangannya sama seperti gambar dinamis — lewat Alt Text gambar.

{QR:FieldName}

Contoh: {QR:Order_ID} menghasilkan QR code berisi nilai Order_ID.

Sintaks Tipe Catatan
{BARCODE:FieldName} Code128 Default, alfanumerik
{BARCODE128:FieldName} Code128 Code128 eksplisit
{BARCODE39:FieldName} Code39 Hanya huruf besar + angka
{BARCODEEAN13:FieldName} EAN-13 Kode produk ritel 13 digit
{BARCODEEAN8:FieldName} EAN-8 EAN pendek 8 digit
{BARCODEUPCA:FieldName} UPC-A Ritel Amerika Utara 12 digit
{BARCODEUPCE:FieldName} UPC-E UPC versi ringkas
{BARCODEITF14:FieldName} ITF-14 Kode pengiriman / karton
{BARCODEDATAMATRIX:FieldName} DataMatrix 2D, kepadatan tinggi
{BARCODEPDF417:FieldName} PDF417 2D, linear bertumpuk

Prefiksnya tidak membedakan huruf besar/kecil — {qr:Field} dan {QR:Field} sama-sama bekerja.

Semua sintaks placeholder juga berlaku di header dan footer dokumen, persis seperti di badan dokumen.

Penggunaan umum:

  • Nama perusahaan atau logo di header
  • Nomor dokumen atau tanggal di footer
  • Label dinamis seperti Invoice for {Customer_Name}

Cara menambahkannya: Insert → Header/Footer → Edit → ketik placeholder seperti {Field_Name}.

Sintaks Keterangan
{Field} Variabel sederhana
{Field.Nested} Field record terkait (notasi titik)
{URL.text} / {URL.link} Sub-properti URL
{Created_By.name} / {Assignee[0].name} Sub-properti user
{Location.name} / {Location.full_address} Sub-properti lokasi
{Team[0].name} / {Team[0].id} Sub-properti grup
{#Field}...{/Field} Loop field multi-nilai
{/} Penutup singkat (menutup loop terdekat)
{.} Item saat ini dalam loop (array sederhana)
{$index} Indeks loop (mulai 0)
{$num} Nomor baris (mulai 1)
{$first} / {$last} Boolean item pertama/terakhir
{#if Field}...{/if} Kondisi (terisi)
{#if !Field}...{/if} Kondisi (kosong)
{#if Field == "val"}...{/if} Kondisi (sama dengan)
{#if Field != "val"}...{/if} Kondisi (tidak sama dengan)
{Field | upper} Filter: huruf besar
{Field | lower} Filter: huruf kecil
{Field | capitalize} Filter: awal kata huruf besar
{Field | trim} Filter: hapus spasi
{Field | truncate:30} Filter: potong dengan elipsis
{Field | pad:3} Filter: isi nol di depan
{Field | number:2} Filter: angka dengan desimal
{Field | number:2:"de-DE"} Filter: angka sesuai locale
{Field | currency:"USD"} Filter: format mata uang
{Field | currency:"EUR":"de-DE"} Filter: mata uang sesuai locale
{Field | percent:1} Filter: persentase
{Field | date:"DD MMM YYYY"} Filter: format tanggal khusus
{Field | date:"dddd, MMMM DD":"UTC":"fr-FR"} Filter: tanggal sesuai locale
{Field | join:" / "} Filter: gabung array dengan pemisah
{Field | default:"N/A"} Filter: nilai cadangan
{Field | trim | upper} Filter berangkai (kiri ke kanan)
{Photo} / {Photo[1]} Gambar (lewat Alt Text)
{QR:Field} QR code (lewat Alt Text)
{BARCODE:Field} Barcode (lewat Alt Text)