Здравствуйте господа программисты!
Банальная ситуация. Пытаюсь программно удалить файл .xlsx. Использую Объект ФС и процедуру УдалитьФайл().
Строкой выше создаю копию этого файла в другом каталоге.
Файл в исходном каталоге не хочет удаляться командой УдалитьФайл().
Где эти грабли, не могу понять. В скобках процедуры в кавычках указываю полный путь самого файла и название файла с расширением.
Упорно не хочет удаляться.
Подскажите может есть какой момент в данной процедуре. Подскажите кто сталкивался.
Банальная ситуация. Пытаюсь программно удалить файл .xlsx. Использую Объект ФС и процедуру УдалитьФайл().
Строкой выше создаю копию этого файла в другом каталоге.
Файл в исходном каталоге не хочет удаляться командой УдалитьФайл().
Где эти грабли, не могу понять. В скобках процедуры в кавычках указываю полный путь самого файла и название файла с расширением.
Упорно не хочет удаляться.
Подскажите может есть какой момент в данной процедуре. Подскажите кто сталкивался.
По теме из базы знаний
- Выгрузка-загрузка любых данных из 1С (и измененных) в XML между похожими конфигурациями (ФАЙЛ, HTTP, COM) ЛЮБЫХ баз 1С 8.1-8.3 с обработкой и поиском данных по произвольным полям поиска
- Универсальный конструктор отчетов СКД (управляемые формы, тонкий клиент)
- Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке
- Обзор полезных методов БСП 3.1.4
- WhatsApp/MAX-клиент для 1С - отправка/получение сообщений, изображений, смайлов, файлов из 1С через сервис GreenApi
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Процедура Сформировать()
ФС.УстТекКаталог("C:\EXCEL");
ИмяФайла = ФС.НайтиПервыйФайл("*.xlsx");
Пока ПустаяСтрока(ИмяФайла) = 0 Цикл
ФС.КопироватьФайл("C:\EXCEL\"+ИмяФайла,"C:\EXCEL_GOOD\"+ИмяФайла,0);
ФС.УдалитьФайл(ИмяФайла);
ИмяФайла = ФС.НайтиСледующийФайл();
КонецЦикла;
КонецПроцедуры Показать
Спасибо всем за информацию. Разобрался с ситуацией. Дело в том что командой ФС.УдалитьФайл() пытался удалить файл, который был открыт. Копирование его отрабатывало, а удаление нет. Права были, флаг "только чтение" отсутствует. Переписал чтобы файл закрывался и все заработало как часы.
(37) операции с ФС не генерят исключения в случае проблемы с правами.
Обычно проблемы с кривым кодом (как у автора), с занятым файлом (как у автора), и с правами на папки/файлы.
Копируя файл в место назначения - нужно быть уверенным что место назначения имеет соответсвующие права.
Попытка скопировать файл в папку, к которой нет доступа никаких проблем не выдаст и при Попытка никаких исключений не сгенерит. Поэтому после копирования в общем случае надо проверять успешность копирвоания - то есть наличие файла (!!если его там не было!!!
Сначала ФС.КопироватьФайл, потом ФС.СуществуеФайл
Обычно проблемы с кривым кодом (как у автора), с занятым файлом (как у автора), и с правами на папки/файлы.
Копируя файл в место назначения - нужно быть уверенным что место назначения имеет соответсвующие права.
Попытка скопировать файл в папку, к которой нет доступа никаких проблем не выдаст и при Попытка никаких исключений не сгенерит. Поэтому после копирования в общем случае надо проверять успешность копирвоания - то есть наличие файла (!!если его там не было!!!
Сначала ФС.КопироватьФайл, потом ФС.СуществуеФайл
(48) Ну и конфы были проще, и не было клиент-сервера, и прочих говно-СКД... А сейчас все новички безо всяких курсов и безо всякого понимания общих понятий программирования лезут сразу в ERP.
Блин, ну вы хоть поймите что такое Цикл, и как в нем работаю переменные... Нет, блин - надо сразу в ERP пытаться изменить проведение документов...
Куда катится профессия?
Блин, ну вы хоть поймите что такое Цикл, и как в нем работаю переменные... Нет, блин - надо сразу в ERP пытаться изменить проведение документов...
Куда катится профессия?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот