Ответ 1
Я просто столкнулся с этим сам в CR2008. Вот шаги, которые я сделал для выполнения этой работы:
- Перейдите в свой подрегистр (я имею в виду, что он открыт в своем собственном окне дизайнера) → перейдите в "Параметры отчета" в меню "Файл" → выберите "Подавить печать, если нет записей"
- Теперь вернитесь в свой основной отчет. Щелкните правой кнопкой мыши по подзаголовку → перейдите в раздел "Форматировать отчет" → нажмите вкладку "Подтверждение" → установите флажок "Подавить пустое подчинение".
- Если подчиненный отчет является единственной вещью в главном разделе отчета, перейдите в этот раздел в "Редакторе разделов", щелкнув правой кнопкой мыши по нему → установите флажок "Подавить пустоту".
РЕДАКТИРОВАТЬ: Если ваш подрепорт действительно возвращает записи, но это просто, что никто не отображается, попробуйте использовать общие переменные. Для этого вам необходимо рассмотреть используемую вами логику для отображения записей в подзаголовке в первую очередь. Это, скорее всего, любая логика, найденная в формуле подавления секций деталей, но она будет в значительной степени зависеть от формата вашего конкретного подрепортажа.
Теперь инициализируйте общий numbervar в заголовке отчета subreport и затем увеличивайте его каждый раз, когда строка отображается с использованием вышеупомянутой логики.
В своем основном отчете вы можете проверить значение этой переменной, чтобы условно подавить раздел подрепортажа. Я говорю "может", потому что CR может не оценивать переменные subreport перед тем, как смотреть на формулу подавления, но дать ей завихрение. Вы захотите использовать ключевое слово whileprintingrecords;
в формуле подавления вашего раздела, чтобы отложить его оценку. Удачи!