Перейти к основному содержимому

04.5.03 amoCRM Выбор ответственного пользователя.

Этот узел позволяет выбрать одного пользователя из списка, добавленного в аккаунт, используемый для интеграции. Выбор производится с учетом веса (шанса) каждого пользователя. Кроме того, узел возвращает общий список пользователей, отсортированный по убыванию их шансов выбора.

  • Если значение веса (шанса) не указано для пользователя, то он пропускается.
  • Возможные значения для указания варьируются от 1 до 100, что упрощает понимание, представляя собой условный процент.

Работа узла основана на сумме весов (шансов) пользователей из списка, которая сравнивается с весом конкретного пользователя. Если вес пользователя соответствует заданным параметрам, он возвращается в качестве выбранного. Вес (шанс) влияет на вероятность выбора данного пользователя по сравнению с другими. В то же время, другие пользователи с более низкими шансами остаются потенциально возможными объектами для выбора, в зависимости от их собственных шансов.

Подробный разбор логики:

У нас есть список пользователей, каждый с определенным шансом выпадения. В данном случае сумма шансов может превышать 100, так как значения интерполируются. Внутри узла функция выбирает случайный шанс от 0 до максимального значения (max), где max - это сумма всех шансов пользователей в списке. Далее узел перебирает коллекцию пользователей и проверяет, попадает ли выбранный шанс в определенный интервал:

накопленный_шанс; накопленный_шанс + текущий_шанс

Если это условие выполняется, узел возвращает текущего пользователя из цикла; в противном случае, к накопленному шансу добавляется шанс текущего пользователя.

Пример списка:

  • user@one.com с установленным весом: 70;

Предположим, выпал шанс 100. Сумма всех шансов пользователей равна 130.

Перебор по шагам внутри узла: