• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/lib/activity/conditiongroup.php
  • Класс: Bitrix\Bizproc\Activity\ConditionGroup
  • Вызов: ConditionGroup::evaluate
public function evaluate(): bool
{
	$result = [0 => true];
	$i = 0;

	$this->result = [];

	foreach ($this->getItems() as $item)
	{
		$joiner = $item['joiner'];
		/** @var Condition $condition */
		$condition = $item['condition'];

		if ($condition->getOperator() === 'modified')
		{
			$conditionResult =
				is_array($condition->getValue()) && in_array($item['valueToCheck'], $condition->getValue(), true)
			;
		}
		else
		{
			$conditionResult = $condition->checkValue($item['valueToCheck'], $item['fieldType'], $this->parameterDocumentId);
		}

		if ($joiner === static::JOINER_OR)
		{
			++$i;
			$result[$i] = $conditionResult;
		}
		elseif (!$conditionResult)
		{
			$result[$i] = false;
		}

		$this->result[] = $conditionResult;
	}

	return (count(array_filter($result)) > 0);
}