• Модуль: report
  • Путь к файлу: ~/bitrix/modules/report/lib/visualconstructor/internal/model.php
  • Класс: BitrixReportVisualConstructorInternalModel
  • Вызов: Model::deleteReference
private function deleteReference($deletedReferenceEntities)
{
	foreach ($deletedReferenceEntities as $referenceName => $referenceEntities)
	{
		$map = $this::getMapReferenceAttributes();
		$map = $map[$referenceName];
		switch ($map['type'])
		{
			case Common::ONE_TO_MANY:
				foreach ($referenceEntities as $referenceEntity)
				{
					$referenceEntity->delete();
				}
				break;
			case Common::MANY_TO_MANY:
				$connectColumn = array_shift($map['join']['column']);
				$connectInverseColumn = array_shift($map['join']['inverseColumn']);

				foreach ($referenceEntities as $referenceEntity)
				{
					$connectPrimaryKey = array();
					/** @var BitrixMainEntityDataManager $connectTableClass */
					$connectTableClass = $map['join']['tableClassName'];
					$connectPrimaryKey[$connectColumn[1]] = $this->getId();
					$connectPrimaryKey[$connectInverseColumn[1]] = $referenceEntity->getId();
					$connectTableClass::delete($connectPrimaryKey);
				}
				break;
			case Common::ONE_TO_ONE:
				//TODO
				break;
			case Common::MANY_TO_ONE:
				//TODO
				break;
		}
	}


}