• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/orm/fields/expressionfield.php
  • Класс: Bitrix\Main\ORM\Fields\ExpressionField
  • Вызов: ExpressionField::setEntity
public function setEntity(Entity $entity)
{
	parent::setEntity($entity);

	$parameters = $this->initialParameters;
	unset($parameters['expression']);

	if ($this->valueType !== null)
	{
		if ($this->valueField === null)
		{
			/** @var ScalarField $valueField */
			$valueField = new $this->valueType($this->name, $parameters);
			$this->valueField = $this->entity->initializeField($this->name, $valueField);
		}
	}
	else
	{
		// deprecated - old format with parameters and data_type
		$this->valueField = $this->entity->initializeField($this->name, $parameters);
		$this->valueType = get_class($this->valueField);
	}

	if (!($this->valueField instanceof ScalarField))
	{
		throw new SystemException('expression field can only be a scalar type.');
	}
}