|
Отправить печатную форму в PDF формате из 1с 8.3 | ☑ | ||
---|---|---|---|---|
0
e200420
31.05.19
✎
12:14
|
Приветствую! Есть печатная форма. Хочу сделать кнопку ОТПРАВИТЬ. Печатная форма должна в формате пдф попадать как вложение в почтовый клиент по умолчанию. В моем случае это MS Outlook. Кнопка должна выполнять действие подобно виндовой команде ОТПРАВИТЬ, когда держишь левую кнопку мыши. Хелп!
|
|||
1
Fish
31.05.19
✎
12:15
|
В БСП, емнип, что-то подобное есть.
|
|||
2
e200420
03.06.19
✎
16:37
|
Вопрос с отправкой по почте решен очень просто. Даже подпись подтягивается.
Процедура СоздатьПисьмо() Попытка Outlook = Новый COMОбъект("Outlook.Application"); Исключение КонецПопытки; Письмо = Outlook.CreateItem(0); Письмо.Attachments.Add(ПриложенныйФайлPDF); Письмо.Display(); //или, например, Письмо.Send(); КонецПроцедуры Теперь надо как-то открытую ПФ сохранить в pdf, чтоб вложение сделать. |
|||
3
shuhard
03.06.19
✎
16:38
|
(2) дык печать в pdf давно на уровне платформы
|
|||
4
e200420
03.06.19
✎
16:40
|
не хочу использовать виртуальные принтеры и йоксель, есть же стандартные средства типа Сохранить как...
Вопрос только в синтаксисе. Думаю можно как-то потиху сохранить в pdf в указанной заранее место. |
|||
5
mikecool
03.06.19
✎
16:43
|
(4) автор не читатель
|
|||
6
edem911
03.06.19
✎
16:44
|
(0) так в БСП уже давно есть отправка ПФ вложением в письме, для этого нужно настроить почтовый клиент в 1С. Тоже самое касаемо сохранения в PDF - все уже реализовано. Какая конфигурация.
|
|||
7
edem911
03.06.19
✎
16:44
|
(6) Какая конфигурация?
|
|||
8
edem911
03.06.19
✎
16:48
|
(7) да и табдок уже давно умеет сам себя сохранять в нужном формате, даже синтаксис помощник знает.
ТабличныйДокумент (SpreadsheetDocument) Записать (Write) Вариант синтаксиса: В файл Синтаксис: Записать(<ИмяФайла>, <ТипФайлаТаблицы>) Параметры: <ИмяФайла> (обязательный) Тип: Строка. Имя файла, в котором сохраняется табличный документ. <ТипФайлаТаблицы> (необязательный) Тип: ТипФайлаТабличногоДокумента. |
|||
9
Михаил Козлов
03.06.19
✎
16:48
|
ТабличныйДокумент.Записать(<имя файла>, ТипФайлаТабличногоДокумента.PDF) - это что-ли?
|
|||
10
Garykom
гуру
03.06.19
✎
17:13
|
А потом придет генеральный директор со своим MacBook'ом или до веб-клиента (если это УФ) потом дойдете и кто то на кого то будет складывать маты.
|
|||
11
Garykom
гуру
03.06.19
✎
17:13
|
(10) к (2)
|
|||
12
e200420
03.06.19
✎
17:28
|
(10) в точку, вот только это и есть пожелания директора с маком. Но это будет не его работа, а пользователей MS Outlook.
(7) Конфа самописная. Пару справочников и макеты, все это добро из клюшки вызывается и на печать идет. (8) (9) - оба варианта подходят, спасибо за помощь. Но суть в том, что сперва юзеру показывается ПФ, затем он решает отправлять ли это по почте и нажимает кнопку отправить на панели инструментов, и перед его взором предстает свежесозданное письмо в MS Outlook с уже прикрепленным вложением pdf. Остается только выбрать получателя письма. Загвоздка в том, что мне надо обратиться в ПФ как-то. Проще конечно сразу сохранять в pdf при печати, но хотелось бы как в семерке с FormEx - захват таблицы и делай что хочешь с ней. |
|||
13
shuhard
03.06.19
✎
17:47
|
(12)[Загвоздка в том, что мне надо обратиться в ПФ как-то]
ТабличныйДокумент.Записать(<имя файла>, ТипФайлаТабличногоДокумента.PDF) |
|||
14
edem911
03.06.19
✎
17:54
|
(12) так а что мешает добавить на форму кнопку "Отправить" и там же на форме получать табличныйдокумент и сохранять через ТабличныйДокумент.Записать ?
|
|||
15
e200420
03.06.19
✎
18:14
|
(14) ошибку выдает, не знает что такое ТабличныйДокумент
|
|||
16
shuhard
03.06.19
✎
18:21
|
(15) отладчик совсем украли ?
|
|||
17
e200420
03.06.19
✎
18:41
|
(16) он тут не поможет. На 7-ке знаю что сделал бы, а вот с 8-й знаком лишь поверхностно, повозиться надо. Идеи есть, буду думать. основные методы мне подсказали, остальное за мной. Спасибо всем. Как закончу, отпишусь что и как.
|
|||
18
shuhard
03.06.19
✎
18:44
|
(17)[он тут не поможет]
у тебя табличный документ называется "ТабДок", с вероятностью 90% отладчик это ловит за мсек |
|||
19
e200420
03.06.19
✎
20:03
|
(18) нет, Переменная не определена (ТабДок)
|
|||
20
Asmody
03.06.19
✎
20:18
|
(12) [Конфа самописная] - обратись к тому, кто её писал. Он то знает, как у него печатные формы готовятся.
|
|||
21
e200420
04.06.19
✎
10:38
|
Итак, подытожим проделанную работу.
Принцип работы: в 1с 8.3 открыта только печатная форма, больше ничего. В панели инструментов 1с 8.3 есть кнопка ОТПРАВИТЬ. По нажатию получаем открытый MS Outlook с вложением PDF этой самой печатной формы. Для этого на ОТПРАВИТЬ цепляем процедуру из модуля обычного приложения ОтправитьВложениеПочтой(). Перем SpreadsheetDoc Экспорт; Именно SpreadsheetDoc (в моем случае) и есть наша ПФ. Но для хранения ссылки на ПФ необходимо в модуле обычного приложения объявить эту переменную. Процедура ОтправитьВложениеПочтой() Экспорт Попытка Outlook = Новый COMОбъект("Outlook.Application"); Исключение КонецПопытки; ПутьКФайлу = "c:\Temp\temp.pdf"; SpreadsheetDoc.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.PDF); Письмо = Outlook.CreateItem(0); Письмо.Attachments.Add(ПутьКФайлу); Письмо.Display(); УдалитьФайлы(ПутьКФайлу); КонецПроцедуры Всё оказалось просто. |
|||
22
Garykom
гуру
04.06.19
✎
10:48
|
Эта "программиста", вот сюда
Добавь код вывода ошибки и Возврат из процедуры |
|||
23
e200420
04.06.19
✎
11:00
|
(22) это совершенно сырой вариант для примера. Дальше пускай все сами допиливают, кому нужно будет.
Дальше буду добавлять код для работы с другими почтовыми клиентами. Еще через rdp надо как-то пробросить. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |