Crystal Reports подавляет проблему в подчиненных отчетах - PullRequest
0 голосов
/ 08 апреля 2019

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

Я уже пытался подавить в подотчете.Когда я пытаюсь скрыть весь раздел подотчета, весь отчет не показывает никаких данных.

If isNull({CTA_Detail_3.PROJECT_NUM}) THEN TRUE
Else If 
    totext({CTA_Detail_3.PROJECT_NUM}) <> totext({?Pm-CTA_Head.PROJECT_NUM}) OR
    totext({CTA_Detail_3.PROJECT_PURPOSE}) <> totext({?Pm-CTA_Head.PROJECT_PURPOSE}) OR
    totext({CTA_Detail_3.PROJECT_TIRE_NO}) <> totext({?Pm-CTA_Head.PROJECT_TIRE_NO}) OR
    totext({CTA_Detail_3.EXAM_DATE_CUT}) <> totext({?Pm-CTA_Head.EXAM_DATE_CUT}) Then TRUE

Подотчет не должен отображаться, если CTA_DETAIL_3.PROJECT_NUM равен NULL

1 Ответ

0 голосов
/ 09 апреля 2019

Попробуйте поместить поля, которые оцениваются в вашей формуле подавления, в разделы, где они не работают должным образом.Скорее всего, проблема в том, что они еще не содержат значений, необходимых для формулы, чтобы получить значение True.

В первой строке предоставленной вами формулы вы проверяете значение NULL.Это поле может быть проанализировано как пустая строка вместо NULL, поэтому вы можете проверить это условие, изменив формулу следующим образом:

If isNull({CTA_Detail_3.PROJECT_NUM}) Or {CTA_Detail_3.PROJECT_NUM} = "" THEN TRUE

Я пытаюсь привыкнуть квсегда проверяйте нулевые значения, также проверяя пустые строки, так как это помогает гарантировать, что оба сценария обрабатываются формулой.

...