Не могу понять как правильно настроить шаблон печати, а именно: в одном шаблоне печати выводятся данные из двух подтаблиц (Товары и Услуги). Одна из этих подтаблиц может быть без записей, т.е. данные могут быть заполнены или в подтаблице Товары или в подтаблице Услуги. Иногда заполняются обе подтаблицы и когда они обе заполнены, то проблем с корректностью вывода данных из двух таблиц на печать нет. Но если одна из них не заполнена данными, к примеру, подтаблица Товары заполнена, а подтаблица Услуги не заполнена, тогда в шаблоне печати выводится только шапка подтаблицы Услуг без наименований и стоимости услуг - это некрасиво.
Подскажите пожалуйста, как осуществить проверку на отсутствие записей в подтаблице Услуг (Товаров) и если записи в ней отсутствуют, то не выводить и ее шапку.
Привожу условный пример на картинке:
#31987 Как не выводить подтаблицу в шаблоне печати, если она пуста?
Отправлено от Как это сделать
в 21 Сентябрь 2016 - 13:00 inCbCoder (21 Сентябрь 2016 - 10:09) писал:
Используйте условие для вывода подтаблицы.
Я не силен в программировании, но кое что получилось и я не уверен, что это правильно.
Приведу пример.
Главня таблица – это Главная таблица.
Услуги – это подчиненная таблица (не заполнена данными).
Работы – это подчиненная таблица. (заполнена данными).
В подтаблице Услуги есть два поля: Наименование и Стоимость.
Я сформировал код вывода шаблона для таблицы услуг следующим образом:
Шапка таблицы.
{foreach from="{$Услуги}" name="Услуги" item=subtable}{/foreach} {if {$Услуги.Наименование}} <div>Здесь вывод шапки подтаблицы Услуги</div> {/if}
Строки таблицы.
{foreach from="{$Услуги}" name="Услуги" item=subtable} {$Услуги.Наименование} {$Услуги.Стоимость} {/foreach}
В первом блоке кода для вывода шапки подтаблицы сами видите какой код использован.
Правильно ли это?
- Мне кажется, что не правильно, но все отрабатывает. Если записей в подтаблице Услуги нет, то и шапка и строки не выводятся, если же записи в подтаблице есть, то записи выводятся.
Во втором блоке кода, вроде, все корректно.
Могли бы вы показать реальный пример в виде кода с проверкой наличия записей в таблице? Мне непонятно, как правильно написать код. Или именно так правильно?