|
вложить табличную часть во вложение письма |
☑ |
0
stive_kalman
21.03.23
✎
16:42
|
Добрый день, есть обработка сравнивающая документы между базами. Мне нужно табличную часть отправлять по почте определенному человеку в формате XLSX.
ПолеТабДок - как раз и есть наша табличная часть
Я конечно могу сохранить ПолеТабДок.Записать("\\server\Admin\Доработки\Отчеты по сравнению документов\" + объект.ФильтрПоОрг +".XLSX", ТипФайлаТабличногоДокумента.XLSX);
И потом второй функцией отправлять уже сформированные документы, но возможно есть способ решить мою проблему?
Я писал такой код
ПараметрыПисьма = Новый Структура;
АдресаЭП="-------";
Тема="Регл.задание: Отчет";
ПараметрыПисьма.Вставить("Кому",АдресаЭП);
ПараметрыПисьма.Вставить("Тема",Тема);
ПараметрыПисьма.Вставить("ТипТекста", Перечисления.ТипыТекстовЭлектронныхПисем.ПростойТекст);
ПараметрыПисьма.Вставить("Тело",ПолеТабДок);
ПодготовленноеПисьмо = РаботаСПочтовымиСообщениями.ПодготовитьПисьмо(СистемнаяУчетнаяЗапись, ПараметрыПисьма);
Попытка
РезультатОтправкиПисьма = РаботаСПочтовымиСообщениями.ОтправитьПисьмо(СистемнаяУчетнаяЗапись, ПодготовленноеПисьмо);
Исключение
Сообщить("ошибка");
КонецПопытки;
|
|
1
Волшебник
21.03.23
✎
16:45
|
Ваш способ хороший
Я конечно могу сохранить ПолеТабДок.Записать("\\server\Admin\Доработки\Отчеты по сравнению документов\" + объект.ФильтрПоОрг +".XLSX", ТипФайлаТабличногоДокумента.XLSX);
И потом второй функцией отправлять уже сформированные документы
|
|
2
p-soft
21.03.23
✎
16:46
|
(1) там другое, из оперы: "мам, а можно я не буду учить уроки, а просто книжку под голову положу - оно и само зайдет"))
|
|
3
Asmody
21.03.23
✎
16:47
|
(0) смущает создание временного файла?
запиши ТабДок в ДвоичныеДанные через ПотокВПамяти, а потом добавь ДД во вложения письма
|
|
4
p-soft
21.03.23
✎
16:48
|
(2) данные все равно придется преобразовывать для сравнения.
передать можно и в виде двоичного файла
|
|
5
Мультук
21.03.23
✎
16:49
|
(2)
В конце этой истории обычно появляется папа с ремнём/декан с военкомом и т.п.
(3)
Я думаю, тут вариант "помогите христа ради"(с).
|
|
6
Asmody
21.03.23
✎
16:49
|
(4) чевоа?
|
|
7
p-soft
21.03.23
✎
16:50
|
(6) как задача поставлена так и "тавоа")
|
|
8
Asmody
21.03.23
✎
16:55
|
(7) В (0) вообще-то, задача одна: прикрепить таб.док в формате XLSX к письму, без создания временного файла.
Всё остальное - прелюдия, не имеющая к задаче отношения.
|
|
9
p-soft
21.03.23
✎
16:59
|
(8) ага. а я один этого в тексте задачи не вижу? ну то что там надо избежать сохранения данных в файл?
|
|
10
lodger
21.03.23
✎
17:18
|
(8) почему вы так решили?
по коду из (0) пациент пытается вывести ТЧ в тело письма, то есть прямо в тексте письма нужна талдычка для посмотреть глазками.
вместо строчки ПараметрыПисьма.Вставить("Тело",ПолеТабДок);
надо написать такое
ПараметрыПисьма.Вставить("Тело",HTMLизТЧДокумента(ПолеТабДок));
потом рядом пишем свою уберфичу:
функция HTMLизТЧДокумента(ТЧдокумента)
ТекстHTML = Новый ТекстовыйДокумент;
\\\
...
\\\
возврат ТекстHTML.ПолучитьТекст();
конецфункции
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший