• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/lib/integration/rest/appconfiguration.php
  • Класс: BitrixBizprocIntegrationRestAppConfiguration
  • Вызов: AppConfiguration::importScript
static function importScript($importData, int $userId, int $appId)
{
	$result = [];

	if (!isset($importData['CONTENT']['DATA']))
	{
		return false;
	}
	$item = $importData['CONTENT']['DATA'];
	if (
		in_array($item['MODULE_ID'], static::$accessModules)
		&& Loader::includeModule($item['MODULE_ID'])
		&& class_exists($item['ENTITY'])
	)
	{
		if (is_subclass_of($item['ENTITY'], '\IBPWorkflowDocument'))
		{
			if (isset($importData['RATIO']['CRM_STATUS']) && $item['DOCUMENT_TYPE'] === 'DEAL')
			{
				if (is_array($item['WORKFLOW_TEMPLATE']))
				{
					$item['WORKFLOW_TEMPLATE'] = static::changeDealCategory(
						$item['WORKFLOW_TEMPLATE'],
						$importData['RATIO']['CRM_STATUS']
					);
				}
			}

			if ($appId > 0)
			{
				$item['ORIGINATOR_ID'] = 'REST_APP';
				$item['ORIGIN_ID'] = $appId;
			}

			$importResult = ScriptManager::importScript($item, $userId);

			if ($importResult->isSuccess())
			{
				$result['OWNER'] = [
					'ENTITY_TYPE' => self::OWNER_ENTITY_TYPE_BIZPROC_SCRIPT,
					'ENTITY' => $importResult->getId(),
				];
			}
			else
			{
				$result['ERROR_ACTION'] = $result['ERROR_MESSAGES'] = current($importResult->getErrorMessages());
			}
		}
	}

	return $result;
}