• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/automation/trigger/taskstatustrigger.php
  • Класс: Bitrix\Crm\Automation\Trigger\TaskStatusTrigger
  • Вызов: TaskStatusTrigger::checkApplyRules
public function checkApplyRules(array $trigger)
{
	if (!parent::checkApplyRules($trigger))
	{
		return false;
	}

	if (
		is_array($trigger['APPLY_RULES'])
		&& !empty($trigger['APPLY_RULES']['taskCondition'])
	)
	{
		$task = $this->getInputData('TASK');

		if (
			!empty($trigger['APPLY_RULES']['taskStatus'])
			&& (int)$trigger['APPLY_RULES']['taskStatus'] !== (int)$task['REAL_STATUS']
		)
		{
			return false;
		}

		$conditionGroup = new ConditionGroup($trigger['APPLY_RULES']['taskCondition']);
		$documentType = ['tasks', Tasks\Integration\Bizproc\Document\Task::class, 'TASK'];
		$documentId = Tasks\Integration\Bizproc\Document\Task::resolveDocumentId($task['ID']);

		return $conditionGroup->evaluateByDocument(
			$documentType,
			$documentId
		);
	}
	return true;
}