Отправка писем из ЗУП

1. n_spb 29.03.19 17:36 Сейчас в теме
ЗУП 3.1.8. Как отправлять письма в клиент-серверной базе. Настроена учетная запись электронной почты, проверку настройки проходит успешно. Если создаю исходящие письмо заполняю тему, адрес отправителя нажимаю кнопку отправить письмо исчезает, но до адресата не доходит.
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. N0t_F0und 10 29.03.19 19:08 Сейчас в теме
(1)
до адресата не доходит

Проверяли или предпологаете? Ошибок при отправке нет, значит, при создании всё хорошо и (2) прав, проверьте
user774630; +1
2. Tigreno 29.03.19 18:32 Сейчас в теме
Проверь включено регламентное задание "получение и отправка почты"
+
4. n_spb 01.04.19 10:22 Сейчас в теме
(2) Включил регламентное задание, отправка заработала. Отправились все письма, которые пытался отправить до включения задания, где можно посмотреть очередь писем к отправке?
+
5. Tigreno 01.04.19 16:28 Сейчас в теме
(4) Как такого реестра я не нашел.... как вариант запросом можно посмотреть список документов электронные письма исходящие и там отбирать по статусу письма.
+
6. n_spb 01.04.19 17:11 Сейчас в теме
(5) Возможно сделать чтобы письмо после отправления не сохранялось, как документ исходящие электронное письмо?
+
7. Tigreno 01.04.19 21:00 Сейчас в теме
Можно сделать что бы они удалялись из базы после отправки. Например в процедуре при записи

Если статус письма = отправлено тогда
Объект. Удалить() ;
Отказ =истина;
Конецесли

Но лучше сделать регламентное задание которое будет удалять письма старше Н дней, что бы можно было понимать отправлялись оно или нет
+
8. n_spb 01.04.19 21:47 Сейчас в теме
(7) Как сделать такое задание, чтобы удалялись только письма старше семи дней?
+
9. Tigreno 02.04.19 08:14 Сейчас в теме
(8) Добавляешь в общий модуль процедуру

Процедура УдалениеУстаревшихПисем() Экспорт
	
	ДатаОкончания = ТекущаяДата() - 7 *86400;
	выборка = Документы.ЭлектронноеПисьмоИсходящее.Выбрать(,ДатаОкончания);
	
	Пока выборка.Следующий() Цикл
		ТекущийОбъект = выборка.ПолучитьОбъект();
		ТекущийОбъект.Удалить();
	КонецЦикла; 
		
КонецПроцедуры
Показать


Добавляешь регламентное задание. Указываешь выполнять эту процедуру. Ставишь глаки использовать и предопределенный. Указываешь расписание.

Обновляешь и радуешься
+
10. n_spb 02.04.19 09:53 Сейчас в теме
(9) Конфигурация на замке, как добавить регламентное задание?
+
11. Tigreno 02.04.19 09:59 Сейчас в теме
12. n_spb 02.04.19 10:14 Сейчас в теме
(11) В расширении не получается добавить регламентное задание.
Прикрепленные файлы:
+
13. Tigreno 02.04.19 12:28 Сейчас в теме
Хорошо.... Тогда повесь на другое регламентное задание. Например загрузка курсов валют. Найди процедуру которая выполняется и расширением добавь свой кусок после нее
+
14. n_spb 02.04.19 15:03 Сейчас в теме
(13) По удалению подскажите
ТекущийОбъект.Удалить();
Это непосредственное удаление? Нужно предварительно делать поиск ссылок на объект?
+
15. Tigreno 02.04.19 19:48 Сейчас в теме
(14) А какие у тебя могут быть ссылки на письма??? В ЗУПе?
+
16. n_spb 02.04.19 21:54 Сейчас в теме
(15) Если бы знал, то не спрашивал :).
+
17. Tigreno 02.04.19 23:00 Сейчас в теме
(16) Я тоже не могу представить себе какие документы можно вводить.

Кстати письма будут содержать вложения. Если да то ещё надо чистить справочник электронныеписьмаИсходящиеприсоединенныеФайлы
+
18. n_spb 03.04.19 11:03 Сейчас в теме
(17) Присоединенные фалы есть практически в каждом исходящем письме.
+
19. Tigreno 03.04.19 14:41 Сейчас в теме
тогда добавляем

Запрос = Новый Запрос;
Запрос.Текст =
	"ВЫБРАТЬ
	|	ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы.Ссылка
	|ИЗ
	|	Справочник.ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы КАК ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы
	|ГДЕ
	|	ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы.ДатаСоздания < &ДатаСоздания";

Запрос.УстановитьПараметр("ДатаСоздания", ДатаОкончания);

РезультатЗапроса = Запрос.Выполнить().Выбрать();

Пока РезультатЗапроса.Следующий() цикл
	ТекущийОбъект = РезультатЗапроса.Ссылка.ПолучитьОбъект();
	ТекущийОбъект.Удалить();
КонецЦикла;
Показать
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот