Функция IIF может удобно применяться в поле калькуляции для простых выражений.

Например, ниже приведена такая ситуация для расчета.

Требуется посчитать площадь плитки на плинтус из керамогранита.

Плинтус смоделирован элементами морф.

У этих элементов имеется свойство "Материал плинтуса" - в нем задается значение "ПВХ" или "Плитка".

Так же есть свойство "Высота плинтуса, мм".

 

Для решения задачи для поля A задаем свойство "Высота плинтуса, мм" - это значение при расчете требуется поделить на 1000, т.к. рассчитать количество плитки требуется в метрах.

Для поля C задаем свойство "Length" со страницы количественных показателей - QTY (quantity - количество).

Это значение в метрах.

Для поля B задаем свойство "Материал плинтуса".

В момент вставки свойства, если свойство не числовое и не логическое - программа спрашивает как использовать это свойство - как текстовую переменную или извлекать число.

Мы вставляем как текстовую переменную, т.к. будем строить условие на том, чтобы оно было равно "Плитка".


Текстовые переменные выделяются жирным шрифтом на панели.

Теперь составляем выражение.

IIF(B="Плитка";C*A/1000;0)

Это означает, что в случае, когда переменная B содержит "Плитка" - будет возвращаться число, получаемое из выражения C*A/1000 - площадь плитки.

Если B содержит что-то другое - то IIF возвращает 0.

Функция IIF может содержать еще встроенные функции IIF или другие из набора функций LABPP_Automat (см. в руководстве по программированию).

Например, если требуется выполнить расчет для значений B "Плитка" и "Плитка керамическая" и "Плитка керамогранитная" - то можно использовать функцию, которая

проверяет строку на наличие фрагмента и, если надо, то без учета больших или маленьких букв.

IIF (strcontains(B,"Плитка",0);C*A/1000;0)