Таблиці з рядками, що повторюються

Акти, рахунки й накладні, де кількість рядків щоразу інша: як додавати й видаляти рядки під час заповнення і як підготувати такий шаблон.

Навіщо це потрібно

В акті виконаних робіт сьогодні три послуги, завтра — одна, а наступного місяця — дванадцять. Те саме з рахунком на оплату, видатковою накладною, специфікацією чи ТТН: таблиця позицій щоразу має різну кількість рядків.

Робити окремий шаблон під кожну кількість рядків незручно, а порожні рядки в документі виглядають неохайно. Тому в DocuTract такий рядок таблиці повторюється: ви додаєте стільки позицій, скільки потрібно, і в готовому документі їх буде рівно стільки.

Як заповнювати рядки

На кроці перевірки даних таблиця позицій показується окремим списком, де кожен рядок — картка з полями: найменування, одиниця виміру, кількість, ціна, сума тощо.

Крок перевірки акта: список позицій із кнопками «Додати рядок» і «Видалити рядок»

  • Документ починається з одного порожнього рядка.
  • Щоб додати позицію, натисніть Додати рядок — внизу з'явиться нова порожня картка.
  • Щоб прибрати позицію, натисніть Видалити рядок на її картці. Решта рядків зсунеться, без пропусків.
  • Рядки нумеруються автоматично — 1, 2, 3… — номер вписувати не треба.
  • В одному списку може бути до 200 рядків.

Якщо список порожній, ви побачите підказку «Рядків поки немає - додайте перший.»

Підсумки

Підсумкові суми — «Разом без ПДВ», «ПДВ», «Всього», сума прописом — це окремі поля поза таблицею. DocuTract не перемножує кількість на ціну і не додає суми рядків сам: впишіть підсумки так само, як інші поля, і перед генерацією перевірте, що вони сходяться із сумою рядків.

Якщо рядків немає

Якщо видалити всі рядки, рядок таблиці зникне з документа повністю — у готовому файлі не буде порожнього рядка з самими рамками. Заголовок таблиці й рядки підсумків при цьому залишаються.

Для авторів шаблонів

Щоб рядок таблиці повторювався, поставте плейсхолдери позицій в один рядок таблиці Word і назвіть їх через крапку: спершу назва списку, потім назва колонки.

| {{items.#}} | {{items.name}} | {{items.unit}} | {{items.qty}} | {{items.price}} | {{items.sum}} |
  • items — назва списку. Усі клітинки одного рядка мають починатися з однакової назви.
  • name, qty, price… — колонки. Кожна стає полем, яке заповнюють у кожному рядку.
  • {{items.#}} — номер рядка. Це не поле: DocuTract підставляє 1, 2, 3… сам.
  • Рядки заголовка й підсумків лишіть звичайними: підсумки — це звичайні плейсхолдери на кшталт {{total_without_vat}} чи {{amount}}.

Під час генерації весь рядок таблиці повторюється стільки разів, скільки рядків у документі, зі збереженням оформлення.

Не хочете розставляти це вручну? Майстер Шаблон із готового документа розпізнає таблиці позицій у заповненому документі й сам перетворює їх на один рядок, що повторюється.

Відмінність від блоків {{#each}}

Схожий запис через крапку використовують і умовні блоки {{#each tenants}}…{{/each}}. Різниця в тому, звідки беруться повтори: блок #each повторюється за сканами (наприклад, по разу на кожного орендаря), а рядки таблиці ви додаєте й видаляєте самі під час заповнення.