В «Фабрике документов» таблица товаров строится повторением одной строки по списку products. Для Word и Excel используются разные конструкции. Главное правило: заголовок, начало цикла, строка данных и конец цикла должны занимать предусмотренные для них места.
Примеры ниже описывают разметку. Наименования, количества и цены подставятся из выбранной карточки CRM при генерации.
Как устроен список товаров
products — список позиций, а item — текущая позиция внутри повторения. Поэтому {{ item.name }} в строке цикла означает название очередного товара, а не название сделки.
В учебном бланке используем наименование, количество, цену и сумму строки. Для дополнительных характеристик найдите соответствующие поля в каталоге вашего портала. Не подменяйте отсутствующее поле похожим по названию.
Таблица в Word
Создайте настоящую таблицу Word. Заголовки колонок расположите перед циклом. Следом подготовьте отдельную строку начала, строку данных и отдельную строку завершения:
{%tr for item in products %}
{{ loop.index }} {{ item.name }} {{ item.qty }} {{ item.sum | money }}
{%tr endfor %}
Здесь каждая строка примера соответствует строке таблицы, а выражения строки данных распределяются по отдельным ячейкам. Это не три абзаца, которые достаточно вставить в обычный текст документа.
При формировании служебные строки удаляются, строка данных повторяется. Если заголовок поместить внутрь повторения, он может появиться возле каждой позиции. Проверяйте результат в Word, а не только отображение исходного кода.
Таблица в Excel
В XLSX начало и конец также занимают отдельные строки листа:
{{#products}}
{{ item.name }} {{ item.qty }} {{ item.price }} {{ item.sum }}
{{/products}}
Разместите четыре выражения в четырёх ячейках строки данных. Не объединяйте ячейки через границы блока. После расширения таблицы проверьте строки ниже, формулы и область печати.

Проверьте три размера списка
| Данные сделки | Что должно получиться |
|---|---|
| Нет товаров | Нет строк с вымышленными позициями |
| Один товар | Одна строка данных |
| Несколько товаров | По строке на каждую позицию |
Добавьте длинное название и дробное количество, если такие значения встречаются в работе. Пустой список — допустимый случай данных, но компания должна решить, можно ли отправлять такой документ клиенту.
Цена и сумма требуют разных проверок
Не заменяйте сумму строки произвольным произведением, если в CRM используются скидки и налоги. Сначала определите, какое значение нужно клиенту, и выберите подходящее поле. Итоги сверяйте с исходной карточкой.
Фильтр money оформляет сумму в рублях. Он не переключается на валюту сделки. В Excel оформленная строка с валютой может не подойти для дальнейших вычислений: проверьте тип результата перед использованием формул.
Почему строки не повторяются
Частые причины — неверное имя списка, разное имя переменной внутри цикла, начало и конец в одной строке или разметка Word, вставленная в Excel. Ещё одна причина — отсутствие товаров в самой карточке, хотя тестовая генерация использовала непустой учебный список.
Сначала проверьте источник данных. Затем сравните конструкцию со встроенными примерами. После исправления сформируйте новый файл: предыдущий результат не изменится.
Частые вопросы
- Во встроенном генераторе Битрикс24 тоже есть таблица товаров?
Да. Наличие товарной таблицы само по себе не является отличием приложения. Здесь рассмотрен синтаксис «Фабрики документов» для DOCX и XLSX.
- Можно ли тем же способом вывести задачи?
Принцип повторения похож, но используется список
tasksи другие поля. Простая замена названия списка без изменения полей товара не создаст корректный отчёт.Полные примеры доступны в инструкции приложения. Готовые основы и назначение продукта описаны на странице «Фабрики документов».