Вернуться к списку Вернуться к статьям
Статьи

Таблица товаров в документе Битрикс24: повторяющиеся строки Word и Excel

В «Фабрике документов» таблица товаров строится повторением одной строки по списку 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}}

Разместите четыре выражения в четырёх ячейках строки данных. Не объединяйте ячейки через границы блока. После расширения таблицы проверьте строки ниже, формулы и область печати.

Разные конструкции повторения товаров для DOCX и XLSX
Разные конструкции повторения товаров для DOCX и XLSX

Проверьте три размера списка

Данные сделки Что должно получиться
Нет товаров Нет строк с вымышленными позициями
Один товар Одна строка данных
Несколько товаров По строке на каждую позицию

Добавьте длинное название и дробное количество, если такие значения встречаются в работе. Пустой список — допустимый случай данных, но компания должна решить, можно ли отправлять такой документ клиенту.

Цена и сумма требуют разных проверок

Не заменяйте сумму строки произвольным произведением, если в CRM используются скидки и налоги. Сначала определите, какое значение нужно клиенту, и выберите подходящее поле. Итоги сверяйте с исходной карточкой.

Фильтр money оформляет сумму в рублях. Он не переключается на валюту сделки. В Excel оформленная строка с валютой может не подойти для дальнейших вычислений: проверьте тип результата перед использованием формул.

Почему строки не повторяются

Частые причины — неверное имя списка, разное имя переменной внутри цикла, начало и конец в одной строке или разметка Word, вставленная в Excel. Ещё одна причина — отсутствие товаров в самой карточке, хотя тестовая генерация использовала непустой учебный список.

Сначала проверьте источник данных. Затем сравните конструкцию со встроенными примерами. После исправления сформируйте новый файл: предыдущий результат не изменится.

Частые вопросы

Во встроенном генераторе Битрикс24 тоже есть таблица товаров?

Да. Наличие товарной таблицы само по себе не является отличием приложения. Здесь рассмотрен синтаксис «Фабрики документов» для DOCX и XLSX.

Можно ли тем же способом вывести задачи?

Принцип повторения похож, но используется список tasks и другие поля. Простая замена названия списка без изменения полей товара не создаст корректный отчёт.

Полные примеры доступны в инструкции приложения. Готовые основы и назначение продукта описаны на странице «Фабрики документов».

Приложение из статьи

  • Фабрика документов

    Создавайте документы Word и Excel по своим шаблонам из данных CRM Битрикс24: поля, товары, реквизиты и связанные задачи.