otpravka_pechatnoj_formi_na_pochtu_email

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
otpravka_pechatnoj_formi_na_pochtu_email [2024/12/19 11:33]
tro
otpravka_pechatnoj_formi_na_pochtu_email [2024/12/19 11:36] (текущий)
tro
Строка 1: Строка 1:
-====== Отправка печатной форми на почту (eMail) ======+====== Отправка печатной форми на почту (eMail) с вложением и регистрацией исходящего письма в док.ПисьмаИсходящие======
 ===== Готовій метод ===== ===== Готовій метод =====
 <code> <code>
 РаботаСоСделками.ОтправитьСчетНаПочту(ЭтотОбъект.Ссылка); РаботаСоСделками.ОтправитьСчетНаПочту(ЭтотОбъект.Ссылка);
 </code> </code>
-===== Сам код =====+===== Сам код (с вложением)=====
 <code> <code>
 +Процедура ОтправитьСчетНаПочту(Сделка) Экспорт
 +
 + МассивПечати = Новый Массив;
 +
 + //1 ищем по документу-основанию
 + Запрос = Новый Запрос;
 + Запрос.Текст = 
 + "ВЫБРАТЬ
 + | ЗаказКлиента.Ссылка
 + |ИЗ
 + | Документ.ЗаказКлиента КАК ЗаказКлиента
 + |ГДЕ
 + | ЗаказКлиента.Сделка = &ДокументОснование
 + | И ЗаказКлиента.Проведен
 + | И ЗаказКлиента.ЭтоСчет";
 +
 + Запрос.УстановитьПараметр("ДокументОснование", Сделка);
 + РезультатЗапроса = Запрос.Выполнить();
 + ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
 + Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
 + МассивПечати.Добавить(ВыборкаДетальныеЗаписи.Ссылка);
 + КонецЦикла;
 +
 +
 + //2. Ищем по структуре подчиненности (т.к. в ЗаказКлиента.Сделка может біть упрзаказ клиента а не заказ с сайта
 + Если МассивПечати.Количество()=0 Тогда 
 + Запрос = Новый Запрос;
 + Запрос.Текст = 
 + "ВЫБРАТЬ
 + | СвязанныеДокументы.Ссылка
 + |ИЗ
 + | КритерийОтбора.СвязанныеДокументы(&ДокументОснование) КАК СвязанныеДокументы
 + |ГДЕ
 + | СвязанныеДокументы.Ссылка.Проведен
 + | И СвязанныеДокументы.Ссылка.ЭтоСчет";
 +
 + Запрос.УстановитьПараметр("ДокументОснование", Сделка);
 +
 + РезультатЗапроса = Запрос.Выполнить();
 +
 + ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
 +
 + Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
 + МассивПечати.Добавить(ВыборкаДетальныеЗаписи.Ссылка);
 + КонецЦикла;
 + КонецЕсли;
 +
 +
 +
 + //3. Отправка на Емаил
 + Если МассивПечати.Количество()>0 Тогда
 + СтруктураТипов = Новый Соответствие;
 + СтруктураТипов.Вставить("Документ.ЗаказКлиента", МассивПечати);
 + ПараметрыПечати = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();
 + ОбъектыПечати = Новый СписокЗначений;
 + ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();
 +
 + ТабДокумент = Обработки.ПечатьСчетовНаОплату.СформироватьПечатнуюФормуСчетНаОплату(СтруктураТипов, ОбъектыПечати, ПараметрыПечати, ПараметрыВывода);
 +
 + ИмяФайла = КаталогВременныхФайлов() + "bill.pdf";
 + ТабДокумент.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF);
 + Данные = Новый ДвоичныеДанные(ИмяФайла);
 +
 + Результат = ОтправитьТабличныйДокументЭлектроннойПочтойКакPDF(РегистрыСведений.РегистрКонстант.ПолучитьЗначениеКонстанты("Учетная запись для отправки письма"),
 + Сделка._ЕмайлДляСчета,
 + "",
 + РегистрыСведений.РегистрКонстант.ПолучитьЗначениеКонстанты("Тема письма со счетом"),
 + Данные,
 + МассивПечати[0]);
 +
 + //Результат = ОтправитьТабличныйДокументЭлектроннойПочтойКакPDF_олд(РегистрыСведений.РегистрКонстант.ПолучитьЗначениеКонстанты("Учетная запись для отправки письма"),
 + //Сделка._ЕмайлДляСчета,
 + //"",
 + //РегистрыСведений.РегистрКонстант.ПолучитьЗначениеКонстанты("Тема письма со счетом"),
 + //Данные); 
 +
 + Иначе 
 + ЗаписьЖурналаРегистрации("Отправка письма счетов", УровеньЖурналаРегистрации.Ошибка,Сделка.Метаданные(),Сделка,"Ошибка отправки письма с авто-счетом по заказу "+Сделка+" т.к. не обнаружено созданных счетов");
 + КонецЕсли;
 +
 +КонецПроцедуры
 +</code>
 +
 +<code>
 +
 Функция ОтправитьТабличныйДокументЭлектроннойПочтойКакPDF(УчетнаяЗаписьПочтыОтправителя, ПочтаПолучателя, ТекстПисьма, ТемаПисьма, АдресТабличногоДокументаВоВременномХранилище, ДокументОснование=Неопределено) Функция ОтправитьТабличныйДокументЭлектроннойПочтойКакPDF(УчетнаяЗаписьПочтыОтправителя, ПочтаПолучателя, ТекстПисьма, ТемаПисьма, АдресТабличногоДокументаВоВременномХранилище, ДокументОснование=Неопределено)
   
  • /sites/data/attic/otpravka_pechatnoj_formi_na_pochtu_email.1734608038.txt.gz
  • Последнее изменение: 2024/12/19 11:33
  • tro