top

Поддержка24

Как создать последовательные задачи разным пользователем (для коробочной версии)

Рейтинг:

Задание - необходимо решить вопрос с последовательным созданием задач. То есть: при выполнении какой-то большой и комплексной работы задачи по ее выполнению ставятся сразу нескольким пользователем. Но они должны создаваться таким образом, чтобы каждый последующий пользователь начинал работать со своей задачей только после того, как предыдущий завершит выполнение своей. Как это реализовать?

Действительно, такие задачи имеют место достаточно часто. При выполнении комплексных работ бывает необходимо сохранять последовательность действий сотрудниками, чтобы не нарушать порядок выполнения. С помощью стандартных инструментов создания задач решить данный вопрос невозможно, но его можно решить с помощью несложного бизнес-процесса.

Создание процесса и настройка параметров шаблона

Создайте новый процесс.

Выберите название и задайте описание процесса. Выберите картинку по вашему желанию.

После этого можно приступать к созданию и настройке шаблона бизнес-процесса. Для работы нам понадобятся три переменные типа Привязка к сотруднику:

  • Выбранный сотрудник - перемененная нужна для хранения сотрудника, для которого создается каждая конкретная задача.
  • Исполняющие первую задачу - список сотрудников, для которых задача ставится на первом этапе.
  • Исполняющие вторую задачу - список сотрудников, для которых задача ставится на втором этапе.

Последние две переменные должны быть множественными, потому что задача на каждом этапе может быть поставлена как одному сотруднику, так и нескольким. Но при этом она необязательная, потому что задача может и не ставиться вовсе.

Создание шаблона

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

Задачи для пользователей будут создаваться с помощью Цикла.

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

$root = $this->GetRootActivity();
$users = $root->GetVariable('UserMultiple');
$user = array_shift($users);
$root->SetVariable("UserSelected", $user);
$root->SetVariable("UserMultiple", $users);

В результате в переменную UserSelected будет записан очередной пользователь из массива, который станет короче на один элемент. Цикл повторяется до тех пор, пока в массиве сотрудников не останется ни одного элемента. Это мы и указываем в настройках цикла.

Эту же переменную мы будем использовать для создания задачи. Для этого нужно разместить действие Задача. Настроим параметры действия для создания задачи.

Нужно поставить Да в поле Остановить процесс на время выполнения задачи. Благодаря этому задачи будут создавать не сразу, а по очереди: для каждого последующего пользователя задача будет создаваться только после того, как предыдущий завершил выполнение своей.

Заполнить поля Постановщик и Ответственный можно с помощью формы "Вставка значения". Все остальные поля действия можно заполнить в зависимости от специфики создаваемых задач.

Данные действия повторяются для каждой предусмотренной в процессе задачи. Ознакомиться с шаблоном полностью можно здесь.


Спасибо, помогло! Спасибо :) Не помогло Очень жаль :(
Уточните, пожалуйста, почему:
Это не то, что я ищу
Очень сложно и непонятно

Не нашли ответ на свой вопрос?

ЗАДАЙТЕ ВОПРОС КОМАНДЕ ПОДДЕРЖКИ24
Создавать обращения в техподдержку могут только пользователи коммерческих тарифов. Пользователи бесплатной версии имеют доступ к множеству обучающих статей и видео, а также записям вебинаров по Битрикс24. Со всеми вопросами по установке, внедрению и доработке вам помогут наши партнеры