Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
09 окт 2024, 13:21

Ошибка при удалении файлов

Автор Psm_2015, 12 июн 2015, 19:38

0 Пользователей и 1 гость просматривают эту тему.

Psm_2015

В экселевском файле на определенной странице есть таблица. Нужно скопировать пару столбцов в справочник, в одном текст, в другом соответствующая картинка. Картинку с помощью сторонней библиотеки копирую в буфер и сохраняю в файл. Потом из файла в справочник. Все норм работает и отображает, но выдает ошибку при удалении временных файлов:

{ОбщаяФорма.ОсновнаяФорма.Форма(121)}: Ошибка при вызове метода контекста (УдалитьФайлы): Ошибка удаления файлов: Ошибка совместного доступа к файлу 'C:\temp\Рисунок12.bmp'

После закрытия 1ски все без проблем удаляется. Где-то эти файлы открыты и их закрыть надо, но не знаю где, и какой параметр обнулить. Наугад пробовал (строчки с "Неопределено" после закрытия экселя), но безрезультатно. Подскажите пожалуйста где ошибка.

З.Ы. 1С:Предприятие 8.3, учебная версия (8.3.5.1248).  конфигурация пустая, только справочник, общая форма и форма списка справочника. В 1с нуб, в программировании по большому счету тоже. :)


Эксель = Новый COMОбъект("Excel.Application");
Книга = Эксель.WorkBooks.Open("C:\Library\IG.xls");
Лист = Книга.WorkSheets(32);      

Для Строка = 12 По 15  Цикл   
      Лист.Cells(Строка,3).Copy();
        КартинкаПуть = "C:\temp\Рисунок"+Строка+".bmp";
      Буфер = Новый ComОбъект("cClipBoardObject.cClipBoard");
      Буфер.GetClipBoard(КартинкаПуть);
          
        Файл = Новый Картинка(КартинкаПуть);
   Хранилище = Новый ХранилищеЗначения(Файл, Новый СжатиеДанных(9));
   
      НовыйОбъект = Справочники.Справочник1.СоздатьЭлемент();
      НовыйОбъект.Наименование = Лист.Cells(Строка,2).Value;
      НовыйОбъект.ДанныеФайлаКартинки = Хранилище;
      НовыйОбъект.Записать();
      
КонецЦикла;
Эксель.Application.Quit();
   
      Буфер = Неопределено;
      КартинкаПуть = Неопределено;
      Картинка = Неопределено;
      Файл = Неопределено;
      Хранилище = Неопределено;
      
УдалитьФайлы("C:\temp\");


vitasw

1. "C:\temp\Рисунок"+Строка+".bmp"; - это точно картинка? в том смысле, что после окончания работы обработки в этих файлах картинки?
2. Других файлов в C:\temp\ нет?

Psm_2015

Цитата: vitasw от 12 июн 2015, 22:49
1. "C:\temp\Рисунок"+Строка+".bmp"; - это точно картинка? в том смысле, что после окончания работы обработки в этих файлах картинки?
2. Других файлов в C:\temp\ нет?

Формат самого рисунка не знаю какой, в смысле jpg там или bmp. В описании к библиотеке строчка выглядит так:    КартинкаПуть = глКаталогКонфигурации+"Рисунок 2.tmp";
Я исправил на bmp, чтоб посмотреть промежуточный результат. Дефолтный просмотрщик 7ой винды ругается и не показывает, но паинт все нормально открывает.
Картинки, те что надо. Каталог temp создавал специально под эту обработку, лишних файлов там нет (галочка "показывать скрытые" стоит).
Да и ругается он конкретно на те файлы с какими работает, т.к. я создавал каталог с левыми файлами в темпе и они без вопросов удалились.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск