![]() |
Сохраняю в файл табличный документ. Не могу этот файл удалить. 8.2 Делаю рассылку уведомлений по email. К уведомлению в виде вложений должны прилагаться файлики, которые я получаю, записывая в файл ТабличныйДокумент Файлики=Новый Массив; Пока Выбка.Следующий() Цикл ТекстПисьма = ТекстПисьма+Символы.ПС+ Выбка.Физлицо+Символы.Таб+Формат(Выбка.ДатаОкончания,"ДЛФ=DD"); Файлики.Добавить(СоздатьФайлУведомления(Выбка.Ссылка)); // СоздатьФайлУведомления создает файл для вложения во временной папке и возвращает его имя КонецЦикла; //пропущено формирование заголовков сообщения Для Каждого Файлик из Файлики Цикл Сообщение.Вложения.Добавить(Файлик, Выбка.Физлицо); КонецЦикла; Почта.Послать(Сообщение); Для Каждого Файлик из Файлики Цикл УдалитьФайлы(Файлик); КонецЦикла; Далее собственно функция, где я получаю файлики: Функция СоздатьФайлУведомления(Сотрудник) //Всякие запросы пропущены ТабДок=Новый ТабличныйДокумент; Макет=ПолучитьОбщийМакет("УведомлениеОбУвольнении"); //Тут всякая фигня выводится в ТабДок Файл=КаталогВременныхФайлов()+Чел.ФИО+".xls"; ТабДок.Записать(Файл,ТипФайлаТабличногоДокумента.XLS); Возврат Файл; КонецФункции |
Вкратце: создаю сообщение, создаю несколько файликов, прицепляю их в виде вложений, а потом пытаюсь эти временные файлики удалить за ненадобностью. Ну и проблема в том, что при выполнении УдалитьФайл(Файлик) выдается ошибка совместного доступа к файлу. Как же этот файл закрыть, чтобы его удалить можно было? |
После записи в файл, его нужно закрыть, иначе он так и останется открытым. Файл.Закрыть(); |
пример: Файл = Новый ЗаписьТекста(ИмяФайла); Файл.ЗаписатьСтроку("Привет!"); Файл.ЗаписатьСтроку("Как дела?"); Файл.Закрыть(); |
2-GreenDragon > что за чушь? 0-Викторр > попробуй удалять после Почта.Отключиться() ЗЫ. а почему не "Физличико", "Сообщеньеце", "ТекстПисьмеца" и т.п.? |
Всё, нашел. Почта.Отключиться() тоже не помогает, но если пересоздать сообщение (новый Сообщение), то всё ок. |
Текущее время: 16:55. Часовой пояс GMT +3. |