Вход | Регистрация

1С:Предприятие ::

Метки: 

Вложение печатной формы в ИнтернетПочту

Я
   2dolist
 
29.03.18 - 12:45
Добрый день. Формирую печатную форму и хочу программно её отправить.
Формат печатной формы - то, что возвращается после обращения к модулю менеджера документа, т.е. просто SpreadsheetDocument. Получател должен в итоге принять PDF документ.
Конечно, я могу сохранить SpreadsheetDocument в файл на диске в формате PDF и прикрепить файл, но с этим целый ряд проблем может быть с правами доступа и фаерволами. Можно ли как-то без сохранения на диск прикреплять печатные формы в формате пдф? Вроде ещё можно как двоичные данные крепить или использовать внутреннее хранилище?
 
 
   FIXXXL
 
1 - 29.03.18 - 12:53
(0) доступ в папку временных файлов есть? пиши тудой
   Cyberhawk
 
2 - 29.03.18 - 12:56
У метода Записать() табличного документа есть вариант записи в поток, а не в файл
   2dolist
 
3 - 29.03.18 - 12:56
(2) так, сейчас глянем про записать
   2dolist
 
4 - 29.03.18 - 13:04
Не знаю как потоки работают. Там их 3 вида. Где можно почитать?
У меня задача - в цикле сохранять в структуру печатные формы в формате PDF. Поток подойдёт для этого?
   Масянька
 
5 - 29.03.18 - 13:13
(1) Поддержу. После отправки - спокойно удалять файлы.
   2dolist
 
6 - 29.03.18 - 13:24
Хочется с потоками разобраться =) В файл всегда можно записать если что.
   Масянька
 
7 - 29.03.18 - 13:26
(6) Любопытный или упорный? :)))))
   Cyberhawk
 
8 - 29.03.18 - 13:27
Создавай отдельную тему, раз не осилил потоки
   2dolist
 
9 - 29.03.18 - 14:35
Пытаюсь так сделать:
        Stream = New MemoryStream();
        PrintDocument.Write(Stream, SpreadsheetDocumentFileType.PDF);
        DataReaderStream = New DataReader(Stream);
        StreamRead = DataReaderStream.Read();
        BinaryData = StreamRead.GetBinaryData();
        Stream.Close();

но в результате нечитаемый файл, по видимому пустой
   Ц_У
 
10 - 29.03.18 - 15:02
(9) тут не по-русски все, мы не понимаем, мы не высокие программисты
 
 Рекламное место пустует
   2dolist
 
11 - 29.03.18 - 15:19
Да ладно, не придирайтесь. Требование просто есть такое - по-английски писать код.
   2dolist
 
12 - 29.03.18 - 16:07
(1) В общем, попробовал через временные файлы, на этапе удаления пишет, что файл занят другой программой и не может удалить файл. Так он там и остаётся в темпе лежать.

FileAddress = GetTempFileName("pdf");
PrintDocument.Write(FileAddress, SpreadsheetDocumentFileType.PDF);

Message.Attachments.Clear();
Message.Attachments.Add(FileAddress);

Try
Mail.Send(Message);
Except
EndTry;

DeleteFiles(FileAddress);
   Масянька
 
13 - 29.03.18 - 16:39
(12) А что такое PrintDocument?
   FIXXXL
 
14 - 29.03.18 - 16:43
(13) ТабДок
   Масянька
 
15 - 29.03.18 - 16:54
(14) Понятно.
Тогда к (12) - не закрыт файл.
У меня в семерке используется Йоксель (как раз для сохранения в pdf) и Йоксель (после записи файла) очищается.
   2dolist
 
16 - 29.03.18 - 18:18
(15) а как его закрыть?
   2dolist
 
17 - 29.03.18 - 19:22
Не получается победить удаление временного файла
   Cyberhawk
 
18 - 29.03.18 - 19:55
FileMon в помощь


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует