Вот решение
На данный момент TBS не имеет специальной c функции, позволяющей узнать, является ли запись последней или нет (версия TBS 3.11.0). (есть функция headergrp и footergrp , но они действуют не на запись, а вокруг нее)
Итак, первый шаг - получить дополнительный столбец в данных, который говорит, была ли это последняя запись или нет. Допустим, столбец назван is_last . Теоретически такой столбец можно создать с помощью MySQL, используя оконную функцию. Что-то вроде:
(id = (LAST_VALUE(id) OVER (...)) AS is_last
Если вам не удалось заставить этот столбец напрямую обрабатывать запрос MySQL, вы можете загрузить все свои данные в массив PHP. Поскольку у вас есть основной блок и подблок, ваши данные должны быть структурированы как набор записей для основного блока, и каждая запись должна иметь подзапись, хранящуюся в столбце sample_lst (или как его имя ). Тогда ваш шаблон должен параметр sub1
вместо p1
, чтобы работать с автоматическими c подблоками . Теперь, когда ваши данные находятся в переменной PHP, легко просмотреть данные и добавить столбец is_last .
Поскольку у вас есть is_last colmun, следующие шаги просты:
- Создайте в шаблоне 2 условных раздела для подблока. На участке с
when [sub.is_last]=0
, а на другом с when [sub.is_last]=1
. Зная, что вы, похоже, уже используете условные разделы для этого подблока, вы должны расположить условие, чтобы объединить два условия, как для создания AND. См. FAQ . - В разделе для
is_last=0
отключите свойство Keep with next Ms Word. - В разделе для
is_last=1
, включите свойство Keep with next Ms Word.