Имя: Пароль:
1C
 
Отправка печатной формы на почту
0 Alex7771
 
05.02.24
13:11
Не подскажите
В самописной конфигурации надо отправить на почту печатную форму на почту по кнопке
БСП нет

реализовал так

ТабДок =Новый ТабличныйДокумент;
... заполняю
    ТабДок.Записать("e:\prim.pdf",ТипФайлаТабличногоДокумента.PDF);
...
создаю письмо
...
Письмо.Вложения.Добавить("e:\prim.pdf");
...

так работает, а как не записывая файл на диск,  что-то туплю (видимо через хранилище, но что-то не получается)

вместо :
ТабДок.Записать("e:\prim.pdf",ТипФайлаТабличногоДокумента.PDF);
Письмо.Вложения.Добавить("e:\prim.pdf");
1 DJ Anthon
 
05.02.24
13:15
пиши во временный файл и всё
2 Alex7771
 
05.02.24
13:18
(1) а если база в облаке ?
3 Alex7771
 
05.02.24
13:23
ИмяФайла = ПолучитьИмяВременногоФайла();
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF);
Письмо.Вложения.Добавить(ИмяФайла);

примерно так ? а имя задать нельзя при этом ?
4 Valdis2007
 
05.02.24
13:51
(2) тогда используй запись в поток
5 Web00001
 
05.02.24
13:57
(3)> а имя задать нельзя при этом ?
Можно. Вторым параметром наименование же.
6 Галахад
 
гуру
05.02.24
14:45
Поток = Новый ПотокВПамяти;
ТД.Записать(Поток, ТипФайлаТабличногоДокумента.PDF);
ДД = Поток.ЗакрытьИПолучитьДвоичныеДанные();
7 Alex7771
 
05.02.24
17:14
(6) ДД будет тот самый конечный файл, который вставлять во вложение ?
Письмо.Вложения.Добавить(ДД); ?
8 Alex7771
 
05.02.24
17:22
(7)
видимо нет так получается файл untitled.bin
9 Мимохожий Однако
 
05.02.24
17:26
(0) Возьми любую типовую конфигурацию и посмотри.Еще есть сочетание клавиш Ctrl-F1 (Синтаксис-помощник). Кроме описания методов и свойств есть примеры. Важно научиться пользоваться режим отладки.
10 Alex7771
 
05.02.24
17:30
Все врубился надо :
Письмо.Вложения.Добавить(ДД,"prim.pdf");

а просвятите, чем поток лучше, все в памяти работает, нет временных файлов и т.п. ?
11 uno-group
 
05.02.24
17:58
Если несколько юзеров одновременно будут отправлять печатные формы ХЗ что в e:\prim.pdf в какой момент будет ну и заблокирован файл может оказаться будет юзеру ошибки писать, а он в ступор впадать.
12 Alex7771
 
05.02.24
18:52
(11) а по сравнению с этим ?:

ИмяФайла = ПолучитьИмяВременногоФайла();
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF);
Письмо.Вложения.Добавить(ИмяФайла);
AdBlock убивает бесплатный контент. 1Сергей