Подавление подзаголовка без данных и заголовка

У меня довольно простой подчиненный отчет, который я хочу подавить, когда для него нет записей. Проблема в том, что у меня есть раздел заголовка и нижнего колонтитула этого вложенного отчета со статическими элементами в нем (текстовые поля, строки и т.д.). Я установил раздел, содержащий подчиненный отчет, сам подрегистр и разделы в рамках подрепортажа все будут сжиматься, когда нет записей. Тем не менее, вложенные данные все равно появляются. Секция данных без данных действительно подавляется, но верхние и нижние колонтитулы, похоже, видны в подпорте.

Любые идеи? О, я запускаю Crystal-Reports 2011. Спасибо!

Ответ 1

Я просто столкнулся с этим сам в CR2008. Вот шаги, которые я сделал для выполнения этой работы:

  • Перейдите в свой подрегистр (я имею в виду, что он открыт в своем собственном окне дизайнера) → перейдите в "Параметры отчета" в меню "Файл" → выберите "Подавить печать, если нет записей"
  • Теперь вернитесь в свой основной отчет. Щелкните правой кнопкой мыши по подзаголовку → перейдите в раздел "Форматировать отчет" → нажмите вкладку "Подтверждение" → установите флажок "Подавить пустое подчинение".
  • Если подчиненный отчет является единственной вещью в главном разделе отчета, перейдите в этот раздел в "Редакторе разделов", щелкнув правой кнопкой мыши по нему → установите флажок "Подавить пустоту".

РЕДАКТИРОВАТЬ: Если ваш подрепорт действительно возвращает записи, но это просто, что никто не отображается, попробуйте использовать общие переменные. Для этого вам необходимо рассмотреть используемую вами логику для отображения записей в подзаголовке в первую очередь. Это, скорее всего, любая логика, найденная в формуле подавления секций деталей, но она будет в значительной степени зависеть от формата вашего конкретного подрепортажа.

Теперь инициализируйте общий numbervar в заголовке отчета subreport и затем увеличивайте его каждый раз, когда строка отображается с использованием вышеупомянутой логики.

В своем основном отчете вы можете проверить значение этой переменной, чтобы условно подавить раздел подрепортажа. Я говорю "может", потому что CR может не оценивать переменные subreport перед тем, как смотреть на формулу подавления, но дать ей завихрение. Вы захотите использовать ключевое слово whileprintingrecords; в формуле подавления вашего раздела, чтобы отложить его оценку. Удачи!

Ответ 2

Вы пытались использовать формулу suppress?

Щелкните правой кнопкой мыши поле "Формат" > "Проверить Подавить". Нажмите "Изменить формулу" [x-2].

Ответ 3

Трудно следить за всем в сообщении, но если данные работают друг с другом, добавьте раздел и поместите свой дополнительный отчет в раздел и убедитесь, что он может расти.

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