Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
15 дек 2024, 21:36

Печать и подписи на документах

Автор pole, 19 авг 2014, 17:41

0 Пользователей и 1 гость просматривают эту тему.

pole

Добрый день всем. Подскажите пож-та как вставить печать компании и подписи в счет и акт? чтобы постоянно не сканировать, а напрямую из 1с отправлять на электронный адрес клиентам с печью и подписями?

LexaK

в макет табличного документа можно вставить картинку,
сканируете документ, акуратненько вырезаете печать с подписью, вставляете в макет,
при печати получаете и выводите данную область макета в табличный документ.

если несколько подписантов, то под каждого заводите свою область с подписью и печатью,
при выводе документа анализируете фамилию подписывающего и выодите "его" область с его подписью.

при определенных настройках печть табличного документа можно сохранять в файд ПДФ,
его и отправлять по почте.
если помогло нажмите: Спасибо!

Igor100500

Цитата: LexaK от 19 авг 2014, 18:19
в макет табличного документа можно вставить картинку,
сканируете документ, акуратненько вырезаете печать с подписью, вставляете в макет,
при печати получаете и выводите данную область макета в табличный документ.

если несколько подписантов, то под каждого заводите свою область с подписью и печатью,
при выводе документа анализируете фамилию подписывающего и выодите "его" область с его подписью.

при определенных настройках печть табличного документа можно сохранять в файд ПДФ,
его и отправлять по почте.

Вот у меня ситуация такая:
1. при нажатии на кнопку печать - формируются счета, акты, претензии. (есть запрос, который подставляет печать и подпись в зависимости от выбранной организации). Все выводит, печатает.
2. Реализовываю возможность отправлять эти документы по эл. почте:
а. Сначала эти документы сохраняются в формате пдф, но они без печатей и подписей(Что нужно дописать, чтобы они сохранялись с ними?)
б. Ну и отправка без проблем работает.

has

Цитата: Igor100500 от 13 янв 2017, 09:41Сначала эти документы сохраняются в формате пдф, но они без печатей и подписей(Что нужно дописать, чтобы они сохранялись с ними?)
т.е. табличный документ на экран выводится с печатями, а в пдф сохраняется без них?

Igor100500

Цитата: has от 13 янв 2017, 11:27
Цитата: Igor100500 от 13 янв 2017, 09:41Сначала эти документы сохраняются в формате пдф, но они без печатей и подписей(Что нужно дописать, чтобы они сохранялись с ними?)
т.е. табличный документ на экран выводится с печатями, а в пдф сохраняется без них?
Да

has

а сохраняете как табличный документ в пдф?

Igor100500

Цитата: has от 13 янв 2017, 11:55
а сохраняете как табличный документ в пдф?
Да.
вот код
Процедура СоздатьФайл()

// Вставить содержимое обработчика.
Для каждого й из Объект.Документы Цикл

Если Не ЗначениеЗаполнено(й.ЭлектроннаяПочтаКонтрагента) Тогда

Продолжить;

КонецЕсли;

МассивНакладных = Новый Массив;
МассивНакладных.Добавить(й.Документ);
ОбъектыПечати = Новый СписокЗначений;

ТабДок = ПечатьАктов(МассивНакладных, ОбъектыПечати, ИСТИНА, Истина);

ИмяФайла = "/home/ExchangeLocal/Акт выполненных работ.PDF";
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF);

Если ЗначениеЗаполнено(й.Счет) Тогда
МассивНакладных = Новый Массив;
МассивНакладных.Добавить(й.Счет);
ТабСчет = ПечатьСчетов(МассивНакладных, ОбъектыПечати);

ИмяФайла1 = "/home/ExchangeLocal/Счет на оплату.PDF";
ТабСчет.Записать(ИмяФайла1, ТипФайлаТабличногоДокумента.PDF);
ИначеЕсли ЗначениеЗаполнено(й.СчетФактура) Тогда
МассивНакладных = Новый Массив;
МассивНакладных.Добавить(й.СчетФактура);
ТабСчет = ПечатьСчетовФактур(МассивНакладных, ОбъектыПечати);

