Имя: Пароль:
1C
 
вложить табличную часть во вложение письма
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.ПолучитьТекст();
конецфункции
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.