Отсутствует удаление временного файла после использования (MissingTemporaryFileDeletion)¶
| Тип | Поддерживаются языки  | 
Важность | Включена по умолчанию  | 
Время на исправление (мин)  | 
Теги | 
|---|---|---|---|---|---|
Ошибка | 
BSLOS | 
Важный | 
Да | 
5 | 
badpracticestandard | 
Параметры¶
| Имя | Тип | Описание | Значение по умолчанию  | 
|---|---|---|---|
searchDeleteFileMethod | 
Строка | 
Ключевые слова поиска методов удаления / перемещения файлов | 
УдалитьФайлы|DeleteFiles|НачатьУдалениеФайлов|BeginDeletingFiles|ПереместитьФайл|MoveFile | 
Описание диагностики¶
После окончания работы с временным файлом или каталогом, его необходимо удалить самостоятельно. Нельзя рассчитывать на автоматическое удаление файлов и каталогов при следующем запуске платформы, это может привести к исчерпанию свободного места в каталоге временных файлов.
Примеры¶
Неправильно:
ИмяПромежуточногоФайла = ПолучитьИмяВременногоФайла("xml");
Данные.Записать(ИмяПромежуточногоФайла);
// далее нет удаления файла
Правильно:
ИмяПромежуточногоФайла = ПолучитьИмяВременногоФайла("xml");
Данные.Записать(ИмяПромежуточногоФайла);
// Работа с файлом
...
// Удаляем временный файл
Попытка
   УдалитьФайлы(ИмяПромежуточногоФайла);
Исключение
   ЗаписьЖурналаРегистрации(НСтр("ru = 'Мой механизм.Действие'"), УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
Особенности работы¶
Диагностика определяет корректность работы с временными файлами по наличию методов удаления либо перемещения.
Если в прикладном решении используется свой метод удаления/перемещения поверх платформенного, то стоит указать его в параметре диагностики, добавив через |. Диагностика понимает как глобальные методы, так и расположенные в общих модулях или модулях менеджеров.
Ниже приведены примеры настройки
- Глобальный метод 
МоеУдалениеФайловв модулеГлобальныйСерверв параметре указывается какМоеУдалениеФайлов - Метод 
МоеУдалениеФайловв общем модулеФайлыКлиентСерверв параметре указывается какФайлыКлиентСервер.МоеУдалениеФайлов - Метод 
МоеУдалениеФайловв модуле менеджера справочникаФайловыеОперациив параметре указывается какСправочники.ФайловыеОперации.МоеУдалениеФайлов 
и так далее.
Источники¶
Сниппеты¶
Экранирование кода¶
// BSLLS:MissingTemporaryFileDeletion-off
// BSLLS:MissingTemporaryFileDeletion-on
Параметр конфигурационного файла¶
"MissingTemporaryFileDeletion": {
    "searchDeleteFileMethod": "УдалитьФайлы|DeleteFiles|НачатьУдалениеФайлов|BeginDeletingFiles|ПереместитьФайл|MoveFile"
}