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

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

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

```1c
    Для н = 1 По КоличествоПисем Цикл
    НомерМенеджера = н%ЧислоМенеджеров; //% - возвращает целый остаток от деления
    Менеджер = МассивМенеджеров[НомерМенеджера-1];
    КонецЦикла;
```
---
У вас же не тысячи менеджеров?) Может создавать отдельный РС и нет смысла?. Можно, например, у самого менеджера добавить реквизиты: "Дата получения последнего e-mail" и "Доступен для получения e-mail" (можно в качестве дополнительных реквизитов, если не хотите добавлять в расширение свои объекты). Соответственно, запросом выбираем всех менеджеров, доступных для получения писем, сортируем их по дате и в этой последовательности распределяем новые письма). Если количество писем для распределения больше числа менеджеров, используем алгоритм:

```1c
    Для н = 1 По КоличествоПисем Цикл
    НомерМенеджера = н%ЧислоМенеджеров; //% - возвращает целый остаток от деления
    Менеджер = МассивМенеджеров[НомерМенеджера-1];
    КонецЦикла;
```
---
воспользовалась Вашей мыслью, только запросом я выбираю не всех менеджеров, а ВЫБРАТЬ ПЕРВЫЕ 1 самой ранней датой, при отправке письма менеджеру дата перезаписывается на текущую. Все работает
---
Если я правильно понимаю условия задачи, то (универсальный вариант, потому как могут сказать, чтобы распределять не с одного, а с нескольких адресов):

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

Алгоритм:

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

Легче некуда.