Ошибка функции Crystal или IF - PullRequest
0 голосов
/ 17 января 2012

Привет, мне нужна помощь с кристаллом или формулой ЕСЛИ, кажется, я не могу приступить к работе, вот как я думаю, формула должна быть написана:

If {'GPD_Data_'.Deal No}= [0000,9452] and 
   {'GPD_Data_'.Saving Accepted ?} <> ["1-Accepted","Unknown"] 
then 0 
else {'GPD_Data_'.% Charges in GBP} 
or if {'GPD_Data_'.Deal No}= [9281] and 
      {'GPD_Data_'.Saving Accepted ?} = ["13-Itinerary Changed,6-Cancelled"] 
then 10 
else {'GPD_Data_'.% Charges in GBP}

Формула перед частью ИЛИ, если она работает нормально, но не может заставить другой бит работать, может кто-нибудь указать мне правильное направление?

Ответы [ 3 ]

0 голосов
/ 17 января 2012

Как и Карлос, я думаю, что проблема, по крайней мере, частично вызвана использованием or if после else, хотя я думаю, что есть и несколько других проблем.Попробуйте это:

If {'GPD_Data_'.Deal No} in [0000,9452] and 
   {'GPD_Data_'.Saving Accepted ?} not in ["1-Accepted","Unknown"] 
then 0 
else if {'GPD_Data_'.Deal No}= 9281 and 
        {'GPD_Data_'.Saving Accepted ?} in ["13-Itinerary Changed","6-Cancelled"] 
then 10 
else {'GPD_Data_'.% Charges in GBP}
0 голосов
/ 17 января 2012

Используйте скобки:

If {'GPD_Data_'.Deal No} = [0000,9452] and {'GPD_Data_'.Saving Accepted ?} <> ["1-Accepted","Unknown"] Then 
            0 
    Else (

        If {'GPD_Data_'.% Charges in GBP} OR ( {'GPD_Data_'.Deal No}= [9281] AND  {'GPD_Data_'.Saving Accepted ?} = ["13-Itinerary Changed,6-Cancelled"] ) Then 
            10 
        Else 
            {'GPD_Data_'.% Charges in GBP}
)
0 голосов
/ 17 января 2012

Я думаю, что проблема в том, что нет ИЛИ ЕСЛИ.Вы можете сказать «ИЛИ» и добавить второе условие, но затем, потому что вам нужно другое, вам может понадобиться использовать elseif или inner, если.

У меня нет способа проверить это, но попробуйте добавить форматирование отступаи код следующий:

If {'GPD_Data_'.Deal No} = [0000,9452] and {'GPD_Data_'.Saving Accepted ?} <> ["1-Accepted","Unknown"] then 
            0 
    else 
        if {'GPD_Data_'.% Charges in GBP} 
            or ( {'GPD_Data_'.Deal No}= [9281] and {'GPD_Data_'.Saving Accepted ?} = ["13-Itinerary Changed,6-Cancelled"] ) then 
            10 
        else 
            {'GPD_Data_'.% Charges in GBP}

Надеюсь, что это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...