• Модуль: rpa
  • Путь к файлу: ~/bitrix/modules/rpa/lib/model/typetable.php
  • Класс: BitrixRpaModelTypeTable
  • Вызов: TypeTable::compileItemIndexEntity
static function compileItemIndexEntity($type): Entity
{
	$rawType = $type;
	$type = static::resolveType($type);
	if(empty($type))
	{
		throw new SystemException(sprintf(
			'Invalid type description `%s`.', mydump($rawType)
		));
	}
	$factory = Driver::getInstance()->getFactory();
	$dataClass = $factory->getItemIndexPrototypeDataClass();
	$entityName = $factory->getUserFieldEntityPrefix().$type['NAME'].'Index';
	$entityClassName = $entityName.'Table';
	$entityTableName = $type['TABLE_NAME'].'_index';
	if(class_exists($entityClassName))
	{
		Entity::destroy($entityClassName);
		$entity = Entity::getInstance($entityClassName);
	}
	else
	{
		$entity = Entity::compileEntity($entityName, [], [
			'table_name' => $entityTableName,
			'parent' => $dataClass,
		]);
	}

	return $entity;
}