• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/replicator/template/taskproducer.php
  • Класс: BitrixTasksReplicatorTemplateTaskProducer
  • Вызов: TaskProducer::filterFiles
private function filterFiles(): static
{
	if (!Loader::includeModule('disk'))
	{
		return $this;
	}

	$filteredAttachmentIds = [];
	$templateFiles = $this->fields[UserField::getMainSysUFCode()] ?? [];
	$fileUf = (new CUserTypeManager())->GetUserFields(TasksUFManager::ENTITY_TYPE)[UserField::getMainSysUFCode()];
	foreach ($templateFiles as $fileId => $attachmentId)
	{
		$errors = FileUserType::checkFields($fileUf, $attachmentId, $this->userId);
		if (!empty($errors))
		{
			$this->writeFileErrorToTemplateHistory($fileId);
			continue;
		}

		$filteredAttachmentIds[] = $attachmentId;
	}
	$this->fields[UserField::getMainSysUFCode()] = $filteredAttachmentIds;

	return $this;
}