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

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С
Санкт-Петербург
зарплата от 60 000 руб. до 120 000 руб.
Полный день

Архитектор НСИ
Москва
зарплата от 250 000 руб. до 300 000 руб.
Полный день

Аналитик 1С
Санкт-Петербург
зарплата до 150 000 руб.
Полный день

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

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