Программное распределение входящих писем от определенного адресата (УТ 11.4)

1. vanessa 5 03.10.19 15:18 Сейчас в теме
Друзья,
поступила задача распределять входящие письма с определенного email на email менеджеров по очереди, то есть 1-ое письмо - 1-ы менеджер, 2- ое письмо - 2-ой менеджер, 3- е письмо - 3-й менеджер, когда всем менеджерам отправлено по 1 письму, цикл повторяется.
Реализовывать будут в расширении, думала создать РС периодический, по адресу отправителя ловить письмо, обращаться к РС и получать очередного менеджера и отправлять письмо. Все email заведены в УТ для отправки и получения писем.

Возникли сложности в разработке логики получения менеджера, которому нужно отправить очередное письмо. Думала получать менеджеров по датам отправления, получать первую и отправлять ему, а если он в отпуске или болеет? Или в регистре сделать ресурс с количеством отправленных писем и получать того менеджера, кому меньше всего было отправлено писем?

Возможно у Вас был похожий опыт? Или возможно сможете натолкнуть меня на мысль своими идеями. Уже пару дней туплю с этим вопросом. Буду рада подискутировать!)
Найденные решения
2. RocKeR_13 1325 03.10.19 17:40 Сейчас в теме
(1) У вас же не тысячи менеджеров?) Может создавать отдельный РС и нет смысла?. Можно, например, у самого менеджера добавить реквизиты: "Дата получения последнего e-mail" и "Доступен для получения e-mail" (можно в качестве дополнительных реквизитов, если не хотите добавлять в расширение свои объекты). Соответственно, запросом выбираем всех менеджеров, доступных для получения писем, сортируем их по дате и в этой последовательности распределяем новые письма). Если количество писем для распределения больше числа менеджеров, используем алгоритм:

Для н = 1 По КоличествоПисем Цикл
      НомерМенеджера = н%ЧислоМенеджеров; //% - возвращает целый остаток от деления
      Менеджер = МассивМенеджеров[НомерМенеджера-1];
КонецЦикла;

Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RocKeR_13 1325 03.10.19 17:40 Сейчас в теме
(1) У вас же не тысячи менеджеров?) Может создавать отдельный РС и нет смысла?. Можно, например, у самого менеджера добавить реквизиты: "Дата получения последнего e-mail" и "Доступен для получения e-mail" (можно в качестве дополнительных реквизитов, если не хотите добавлять в расширение свои объекты). Соответственно, запросом выбираем всех менеджеров, доступных для получения писем, сортируем их по дате и в этой последовательности распределяем новые письма). Если количество писем для распределения больше числа менеджеров, используем алгоритм:

Для н = 1 По КоличествоПисем Цикл
      НомерМенеджера = н%ЧислоМенеджеров; //% - возвращает целый остаток от деления
      Менеджер = МассивМенеджеров[НомерМенеджера-1];
КонецЦикла;

4. vanessa 5 28.10.19 12:01 Сейчас в теме
(2)воспользовалась Вашей мыслью, только запросом я выбираю не всех менеджеров, а ВЫБРАТЬ ПЕРВЫЕ 1 самой ранней датой, при отправке письма менеджеру дата перезаписывается на текущую. Все работает
3. ex3mall 2 03.10.19 20:53 Сейчас в теме
Если я правильно понимаю условия задачи, то (универсальный вариант, потому как могут сказать, чтобы распределять не с одного, а с нескольких адресов):

1. Нужно создать список e-mail, с которых нужно распределять письма.
1. Пронумеровать менеджеров (от 1 до последнего)
2. Заведите регистр сведений (непериодический, с независимой записью), Измерение - e-mail, ресурс - номер менеджера.

Алгоритм:

1. Получаем письмо.
2. Проверяем адрес отправителя на принадлежность списку распределения по менеджерам.
3. Если адрес в списке - лезем в регистр по этому адресу, смотрим номер менеджера, прибавляем 1, сохраняем в регистре.
(Естественно, если "+1" дало превышение количества менеджеров, то сбрасываем в 1).
4. Отправляем менеджеру с вычисленным номером письмо.

Легче некуда.
Оставьте свое сообщение

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