Настройка Регламентного задания для отправки писем

1. user1299931 24.10.19 08:56 Сейчас в теме
Добрый день!
Платформа 8.2(8.2.19.106), Конфигурация УПП 1.3(1.3.87.2), Режим: серверный

Только приступила к изучению 1с, выдали задание на согласование документа, я его сделала.
Теперь от меня требуют настроить отправку писем согласовантам через РегистрыСведений.ОтправкаПисем (в нем храниться почта,тема,текст,дата) с помощью РегламентогоЗадания (каждый день, через 5 минут). Создала РегламентноеЗадание ОтправкаСогласовант и Общий Модуль ОтправкаПисьмаСогласованту.
И еще попросили чтобы после успешной отправки письма согласованту, данные о нем из Регистра Сведений удалялись. Как это можно реализовать?Подскажите что и где нужно программно прописать?
P.S Я не понимаю что именно нужно прописать для запуска моего регл задания и очистки регистра. Заранее спасибо надеюсь на понимание..

// Общий модуль 
Процедура ЗапуститьРегламентноеЗадание() Экспорт

Задание = РегламентныеЗадания.СоздатьРегламентноеЗадание(Метаданные.РегламентныеЗадания.ОтправкаПисьма);
	Задание.Записать();

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

Показать


  // Модуль управляемого приложения
 Процедура ПриНачалеРаботыСистемы()
	 ОтправкаПисьмаСогласованту.ЗапуститьРегламентноеЗадание();
	 ПодключитьОбработчикОжидания("ОбработкаДляОтправки",300)
 КонецПроцедуры
 
 Процедура ОбработкаДляОтправки () Экспорт
	 ВыполнитьОбработкуЗаданий();
КонецПроцедуры

Показать
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
5. VictorRGB2 13 24.10.19 11:38 Сейчас в теме
(3) очищать регистр пот записей, которые не нужны более
например установить признак в регистре - отправлено
и чистить в коне задания все, что оправлено = Истина
чистить можно как через набор записей, так и через менеджер, но лучше через набор - наложили отбор по условию отправлено = Ложь, получили набор записей к оставлению на регистре и записали его, все что отправлено = Истина при этом удалится

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

вам в (2) посоветовали КонсольЗаданий, найдите ее и через нее управляйте заданием и расписанием, там же можно принудительно выполнить задание и увидеть ошибку, если таковая будет
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. AlexandrSmith 69 24.10.19 10:42 Сейчас в теме
(1) Мне кажется не надо мучатся. Создайте просто регламентное задание на каждые 20 сек и запускайте функцию, которая по регистру будет каждые 20 сек смотреть какие письма нуждаются в рассылке. И удалять из регистра отправленные.
2. sapervodichka 6812 24.10.19 09:33 Сейчас в теме
Вы тут совмещаете обработчик ожидания и регламентное задание. 1) Регламентные задания в УПП запускаются через обработку КонсольЗаданий.epf с ИТС, работают в клиент-серверных базах. 2) Обработчики ожидания обычно применяют в файловых базах.

Заведите себе тестовую серверную базу, отключите обработчики ожиданий, раздобудьте обработку консоль заданий, откройте в режиме предприятие, в списке с типовыми будет и ваше регламентное задание, настройки ее расписание и включите использование - так запустите.
3. user1299931 24.10.19 10:09 Сейчас в теме
(2) Что я сделала удалила процедуру ЗапуститьРегЗадание из Общего модуля, вместо этой процедуры вставила пустую ОтправкаПисьма, отключила ОбработчикОжидания, Настроила расписание через консоль заданий (поставила 40с для проверки).
В результате ничего не произошло фоновое задание и регламентное не запустились!

А как быть с удалением данных из РегистраСведений?
Прикрепленные файлы:
5. VictorRGB2 13 24.10.19 11:38 Сейчас в теме
(3) очищать регистр пот записей, которые не нужны более
например установить признак в регистре - отправлено
и чистить в коне задания все, что оправлено = Истина
чистить можно как через набор записей, так и через менеджер, но лучше через набор - наложили отбор по условию отправлено = Ложь, получили набор записей к оставлению на регистре и записали его, все что отправлено = Истина при этом удалится

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

вам в (2) посоветовали КонсольЗаданий, найдите ее и через нее управляйте заданием и расписанием, там же можно принудительно выполнить задание и увидеть ошибку, если таковая будет
6. user1299931 24.10.19 16:52 Сейчас в теме
(5) Спасибо за совет получилось с помощью НабораЗаписей и добавления Отправлено, но у меня есть еще вопрос нужно создавать два Регламентных Задания или все прописать в одном? Так как нужно отправить письмо из регистра и после успешной отправки, потом удалить данные о нём, не будут они мешать друг другу?

Еще Вопрос: у меня в Расписание стоит время 30секунд, но удаление происходит через 60, это сбой в работе или такое бывает из-за загруженности системы.
7. VictorRGB2 13 25.10.19 08:28 Сейчас в теме
(6) если удалять надо сразу после успешной отправки, то лучше выполнять в одном задании
два тоже мешать друг другу не будут, но в одном удобнее
Оставьте свое сообщение

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