• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/lib/activity/baseactivity.php
  • Класс: BitrixBizprocActivityBaseActivity
  • Вызов: BaseActivity::getPropertiesDialogValues
static function getPropertiesDialogValues(
	$documentType,
	$activityName,
	&$workflowTemplate,
	&$workflowParameters,
	&$workflowVariables,
	$currentValues,
	&$errors
): bool
{
	if (!static::checkModules())
	{
		return false;
	}

	$dialog = new PropertiesDialog(static::getFileName(), [
		'documentType' => $documentType,
		'activityName' => $activityName,
		'workflowTemplate' => $workflowTemplate,
		'workflowParameters' => $workflowParameters,
		'workflowVariables' => $workflowVariables,
		'currentValues' => $currentValues,
	]);

	$extractingResult = static::extractPropertiesValues($dialog, static::getPropertiesDialogMap($dialog));
	if (!$extractingResult->isSuccess())
	{
		foreach ($extractingResult->getErrors() as $error)
		{
			$errors[] = [
				'code' => $error->getCode(),
				'message' => $error->getMessage(),
				'parameter' => $error->getCustomData(),
			];
		}
	}
	else
	{
		$errors = static::ValidateProperties(
			$extractingResult->getData(),
			new CBPWorkflowTemplateUser(CBPWorkflowTemplateUser::CurrentUser)
		);
	}

	if ($errors)
	{
		return false;
	}

	$currentActivity = &CBPWorkflowTemplateLoader::FindActivityByName(
		$workflowTemplate,
		$activityName
	);
	$currentActivity['Properties'] = $extractingResult->getData();

	return true;
}