2013-06-11 4 views
3

у меня есть следующие в форме отчета кристалла в виде формулы:Как я могу отладить эту формулу отчетов о кристаллах?

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

+0

Вы пытались добавить его в качестве поля к данным отчета? –

+0

У Crystal Reports нет функции отладки, как то, что вы ожидаете в соответствующей среде IDE. – craig

ответ

4

В CR не имеет функции отладки, вы должны попробовать один из этих подходов:

  • Построить формулу один кусок в то время, и просмотреть результаты на холсте
  • Тест сложной логики, возвращая значение для каждого случая: If [test] Then 'A' Else If [test] Then 'B' Else 'C'
  • Refactor многократного использования логики в пользовательской функции

В любом случае, лучший способ структурирования логики:

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 
+1

Только что нашел эту идею, которая работает http://scn.sap.com/thread/1579437 –

+0

Полезно знать. В случае «ссылки гниль» другой поток предлагает создать ошибку с делением на нуль (1/0) в точке, где вы хотите проверить значения вычислений формулы. – craig

3

Может быть полезно, если я после того, что я сделал, как хорошо.

Running Total Formaul (Basic Syntax) 
dim debug as number 
debug = 0 

<buggy code> 

formula = debug/debug <- divide by zero breakpoint 

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

Смежные вопросы