Обработка события записи документов - электронных писем

1. 24.11.21 15:58 Сейчас в теме
Доброго времени суток, уважаемые форумчане!

Продолжаю тему, начатую в https://forum.infostart.ru/forum9/topic271229/
Передо мной была поставлена задача разработать в типовой конфигурации УТ11 документ вида "ВходящееОбращение". Создаваться эти документы должны автоматически при создании входящих электронных писем.
Кроме того, к этим документам должны быть прикреплены объекты справочника - присоединенные файлы.
Сначала я решил задачу таким образом:
Добавил в конфигурацию подписку на событие "ПередЗаписью" документа типовой конфигурации "ЭлектронноеПисьмоВходящее".
В процедуре обработки подписки вызывается разработанная функция по созданию документа - входящего обращения.
Также добавлена подписка на событие "ПриЗаписи" элемента справочника "ЭлектронноеПисьмоВходящееПрисоединенныеФайлы", в которой вызывается функция, отыскивающая соответствующее письму-владельцу присоединенного файла документ входящего обращения и прикрепляющая к входящему обращению копию присоединенного файла.
Создание входящих электронных писем происходит при выполнении регламентного задания, поэтому все эти процедуры выполняются в фоновом режиме.
Этот алгоритм безотказно работал, пока в базе не начали использовать синхронизацию с Бухгалтерией по планам обмена.
Если запущена синхронизация (вручную), и при этом выполняется регламентное задание по получению и отправке электронных писем, то 1С сначала зависает, потом обработка, в которой запущена синхронизация, вылетает с сообщением об ошибке блокировки.
Когда эти подписки на события удаляются, синхронизация начинает отрабатывать без ошибок.

После консультации на Форуме я изменил алгоритм.
Оставил подписку на событие "ПередЗаписью" документа типовой конфигурации "ЭлектронноеПисьмоВходящее".
В процедуре обработки подписки запускается новое фоновое задание, в котором выполняется разработанная функция по созданию документа - входящего обращения. В качестве параметра-аргумента эта функция получает структуру, содержащую необходимые для создания входящего обращения данные входящего электронного письма.
Таким же образом работает подписка на событие "ПриЗаписи" элемента справочника "ЭлектронноеПисьмоВходящееПрисоединенныеФайлы" - запускается новое фоновое задание, в котором отыскивается соответствующее письму-владельцу присоединенного файла документ входящего обращения и прикрепляется к входящему обращению копия присоединенного файла.
Таким образом, создание входящего обращения и присоединенных файлов выведено в отдельные транзакции, выполняемые в фоновых процессах.
Пока работает без конфликтов.
Смущает то, что все эти выполненные фоновые задания с нулевой длительностью отображаются в списке фоновых заданий, вызываемом из "НСИ и Администрирование - Обслуживание - Регламентные и фоновые задания" и попадают в журнал регистрации, дополнительно увеличивая его размер.

Подскажите, пожалуйста, насколько такое решение приемлемо?
Найденные решения
2. zelenii 24.11.21 17:06 Сейчас в теме
Ты молодец. Сделал все и у тебя все работает. Что может быть еще лучшим чем успех? Ясно любому - ничего. А журнал пусть пишет. Ничего страшного в таком событии нет.
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. zelenii 24.11.21 17:06 Сейчас в теме
Ты молодец. Сделал все и у тебя все работает. Что может быть еще лучшим чем успех? Ясно любому - ничего. А журнал пусть пишет. Ничего страшного в таком событии нет.
3. Ivan_Stepnov 25.11.21 14:30 Сейчас в теме
(2) zeleni, спасибо за теплые слова, Вы меня ободрили. А то сисадмин меня все время достает: "Почему столько фоновых заданий в списке? Сделай, чтобы их не было!"
Оставьте свое сообщение
Вопросы с вознаграждением
Вакансии
Программист 1С
Ижевск
зарплата от 120 000 руб. до 160 000 руб.
Временный (на проект)

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Разработчик 1С
Москва
зарплата от 150 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 150 000 руб.
Полный день

Преподаватель 1С
Санкт-Петербург
зарплата от 100 000 руб. до 120 000 руб.
Временный (на проект)