• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/orm/elementv1.php
  • Класс: BitrixIblockORMElementV1
  • Вызов: ElementV1::sysSaveRelations
public function sysSaveRelations(Result $result)
{
	parent::sysSaveRelations($result);

	// save single value references
	foreach ($this->entity->getFields() as $field)
	{
		if ($field instanceof PropertyReference)
		{
			if ($this->sysHasValue($field->getName()) && !empty($this->get($field->getName())))
			{
				/** @var EntityObject $valueObject */
				$valueObject = $this->get($field->getName());

				if ($valueObject->state == State::RAW)
				{
					// previously we made fill, so now we don't need to remove old value
					// it would be insert only, and that's all
					$valueObject->save();
				}
				elseif ($valueObject->state == State::CHANGED)
				{
					// regular update
					$valueObject->save();
				}
			}
		}
	}
}