• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/internals/actionentity.php
  • Класс: BitrixSaleInternalsActionEntity
  • Вызов: ActionEntity::runActions
static function runActions($code, array $typeList = array())
{
	$result = new Result();
	$actionsList = static::getPoolByCode($code);

	if (empty($actionsList))
	{
		return $result;
	}

	if (empty($typeList))
	{
		$typeList = array_keys($actionsList);
	}

	if (empty($typeList))
	{
		return $result;
	}

	foreach ($typeList as $type)
	{
		if (!isset($actionsList[$type]))
			continue;

		foreach ($actionsList[$type] as $actionParams)
		{
			/** @var Result $r */
			$r = call_user_func_array($actionParams['METHOD'], $actionParams['PARAMS']);

			if (!$r->isSuccess())
			{
				$result->addErrors($r->getErrors());
			}

			if ($r->hasWarnings())
			{
				$result->addWarnings($r->getWarnings());
			}
		}

		static::resetPool($code, $type);
	}

	return $result;
}