• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/classes/general/document.php
  • Класс: CBPDocument
  • Вызов: CBPDocument::startWorkflowParametersValidate
static function startWorkflowParametersValidate($templateId, $arWorkflowParameters, $documentType, &$arErrors)
{
	$arErrors = array();

	$templateId = intval($templateId);
	if ($templateId <= 0)
	{
		$arErrors[] = array(
			"code" => "",
			"message" => GetMessage("BPCGDOC_EMPTY_WD_ID"),
		);
		return array();
	}

	if (!isset($arWorkflowParameters) || !is_array($arWorkflowParameters))
		$arWorkflowParameters = array();

	$arWorkflowParametersValues = array();

	$arRequest = $_REQUEST;
	foreach ($_FILES as $k => $v)
	{
		if (array_key_exists("name", $v))
		{
			if (is_array($v["name"]))
			{
				$ks = array_keys($v["name"]);
				for ($i = 0, $cnt = count($ks); $i < $cnt; $i++)
				{
					$ar = array();
					foreach ($v as $k1 => $v1)
						$ar[$k1] = $v1[$ks[$i]];

					$arRequest[$k][] = $ar;
				}
			}
			else
			{
				$arRequest[$k] = $v;
			}
		}
	}

	if (count($arWorkflowParameters) > 0)
	{
		$arErrorsTmp = array();
		$ar = array();

		foreach ($arWorkflowParameters as $parameterKey => $arParameter)
		{
			$key = "bizproc" . $templateId . "_" . $parameterKey;
			$ar[$parameterKey] = $arRequest[$key] ?? null;
		}

		$arWorkflowParametersValues = CBPWorkflowTemplateLoader::CheckWorkflowParameters(
			$arWorkflowParameters,
			$ar,
			$documentType,
			$arErrors
		);
	}

	return $arWorkflowParametersValues;
}