VARICA
digital proposal bureau
VARICA / Документация v2

Табличные строки в API v2

`rows.*` применяется только для масок вида `{{tables.name}}`, расположенных в Table v2. Пример таблицы шаблона:

Когда использовать rows.*

rows.* применяется только для масок вида {{tables.name}}, расположенных в Table v2. Пример таблицы шаблона:

{{tables.name}} | {{tables.count}} | {{tables.price}}

В запросе эти поля становятся:

rows.tables.name
rows.tables.count
rows.tables.price

Разделитель строк

Используется только вертикальная черта |.

-F "rows.tables.name=Насос|Шкаф|Кабель" \
-F "rows.tables.count=2|1|5" \
-F "rows.tables.price=30,59|59,10|100,00"

Запятая остаётся частью значения. Поэтому цены, суммы, названия компаний и любые обычные тексты не требуют экранирования из-за строк таблицы.

Разная длина полей

Сервис создаёт столько строк, сколько значений в самом длинном поле.

rows.tables.name=Насос|Шкаф|Кабель
rows.tables.count=2|1

Результат: три строки. В третьей строке значение tables.count будет пустым.

Статические строки после товаров

Если в таблице есть строка без масок tables.*, например «Итого», она остаётся после созданных динамических строк. Это позволяет заложить в шаблон структуру:

  1. заголовок;
  2. одна или несколько строк с {{tables.*}};
  3. статический итог, примечание или подпись.

Обычная маска в статической строке, например {{deal.amount}}, не участвует в размножении. Она подставляется один раз.

Ограничения

  • Обычный HTML <table> с масками не получает новых строк. Нужен Table v2.
  • Маска tables.*, случайно размещённая вне Table v2, будет требовать значение, но не станет динамической таблицей.
  • Если логика требует несколько независимых наборов строк на одной странице, каждую таблицу нужно проектировать и тестировать отдельно.
  • Сложные объединения ячеек рядом с динамическими строками следует проверить на тестовых данных до отправки клиентам.