|
ошибка совместного доступа к файлу | ☑ | ||
---|---|---|---|---|
0
little_s
04.04.12
✎
13:08
|
в процедуре формируется файл xls.
далее из это процедуры вызываю другую процедуру, которая отправляет письмо на почту с вложением = сформированному файлу. и возникает ошибка совместного доступа к файлу. адресатов несколько ия всем поочередно отправляю |
|||
1
Maxus43
04.04.12
✎
13:09
|
код покажи.
один раз надо открыть, а не столько сколько раз отправляеш |
|||
2
little_s
04.04.12
✎
13:19
|
Для каждого Получатель из АдресаПолучателей Цикл
Письмо.Получатели.Очистить(); Письмо.Получатели.Добавить(СокрЛП(Получатель.АдресПочты)); // .АдресОтправителя Попытка Письмо.Вложения.Очистить(); Письмо.Вложения.Добавить(ФайлВложения,РасширениеВложения); Исключение КонецПопытки; Почта.Подключиться(ИПП); Почта.Послать(Письмо); Почта.Отключиться(); Письмо.Вложения.Очистить(); //Исключение // Письмо.Вложения.Очистить(); //КонецПопытки; КонецЦикла; |
|||
3
little_s
04.04.12
✎
13:21
|
или тут надо перед циклом один раз его прикрепить и всё?
но проблема в том ваще ни на один адрес не приходит. |
|||
4
Maxus43
04.04.12
✎
13:22
|
попробуй так
Вложение = Новый ДвоичныеДанные(ПутьКФайлуВложения); Сообщение.Вложения.Добавить(Вложение,"attach.txt"); |
|||
5
Maxus43
04.04.12
✎
13:23
|
(4) ну и Вложение = Новый ДвоичныеДанные(ПутьКФайлуВложения); - 1 раз перед циклом
|
|||
6
Maxus43
04.04.12
✎
13:27
|
>>в процедуре формируется файл xls
ну и проследи чтоб после создания закрывался Эксель, перед вызовом отправки почты. Не сохранялся а именно закрывался, смотря как создаёш |
|||
7
Nikitos
04.04.12
✎
13:27
|
Не-не-не. Имхо, исходя из (0), файл после создания еще не закрыт, а его уже пытаются отправить
|
|||
8
Nikitos
04.04.12
✎
13:28
|
(6) чуть-чуть не успел :)
|
|||
9
Maxus43
04.04.12
✎
13:30
|
(8) бывает) но (4) - всё равно, так будет по феншую
|
|||
10
Nikitos
04.04.12
✎
13:31
|
(9) на другом конце провода у людей это вызовет недоумение, как минимум
|
|||
11
Maxus43
04.04.12
✎
13:37
|
(10) это из толстой книги Простые примеры разработки)
|
|||
12
little_s
04.04.12
✎
15:04
|
>>ну и проследи чтоб после создания закрывался Эксель, перед вызовом отправки почты. Не сохранялся а именно закрывался, смотря как создаёш
файл.Quit(); этого не достаточно? |
|||
13
Maxus43
04.04.12
✎
15:06
|
(12) ну я ж не видел этого кода.
на всякий ещё можно файл = неопределено; потом. а с (4) не работает? |
|||
14
little_s
04.04.12
✎
15:15
|
узнаю только завтра работает ли с (4).. т.к. в тестовой базе всё работает.. проблема именно с рабочей базой
|
|||
15
little_s
04.04.12
✎
15:20
|
глупый вопрос наверноt , но всё-таки :))
>>Сообщение.Вложения.Добавить(Вложение,"attach.txt"); "attach.txt" - если у меня екселевский файл, тоже так писать? у меня сейчас: Письмо.Вложения.Очистить(); Письмо.Вложения.Добавить(ФайлВложения,РасширениеВложения); где РасширениеВложения = "xlsx" |
|||
16
little_s
04.04.12
✎
15:26
|
(+14) хотя из тестовой я файл не формирую.. поэтому видимо и работает..
завтра только в любом случае буду знать. |
|||
17
Maxus43
04.04.12
✎
15:35
|
да напиши обработку да 1 письмо себе пошли на почту. зачем ждать у моря погоды?
|
|||
18
Maxus43
04.04.12
✎
15:36
|
з.ы. регл заданием это делается? надо проверять ещё на наличие прав на это всё у юзера под которым 1с работает
|
|||
19
little_s
04.04.12
✎
15:41
|
(18)да, регламентное задание.
права есть. письма на мой ящик из моей базы отправляются. |
|||
20
elisabet
04.04.12
✎
15:48
|
(0) А зачем отправлять поочередно, когда можно отправить сразу списку получателей 1 раз?
|
|||
21
Nikitos
04.04.12
✎
16:40
|
(12) теоретически (ну почти из области фантастики) отправка начинается раньше того момента как закроется excel.
Я вот CDO периодически использую для отправки и пока не нарывался на ошибки с этим методом |
|||
22
little_s
05.04.12
✎
13:31
|
(20) т.к. мне надо чтобы получатели не видели кому ещё отправляется это письмо
|
|||
23
little_s
05.04.12
✎
13:33
|
(21) у меня формируется файл Эксель.. затем он архивируется .
и отправляется Екселевский файл по почте. Важно отправлять именно Ексель. так что теоретически он может быть ещё занят архивированием наверное. |
|||
24
little_s
05.04.12
✎
13:36
|
все вчерашние доработки не помогли :(
файл не отправляется. сейчас код выглядит так: Попытка Вложение = Новый ДвоичныеДанные(ФайлВложения); Письмо.Вложения.Очистить(); Письмо.Вложения.Добавить(ФайлВложения); Исключение КонецПопытки; Для каждого Получатель из АдресаПолучателей Цикл Письмо.Получатели.Очистить(); Письмо.Получатели.Добавить(СокрЛП(Получатель.АдресПочты)); Почта.Подключиться(ИПП); Почта.Послать(Письмо); Почта.Отключиться(); КонецЦикла; Письмо.Вложения.Очистить(); |
|||
25
Strobe
06.04.12
✎
12:37
|
Была похожая проблема: формировалась презентация, сохранялась в базу. После того как она уже в базе - она не нужна в локальном каталоге, удаляю...и вот ошибка. Помогло закрывать презентацию после сохранения. Тоесть: SaveAs() -> Close() -> Quit(). Изначально среднего звена не было(Close()). Попробуй в экселе закрыть Рабочую книгу или что-там в моделе...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |