• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/internals/file.php
  • Класс: BitrixDiskInternalsFileTable
  • Вызов: FileTable::checkFields
static function checkFields(Result $result, $primary, array $data)
{
	if($result instanceof EntityAddResult)
	{
		if(
			isset($data['REAL_OBJECT_ID']) &&
			isset($data['FILE_ID']) &&
			!empty($data['REAL_OBJECT_ID']) &&
			!empty($data['FILE_ID']) &&
			$data['REAL_OBJECT_ID'] != $data['ID']
		)
		{
			$field = static::getEntity()->getField('FILE_ID');
			$result->addError(new FieldError(
				$field,
				Loc::getMessage("DISK_OBJECT_ENTITY_ERROR_LINK_FILE_ID", array("#FIELD#" => $field->getTitle()))
			));
		}

		if(
			isset($data['FILE_ID']) &&
			empty($data['REAL_OBJECT_ID']) &&
			empty($data['FILE_ID'])
		)
		{
			$field = static::getEntity()->getField('FILE_ID');
			$result->addError(new FieldError(
				$field,
				Loc::getMessage("DISK_OBJECT_ENTITY_ERROR_REQUIRED_FILE_ID", array("#FIELD#" => $field->getTitle()))
			));
		}

	}

	parent::checkFields($result, $primary, $data);
}