• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/lib/workflow/entity/workflowinstance.php
  • Класс: BitrixBizprocWorkflowEntityWorkflowInstanceTable
  • Вызов: WorkflowInstanceTable::migrateDocumentType
static function migrateDocumentType($paramOldType, $paramNewType, $workflowTemplateIds)
{
	$oldType = CBPHelper::parseDocumentId($paramOldType);
	$newType = CBPHelper::parseDocumentId($paramNewType);

	$connection = MainApplication::getConnection();
	$sqlHelper = $connection->getSqlHelper();
	$table = $sqlHelper->forSql(static::getTableName());

	$firstEntity = $sqlHelper->forSql($oldType[1]);
	$firstModule = $sqlHelper->forSql($oldType[0]);

	$secondEntity = $sqlHelper->forSql($newType[1]);
	$secondModule = $sqlHelper->forSql($newType[0]);

	$templates = implode(",", array_map('intval', $workflowTemplateIds));

	$connection->queryExecute("UPDATE {$table} 
		SET 
			ENTITY = '{$firstEntity}',
			MODULE_ID = '{$firstModule}' 
		WHERE 
			ENTITY = '{$secondEntity}' 
			AND MODULE_ID = '{$secondModule}' 
			AND WORKFLOW_TEMPLATE_ID IN ({$templates})
	");

	return true;
}