CASE

Материал из GB wiki
Версия от 12:23, 19 июля 2023; Alexey (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Условная функция.

Синтаксис

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 : `Новый`
)