Перейти к содержанию

Метка «Таблица»

Картинка

Метка т_цикл (табличный цикл)

Если в анкете есть поле типа «Список», и вы хотите вывести его данные в виде таблицы, используйте метку т_цикл.

Метка автоматически создаёт строки таблицы — по одной на каждую запись списка.

Картинка

Что такое список

Список — это поле в анкете, в которое можно добавлять несколько однотипных записей.

Например, список сотрудников с полями:

  • ФИО

  • Должность

  • Стаж работы

Что делает т_цикл

т_цикл не «создаёт одну строку» для каждого элемента, а повторяет табличный блок (тело цикла), который вы поместили между метками {т_цикл(...)} и {/т_цикл}.

Вы сами задаёте структуру в режиме редактирования:

  • Это может быть одна строка таблицы,

  • несколько строк (например, 3 строки на один элемент),

  • или целая группа строк с вложенной логикой.

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

Важно: т_цикл повторит ровно ту структуру и логику, которую вы заложили в шаблоне.

Если фрагмент содержит формулы, условия или дополнительные метки, они будут выполнены для каждого элемента списка отдельно.

Синтаксис

  • т_цикл(сотрудник из списокСотрудников) — начало цикла, проходящего по каждому элементу списка.

  • списокСотрудников — идентификатор поля «Список»;

  • сотрудник — это имя, через которое происходит обращение к каждому элементу. Вместо него можно использовать любое допустимое имя переменной, например: сотрудник1, _23, _сотрудник и т. п.

    Соответственно, к полям, находящимся внутри составного поля, нужно обращаться с указанием этого имени. Например, если заменить сотрудник на _1, то обращение к полю фио будет выглядеть так:

    _1.фио

  • сотрудник.фио — обращение к полю внутри списка.

  • /т_цикл — конец цикла.

⚠️ Важно: Метка т_цикл должна располагаться в отдельной строке таблицы. Любой другой текст или метки в этой строке будут проигнорированы.

Пример использования:

Задача: Создать таблицу сотрудников с указанием ФИО, должности и стажа работы.

Шаги:

  1. Создайте поле типа «Список» и назовите его, например, списокСотрудников.

  2. Внутри списка добавьте элемент типа «Составное поле», а в нём:

    • текстовое поле для ФИО;

    • текстовое поле для должности;

    • числовое поле (десятичное число) для стажа работы.

    Картинка

  3. Вставьте таблицу в тело шаблона:

    • Через меню «Вставка» → «Таблица» добавьте таблицу с 3 столбцами и 4 строками.

  4. В первой строке пропишите заголовки столбцов (ФИО, Должность, Стаж).

  5. Во второй строке таблицы вставьте начало табличного цикла:

    • Переменная: сотрудник (это имя, через которое вы будете обращаться к полям внутри одной записи);

    • Список: списокСотрудников (идентификатор списка из анкеты).

  6. В четвёртой строке закройте цикл:

  7. В третьей строке таблицы вставьте поля через три точки или метку значение:

Метка т_если (табличное если)

Табличное если — это специальная метка, которая позволяет показывать или скрывать строки таблицы в зависимости от заданного условия.

📌 Работает аналогично обычной метке если, но используется именно внутри таблиц.

Картинка

Зачем нужна метка т_если

Иногда необходимо отобразить строки таблицы только при выполнении определённого условия. Например:

  • Показывать сотрудников только если стаж больше 3 лет.

  • Показывать товары только если цена выше 10 000 ₽.

  • Показывать строку только если в анкете отмечена галочка.

Для таких случаев и используется метка т_если.

Как работает

  1. Вставьте метку т_если в нужную строку таблицы.

  2. Укажите внутри неё условие.

  3. Если условие выполнено — строки отображается. Если нет — строки скрывается.

Основные особенности:

  • Метка работает только внутри таблицы.

  • Управляет отображением всех строк.

  • Условие может опираться на любое поле анкеты.

  • Можно использовать внутри структуры табличного цикла т_цикл, чтобы фильтровать список.

