2008-12-19 3 views
1

Используя хрустальные отчеты 11, я пытаюсь получить промежуточную сумму, чтобы заставить ее показывать отрицательное число, когда поле базы данных имеет значение «Кредитное авизо».Crystal Reports 11: не будет отрицать числовое значение в тексте

Я попытался отрицать значение в текстовой функции, как вы можете видеть в комментариях, выровненном ниже инструкции if trantypeilocal = "credit memo", но это не работает. Поэтому я решил, что попытаюсь назначить его переменной, и это также вызовет ошибку.

Numbervar subtot 

if PageNumber = TotalPageCount then 
    (
     // ToText({tarPrintInvcHdrWrk.SalesAmt}) 
     if {tarPrintInvcHdrWrk.TranTypeIDLocal} = "Credit Memo" then 
     (
      subtot := {tarPrintInvcHdrWrk.SalesAmt}-{tarPrintInvcHdrWrk.ShipAmt}-{#FreightAndHandling}; 
      //ToText (-({tarPrintInvcHdrWrk.SalesAmt}-{tarPrintInvcHdrWrk.ShipAmt}-{#FreightAndHandling}) , {tarPrintInvcHdrWrk.MCDecPlaces}) 
      ToText (-(subtot)); 
      ) 
     else 
     ( 
     ToText ({tarPrintInvcHdrWrk.SalesAmt}-{tarPrintInvcHdrWrk.ShipAmt}-{#FreightAndHandling}, {tarPrintInvcHdrWrk.MCDecPlaces}) 
     ) 
    ) 
    else 
     "**********" 

сообщение об ошибке говорит:

Оставшийся текст не появляется, чтобы быть частью формулы.

ответ

0

Я выяснил временное исправление, просто конкатенируя в инструкции if в настоящее время.

"-" + ToText ({tarPrintInvcHdrWrk.SalesAmt}-{tarPrintInvcHdrWrk.ShipAmt}-{#FreightAndHandling}) , {tarPrintInvcHdrWrk.MCDecPlaces} 
Смежные вопросы