• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/item/fieldimplementation/file.php
  • Класс: Bitrix\Crm\Item\FieldImplementation\File
  • Вызов: File::save
public function save(): Result
{
	foreach ($this->fileFields as $field)
	{
		$fileIds = (array)$this->get($field->getName());
		foreach ($fileIds as $fileId)
		{
			if ($fileId > 0)
			{
				$this->fileUploader->markFileAsPersistent((int)$fileId);
			}
		}
	}

	foreach ($this->previousFileIds as $commonFieldName => $arrayOfPreviousFileIds)
	{
		$currentFileIds = (array)$this->get($commonFieldName);
		$deletedFiles = array_diff($arrayOfPreviousFileIds, $currentFileIds);

		foreach ($deletedFiles as $deletedFileId)
		{
			$this->fileUploader->deleteFilePersistently((int)$deletedFileId);
		}
	}
	$this->previousFileIds = [];

	return new Result();
}