04.5.03 amoCRM Выбор ответственного пользователя.
Этот узел позволяет выбрать одного пользователя из списка, добавленного в аккаунт, используемый для интеграции. Выбор производится с учетом веса (шанса) каждого пользователя. Кроме того, узел возвращает общий список пользователей, отсортированный по убыванию их шансов выбора.
- Если значение веса (шанса) не указано для пользователя, то он пропускается.
- Возможные значения для указания варьируются от 1 до 100, что упрощает понимание, пред ставляя собой условный процент.
Работа узла основана на сумме весов (шансов) пользователей из списка, которая сравнивается с весом конкретного пользователя. Если вес пользователя соответствует заданным параметрам, он возвращается в качестве выбранного. Вес (шанс) влияет на вероятность выбора данного пользователя по сравнению с другими. В то же время, другие пользователи с более низкими шансами остаются потенциально возможными объектами для выбора, в зависимости от их собственных шансов.
У нас есть список пользователей, каждый с определенным шансом выпадения. В данном случае сумма шансов может превышать 100, так как значения интерполируются. Внутри узла функция выбирает случайный шанс от 0
до максимального значения (max
), где max
- это сумма всех шансов пользователей в списке. Далее узел перебирает коллекцию пользователей и проверяет, попадает ли выбранный шанс в определенный интервал:
накопленный_шанс; накопленный_шанс + текущий_шанс
Если это условие выполняется, узел возвращает текущего пользователя из цикла; в противном случае, к накопленному шансу добавляется шанс текущего пользователя.
Пример списка:
user@one.com
с установленным весом:70
;
user@two.com
с установленным весом:25
user@three.com
с установленным весом:25
user@four.com
с установленным весом:10
Предположим, выпал шанс 100
. Сумма всех шансов пользователей равна 130
.
Перебор по шагам внутри узла: