Сложный If Else всегда возвращает результат последнего Else

#crystal-reports

#кристалл-отчеты

Вопрос:

Это первая часть запроса по формуле 3, который формирует текстовую строку в отчете, который формирует каталог продуктов.

Я тщательно исследовал синтаксис If / Else и не могу получить ничего, кроме последней «половины поддонов» для возврата. Где я ошибаюсь?

 If isNull({OITM.SalPackMsr}) OR {OITM.SalPackMsr} = "Pallet" then 

(if isNull({OITM.SalPackMsr}) OR {OITM.SalPackMsr} = "HPallet" then 

(if isNull({OITM.SalPackMsr}) OR {OITM.SalPackMsr} = "Pack" then

(if isNull({OITM.SalPackMsr}) OR {OITM.SalPackMsr} = "Carton" then

"Carton(s) of " 
else 
"Pack(s) of ") 
else
"Half Pallets of ") 
else 
"Full Pallets of ")
else
"Half Pallets of ";
 

Комментарии:

1. Что должно быть возвращено, когда isNull({OITM.SalPackMsr} значение true?

2. Да! Это то, что привело меня к отмене! Я ответил ниже

Ответ №1:

Удалили ссылку isnull, и приведенный ниже синтаксис работает.

      If {OITM.SalPackMsr} = "Pallet" then "Full Pallets of " else " "
      
     IF {OITM.SalPackMsr} = "Carton" then "Cartons of " else " "
      
     IF {OITM.SalPackMsr} = "HPallet" then "Half Pallets of " else " "
      
     IF {OITM.SalPackMsr} = "Pack" then "Packs of " else " "
      
 

ЕСЛИ {OITM.SalPackMsr} = «2HPallet», то «Половина поддонов » else » »