Имя: Пароль:
1C
 
Что нужно сделать после ТабличныйДокумент.Записать()
0 volod
 
10.06.11
10:40
чтобы после этого после этого он был доступен для редактирования? Вкратце - формируется ТабличныйДокумент, потом записывается в файл, потом этот файл прикрепляется к почтовому сообщению и отправляется и так в цикле по адресам рассылки. Первый заход отрабатывается нормально, на втором выдаёт ошибку:

Ошибка при вызове метода контекста (Записать)

по причине:

по причине:
Ошибка совместного доступа к файлу

при этом на 8.1 не было такого, после конвертации конфигурации на 8.2 началось
1 volod
 
10.06.11
12:38
ладно, уговорили, буду разные имена файла генерить в цикле :)
2 AaNnDdRrEeYy
 
10.06.11
12:40
А дин раз записать и много раз прикрепить не вариант?
3 AllJoke
 
10.06.11
12:41
файл.закрыть() ??
4 AaNnDdRrEeYy
 
10.06.11
12:43
(3) а потом еще и удалить.
5 73
 
10.06.11
12:47
(2) Тогда уж лучше 1 письмо и список получателей.
6 volod
 
10.06.11
12:49
(2) (5)
так не получается, содержимое файлов разное для разных получателей
7 73
 
10.06.11
12:50
Тогда (4)
8 volod
 
10.06.11
13:59
Упростил до примитива - работает:

Для Каждого АдресРассылки ИЗ СписокРассылки Цикл
   ТабДок = Новый ТабличныйДокумент;
       ТабДок.Записать(ВременныйКаталог+"/test.xls",ТипФайлаТабличногоДокумента.XLS);
   УдалитьФайлы(ВременныйКаталог,"test.xls");
КонецЦикла;


приближаем к реальности - работает:

Для Каждого АдресРассылки ИЗ СписокРассылки Цикл
   ТабДок = Новый ТабличныйДокумент;
       /// формирование данных в табличный документ
       ТабДок = СформироватьДанные(Условия);
       ТабДок.Записать(ВременныйКаталог+"/test.xls",ТипФайлаТабличногоДокумента.XLS);
   УдалитьФайлы(ВременныйКаталог,"test.xls");
КонецЦикла;


а вот если этот файл как вложение почтового сообщения добавить, то уже ошибка совместного доступа

Для Каждого АдресРассылки ИЗ СписокРассылки Цикл
   ТабДок = Новый ТабличныйДокумент;
       /// формирование данных в табличный документ
       ТабДок = СформироватьДанные(Условия);

       /// формируем и отправляем интернет-почтовое сообщение

       ТабДок.Записать(ВременныйКаталог+"/test.xls",ТипФайлаТабличногоДокумента.XLS);
   УдалитьФайлы(ВременныйКаталог,"test.xls");
КонецЦикла;
9 volod
 
10.06.11
14:04
получается это ИнтернетПочтовыеСообщения Вложение его лочит, если после отправки сделать

ПочтовоеСообщение.Вложения.Удалить(0);

то всё нормально, но чуднО как-то
10 73
 
10.06.11
14:39
(9) А если после отправки натравить на сообщение Новый ?
11 volod
 
10.06.11
14:58
(10) ага, либо так, проверил