ИмяФайла2 = "/home/ExchangeLocal/Счет-фактура.PDF";
ТабСчет.Записать(ИмяФайла2, ТипФайлаТабличногоДокумента.PDF);
КонецЕсли;

Если ЗначениеЗаполнено(й.Претензия) Тогда
МассивНакладных = Новый Массив;
МассивНакладных.Добавить(й.Претензия);
ТабПретензия = ПечатьПретензий(МассивНакладных, ОбъектыПечати);

ИмяФайла3 = "/home/ExchangeLocal/Претензия.PDF";
ТабПретензия.Записать(ИмяФайла3, ТипФайлаТабличногоДокумента.PDF);
КонецЕсли;


КонецЦикла;

УстановитьСоединение(ИмяФайла,ИмяФайла1,ИмяФайла2,ИмяФайла3);


КонецПроцедуры

//Отправкапоимейлу
Процедура УстановитьСоединение(ИмяФайла,ИмяФайла1,ИмяФайла2,ИмяФайла3)   
    Профиль = Новый ИнтернетПочтовыйПрофиль;
    Профиль.АдресСервераSMTP = "smtp.mail.ru";
    Профиль.АдресСервераPOP3 = "pop.mail.ru";
    Профиль.ПортPOP3 = 995;
    Профиль.ПортSMTP = 465;
    Профиль.Пользователь = "123@mail.ru";
    Профиль.Пароль = "123456";
    Профиль.ПользовательSMTP = "123@mail.ru";
    Профиль.ПарольSMTP = "123456";
    Профиль.АутентификацияSMTP = СпособSMTPАутентификации.Login;
Профиль.ИспользоватьSSLPOP3 = Истина;
Профиль.ИспользоватьSSLSMTP = Истина;   
    Почта = Новый ИнтернетПочта;
   
   // Создадим почтовое сообщение
   Для каждого й из объект.Документы Цикл
    Письмо = Новый ИнтернетПочтовоеСообщение;

    Текст = Письмо.Вложения.Добавить(ИмяФайла);
Текст = Письмо.Вложения.Добавить(ИмяФайла1);
Попытка
Исключение Текст = Письмо.Вложения.Добавить(ИмяФайла2);
КонецПопытки;
Текст = Письмо.Вложения.Добавить(ИмяФайла3);

//    Текст.ИмяФайла = ТипФайлаТабличногоДокумента.PDF;
//Письмо.Тема = "Тест";
Письмо.Тема = й.Документ;
    Письмо.Отправитель = "123@mail.ru";
    Письмо.ИмяОтправителя = объект.Организация;
Письмо.Получатели.Добавить(й.ЭлектроннаяПочтаКонтрагента);
   
//Письмо.Получатели.Добавить("123@list.ru");
   
    Попытка
        Почта.Подключиться(Профиль);
        Сообщить("Подключенено");
        Почта.Послать(Письмо);
        Сообщить("Письма отправлены");
    Исключение
        Сообщить("Не удалось подключиться к серверу");
        Сообщить(ОписаниеОшибки());
    КонецПопытки;
   
    Почта.Отключиться();
    Сообщить("Соединение завершено");
КонецЦикла;
КонецПроцедуры

has

Попробуйте через временный файл может быть. Не видя базы, сложно скзазать

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

Igor100500

Цитата: has от 13 янв 2017, 12:15
Попробуйте через временный файл может быть. Не видя базы, сложно скзазать

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

Не, не катит, разницы нет.

Kironten

А точно вы именно с печатями табдок записываете?
Проверьте на всякий случай:
ТабДок = ПечатьАктов(МассивНакладных, ОбъектыПечати, ИСТИНА, Истина);
ТабДок.Показать();

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск