我在水晶报表上有以下公式:

IF ({REPORT_INVOICE_SUMMARY.ITEMCONCAT} <> 'Move'
    and {REPORT_INVOICE_SUMMARY.ITEMCONCAT} <> 'Daywork'
    and {REPORT_INVOICE_SUMMARY.ITEMCONCAT} <> 'Billable Repair'
    and InStr({REPORT_INVOICE_SUMMARY.ITEMCONCAT},'Non-Billable',1) = 0
    and {REPORT_INVOICE_SUMMARY.ITEMCONCAT} <> 'Turnkey Daywork') then
    {REPORT_INVOICE_SUMMARY.QUANTITY}
else
    0


我如何逐步执行它,看看当前的REPORT_INVOICE_SUMMARY.ITEMCONCAT是什么?

我真的需要查看REPORT_INVOICE_SUMMARY.ITEMCONCAT的值

最佳答案

由于CR没有调试功能,因此您需要尝试以下方法之一:


一次建立一个公式,并在画布上查看结果
通过为每种情况返回一个值来测试复杂的逻辑:If [test] Then 'A' Else If [test] Then 'B' Else 'C'
将可重用逻辑重构为自定义函数


无论如何,一种更好的逻辑结构方式:

IF Not( {REPORT_INVOICE_SUMMARY.ITEMCONCAT} IN ['Move','Daywork','Billable Repair','Turnkey Daywork'] )
    AND InStr({REPORT_INVOICE_SUMMARY.ITEMCONCAT},'Non-Billable',1) = 0 THEN
    {REPORT_INVOICE_SUMMARY.QUANTITY}
ELSE
    0

10-08 14:27