Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
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) |
| ===== Готовій метод ===== | ===== Готовій метод ===== | ||
| < | < | ||
| РаботаСоСделками.ОтправитьСчетНаПочту(ЭтотОбъект.Ссылка); | РаботаСоСделками.ОтправитьСчетНаПочту(ЭтотОбъект.Ссылка); | ||
| </ | </ | ||
| - | ===== Сам код ===== | + | ===== Сам код |
| < | < | ||
| + | Процедура ОтправитьСчетНаПочту(Сделка) Экспорт | ||
| + | |||
| + | МассивПечати = Новый Массив; | ||
| + | |||
| + | //1 ищем по документу-основанию | ||
| + | Запрос = Новый Запрос; | ||
| + | Запрос.Текст = | ||
| + | " | ||
| + | | ЗаказКлиента.Ссылка | ||
| + | |ИЗ | ||
| + | | Документ.ЗаказКлиента КАК ЗаказКлиента | ||
| + | |ГДЕ | ||
| + | | ЗаказКлиента.Сделка = & | ||
| + | | И ЗаказКлиента.Проведен | ||
| + | | И ЗаказКлиента.ЭтоСчет"; | ||
| + | |||
| + | Запрос.УстановитьПараметр(" | ||
| + | РезультатЗапроса = Запрос.Выполнить(); | ||
| + | ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); | ||
| + | Пока ВыборкаДетальныеЗаписи.Следующий() Цикл | ||
| + | МассивПечати.Добавить(ВыборкаДетальныеЗаписи.Ссылка); | ||
| + | КонецЦикла; | ||
| + | |||
| + | |||
| + | //2. Ищем по структуре подчиненности (т.к. в ЗаказКлиента.Сделка может біть упрзаказ клиента а не заказ с сайта | ||
| + | Если МассивПечати.Количество()=0 Тогда | ||
| + | Запрос = Новый Запрос; | ||
| + | Запрос.Текст = | ||
| + | " | ||
| + | | СвязанныеДокументы.Ссылка | ||
| + | |ИЗ | ||
| + | | КритерийОтбора.СвязанныеДокументы(& | ||
| + | |ГДЕ | ||
| + | | СвязанныеДокументы.Ссылка.Проведен | ||
| + | | И СвязанныеДокументы.Ссылка.ЭтоСчет"; | ||
| + | |||
| + | Запрос.УстановитьПараметр(" | ||
| + | |||
| + | РезультатЗапроса = Запрос.Выполнить(); | ||
| + | |||
| + | ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); | ||
| + | |||
| + | Пока ВыборкаДетальныеЗаписи.Следующий() Цикл | ||
| + | МассивПечати.Добавить(ВыборкаДетальныеЗаписи.Ссылка); | ||
| + | КонецЦикла; | ||
| + | КонецЕсли; | ||
| + | |||
| + | |||
| + | |||
| + | //3. Отправка на Емаил | ||
| + | Если МассивПечати.Количество()> | ||
| + | СтруктураТипов = Новый Соответствие; | ||
| + | СтруктураТипов.Вставить(" | ||
| + | ПараметрыПечати = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода(); | ||
| + | ОбъектыПечати = Новый СписокЗначений; | ||
| + | ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода(); | ||
| + | |||
| + | ТабДокумент = Обработки.ПечатьСчетовНаОплату.СформироватьПечатнуюФормуСчетНаОплату(СтруктураТипов, | ||
| + | |||
| + | ИмяФайла = КаталогВременныхФайлов() + " | ||
| + | ТабДокумент.Записать(ИмяФайла, | ||
| + | Данные = Новый ДвоичныеДанные(ИмяФайла); | ||
| + | |||
| + | Результат = ОтправитьТабличныйДокументЭлектроннойПочтойКакPDF(РегистрыСведений.РегистрКонстант.ПолучитьЗначениеКонстанты(" | ||
| + | Сделка._ЕмайлДляСчета, | ||
| + | "", | ||
| + | РегистрыСведений.РегистрКонстант.ПолучитьЗначениеКонстанты(" | ||
| + | Данные, | ||
| + | МассивПечати[0]); | ||
| + | |||
| + | // | ||
| + | // | ||
| + | //"", | ||
| + | // | ||
| + | // | ||
| + | |||
| + | Иначе | ||
| + | ЗаписьЖурналаРегистрации(" | ||
| + | КонецЕсли; | ||
| + | |||
| + | КонецПроцедуры | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | |||
| Функция ОтправитьТабличныйДокументЭлектроннойПочтойКакPDF(УчетнаяЗаписьПочтыОтправителя, | Функция ОтправитьТабличныйДокументЭлектроннойПочтойКакPDF(УчетнаяЗаписьПочтыОтправителя, | ||