Допустим, у нас есть параметр р1 и надо вывести одно описание, если он равен 0, а если равен 1 - то вторую. Пишем в строке формулы
([p1]=0)*1+([p1]=1)*2
Множитель за скобками - это номер описания, которое будет выводиться, если выполняется условие внутри. А то, что внутри, это boolean - фолс или тру, то есть может быть либо ноль, либо единица.
Если параметр p1 равен 0, то получится:
1*1+0*2 = 1+0 = 1
Тут выводится первое описание. Иначе:
0*1+1*2 = 0+2 = 2
выводится второе описание.
Но эт топорно. Вообще, по сути нам надо получить просто последовательность чисел x+y+z+... в строке формулы, из которых только одно будет не равно нулю. Другими словами, результат всей формулы в строке - это и есть номер выводимого описания.
Т.е. можно в нашем примере написать
[p1]+1
Здесь получится х+у, где у всегда равен 1 и на деле тупо плюсуеся, чтобы результат формулы не выходил нулевым.
Может быть в итоге:
0+1 = 1
либо
1+1 = 2
Ну, ясно, что эти числа x, y, ... больше нуля (у нас ведь нет нулевого описания) и меньше одиннадцати (всего 10 описаний на локацию).
Надеюсь, хорошо объяснил
.