Синтаксис

Где:

  • т_если(...) — открывающая метка с условием.

  • показатьДанные — поле анкеты типа «Да/Нет» или логическое выражение.

  • данные — переменная, указывающая на текущую запись из списка.

  • фио, стажРаботы — поля внутри составного поля.

  • /т_если — закрывающая метка, завершающая условную конструкцию.

📌 Всё, что находится между {т_если(...)} и {/т_если}, будет выведено только если условие выполнено.

Пример использования табличного цикла и табличного если:

Задача: Вывести в таблицу только тех сотрудников, чей стаж работы больше 3 лет.

Решение с использованием цикла и условия:

  1. (т_цикл) для перебора всех сотрудников: Мы будем использовать цикл, чтобы пройти по каждому сотруднику в списке.

  2. (т_если) для отображения сотрудников с стажем больше 3 лет: Внутри цикла добавим условие, чтобы выводить данные только для тех сотрудников, у которых стаж больше 3 лет.

Шаги:

  1. Добавьте таблицу в шаблон:

    • 3 столбца, 6 строк.

    • В первой строке — заголовки: ФИО, Стаж работы.

    18

  2. Добавьте табличный цикл:

    • Объедините ячейки второй строки.

    • Вставьте метку:

    • данные — переменная ряда.

    • сотрудники — идентификатор списка.

      19

  3. Добавьте табличное условие:

    • Объедините ячейки третьей строки.

    • Вставьте табличное если с условием: данные.стажРаботы > 3.

      20

  4. Добавьте данные сотрудников:

    • В четвёртую строку вставьте поля: «ФИО» ({данные.фио}) и «Стаж работы» ({данные.стажРаботы}) через метку «Значение» или через три точки:

      21

  5. Закройте метки:

    • В пятой строке, в ячейку первого столбца — {/т_если}.

    • В шестой строке — {/т_цикл}.

      22

Результат:

Только те сотрудники, чей стаж превышает 3 года, будут выведены в таблицу — по одной строке на каждого.

23

В_Слияние

в_слияние — это табличная метка, которая объединяет ячейки по вертикали, если для них указано одно и то же выражение.

📌 Метка работает только внутри таблиц, может использоваться в любом столбце и даже несколько раз в одном столбце с разными выражениями.

70

Зачем нужна метка в_слияние

Представьте, что вы выводите список услуг, сгруппированных по категориям. Чтобы не дублировать название категории в каждой строке, можно объединить ячейки в этом столбце. Также можно использовать в_слияние, чтобы визуально сгруппировать одинаковые значения или подчеркнуть логическую структуру таблицы.

68

Как работает

Метка в_слияние размещается внутри ячейки таблицы, в том столбце, где нужно выполнить вертикальное объединение. Вы передаёте в неё выражение — это может быть число, переменная или логическое условие.

Во время генерации документа система сравнивает это выражение в соседних строках:

  • Если выражения совпадают — ячейки объединяются.

  • Если значение выражения меняется — начинается новая группа.

📌 В одном и том же столбце можно использовать несколько меток в_слияние с разными выражениями. В этом случае объединение произойдёт только в рамках одной группы.

Синтаксис

69

Где 1 — это параметр, определяющий группу для объединения.

Возможны варианты:

  • Константав_слияние(1)

  • Все строки с таким выражением объединяются в одну группу.

  • Условиев_слияние(данные.стоимостьУслуги > 10000)

  • Объединяются те строки, где выполняется условие.

  • Переменнаяв_слияние(данные.тип)

  • Ячейки объединяются, если подряд идущие строки имеют одинаковое значение поля.

Пример:

Задача: объединить все строки первого столбца в одну ячейку, независимо от значения

Шаги:

  1. Создайте поле «Список» с нужными данными и вставьте эти поля в таблицу.

    74

  2. Внутри табличного цикла в колонке «Услуга» вставьте метку в_слияние и передайте в неё значение 1.

    75