diff --git "a/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" "b/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" index 6c2fa9e..9bf7fb2 100644 --- "a/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" +++ "b/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" @@ -113,22 +113,25 @@ Функция БезопасноУдалитьФайл(Знач Путь) Экспорт Попытка + УдалитьФайлы(Путь); Возврат Истина; + Исключение - ТекстОшибки = "Попытка удаления "+Путь+" закончилась неудачей, по причине "+ОписаниеОшибки(); - УдаляемыйФайл = Новый Файл(Путь); - Если УдаляемыйФайл.ЭтоФайл() и УдаляемыйФайл.ПолучитьТолькоЧтение() Тогда - УдаляемыйФайл.УстановитьТолькоЧтение(Ложь); - Попытка - УдалитьФайлы(Путь); - Возврат Истина; - Исключение - Лог.Предупреждение(ТекстОшибки); - КонецПопытки; - Иначе + + Попытка + Для каждого Файл Из НайтиФайлы(Путь, ПолучитьМаскуВсеФайлы(), Истина) Цикл + Если Файл.ПолучитьТолькоЧтение() Тогда + Файл.УстановитьТолькоЧтение(Ложь); + КонецЕсли; + КонецЦикла; + УдалитьФайлы(Путь); + Возврат Истина; + Исключение + ТекстОшибки = "Попытка удаления " + Путь + " закончилась неудачей, по причине " + ОписаниеОшибки(); Лог.Предупреждение(ТекстОшибки); - КонецЕсли; + КонецПопытки; + КонецПопытки; Возврат Ложь;