Для обработки и вывода данных, привязанных к какому-либо определенному счетчику и его значению, используется тег if. Тег допускает использование внутренних тегов.

Узлы внутри тега обрабатываются только в том случае, если заданное в теге условие было выполнено.

Атрибуты тега if

НаименованиеТип данныхВозможные значенияОписание
varстроковый
Имя или значение переменной
valueстроковый


Имя или значение переменной

Может принимать значение null, если переменной не существует (поддержано для op="eq", op="ne")

Не является обязательным

opстроковый
  • "contains" (проверяет наличие ключа в json-объекте)
  • "isnull" (var равно null)
  • "notnull" (var не равно null)
  • "eq" (var равно value)
  • "ne" (var не равно value)
  • "lt" (var < value)
  • "gt" (var > value)
  • "le" (var <= value)
  • "ge" (var >= value)
  • "in" (проверяет наличие ключа в ассоциативном контейнере)
Оператор условия
elseстроковый

Если условие соблюдено, то выполняет теги до первого <else/>

Если условие не соблюдено, то выполняет теги после первого <else/>

Пример
<if var="item.plugindata" op="contains" value="provending">
    <text>Условие выполнено!</text>
</if>
 
При выполнении условия: json-объект item.plugindata содержит ключ provending, в отчете будет напечатан текст "Условие выполнено!"
Пример
<if var="somevar" op="eq" value="777">
    <text>Условие выполнено!</text>
</if>
 
При выполнении условия: значение переменной somevar равно 777, в отчете будет напечатан текст "Условие выполнено!"
Пример использования тега if со значением переменной null
<if var="frposition.discsum" op="eq" value="null">
	<text>Условие выполнено!</text>
</if>
При выполнении условия: значение переменной frposition.discsum равно null, в отчете будет напечатан текст "Условие выполнено!"
Пример тега if без атрибута value, с проверкой на null
<if var="frposition.discsum" op="isnull">
	<text>Условие выполнено!</text><br/>
</if>
 При выполнении условия: значение атрибута var равно null, в отчете будет напечатан текст "Условие выполнено!"
Пример использования тега if с атрибутом else
<if var="receipt.currency" op="eq" value="860">
    <text align="left" maxwidth="all"> сум</text><br/>
 <else/>
    <text align="left" maxwidth="all"> руб</text><br/>
</if>

При выполнении условия: значение переменной value равно 860, в отчете будет напечатан текст "<цена> сум".
При не выполнении условия: значение переменной value равно 860, в отчете будет напечатан текст "<цена> руб".
  • No labels