CASE
Материал из GB wiki
Условная функция.
Синтаксис
CASE(Значение для проверки,Значение для сравнения(1): Значение(1),Значение для сравнения(2): Значение(2),:,$default: Значение по умолчаниию)
Аргументы
- Значение для проверки
- значение произвольного типа, которое сравнивается со значениями для сравнения.
- Значение для сравнения(N)
- значение произвольного типа, с которым сравнивается со значениями для проверки.
- Значение(N)
- значение произвольного типа, которое вернет функция CASE, если значение для проверки совпало с значением для сравнения(N).
- Значение по умолчанию
- значение произвольного типа, которое вернет функция CASE, если значение для проверки не совпало ни с одним из значений для сравнения.
Тип результата
- Значение произвольного типа.
Примеры
Здесь 1/0 служит для проверки на NULL:
Case( Articul.RootFolder, 100 : `папка 100`, 200 : `папка 200`, (1/0) : `где делась папка?`, $default : `другая папка` )
А можно и так (будет выполнено выражение из первого подходящего условия):
Case( -1, Flag>=1000 : `Обработан`, Flag=300 and Str=Places : `ГРР завершены`, Flag=300 and Placed>0 : `В работе`, Flag=300 and Placed=0 : `Готов к приёмке`, $default : `Новый` )