Пора реализовать задачу посерьезней! Создадим свой последовательный бизнес-процесс!

Бизнес-процесс хоть и будет похож по реализации на процесс из урока, но добавим деталей, которых нет в видео. Вы обязательно с ними справитесь, будет интересно :)

Пара рекомендаций:

  • Сначала текстовое описание преобразуйте в алгоритм (блок-схему), которую вы будете переносить в Битрикс24. Для описания простого бизнес-процесса по большому счету вам нужно всего 3 типа "блоков": действие, условие, цикл. Будет достаточно обычной блок-схемы, не обязательно рисовать полноценную диаграмму в нотации BPMN 2.0.
  • Стоит подойти к реализации составленной блок-схемы в Битрикс24 пошагово, как показано в уроках. Создайте первую часть утверждения у начальника, затем наращивайте цепочку путей в шаблоне бизнес-процесса. Сложная система обычно создается через развитие простой. Так гораздо проще, меньше придется отлавливать нестыковок в работе реализованного алгоритма.

Перенесите в Битрикс24 следующий процесс заказа доставки:

  • Сотрудник заполняет заявку на доставку, при этом указывает: текстовое описание необходимости данной отправки, ее максимальную стоимость, вариант отправки из двух готовых вариантов (в черте города / другой город), тип отправления из двух вариантов (небольшое / крупногабаритное), компанию и Ф.И.О. получателя, адрес, контакты.
  • Заявку согласовывает руководитель. Он может отправить ее на доработку сотруднику несколько раз, пока не будет готов одобрить.
  • После одобрения может быть два пути. Если отправка по городу + небольшая, то заявка возвращается к сотруднику. Он сам оформляет доставку курьером и контролирует ее выполнение. Бизнес-процесс успешно завершается, когда сотрудник отчитается, что все ok.
  • Если отправка крупногабаритная или междугородняя, то заявка переходит офис-менеджеру, который и оформляет отправку через службу доставки.
  • Офис-менеджер контролирует выполнение доставки и завершает процесс.

Что нужно реализовать

  1. Для начала - процесс в живой ленте, который будет хранить заявки. Заявки - это объект, по которому будет запускаться бизнес-процесс, с соответствующим набором полей (решите сами, какие из них должны быть обязательными). Права - пока на запись всем. Запускается бизнес-процесс при создании новой заявки. Здесь все должно быть просто :)
  2. Создание бизнес-процесса рекомендую начать с небольшой части: согласование заявки у руководителя, в цикле. Здесь все похоже на видео-урок:
    • Определите руководителя. Рекомендую и его, и пользователя, запустившего БП, сохранить в переменные.
    • Не забудьте очень хорошо продумать выход из цикла, иначе БП никогда не завершиться :) Вам поможет специальная переменная или использование поля документа.
    • Задание на доработку можете сделать с отклонением и без, поэкспериментируйте. При доработке сотрудник пусть заполняет пару полей: максимальная цена и описание-обоснование.
    • Не забудьте сохранить данные из формы задания в документ
    • В заданиях на одобрение и доработку рекомендую выключить комментарий, живая лента отлично подойдет для обсуждения.
    • Добавьте уведомления для пользователей о заданиях БП.
    • Не забудьте внести запись в лог, чтобы ориентироваться, как идет БП, установку текста статуса для большей информативности пользователей.
  3. Запустите БП, проиграйте его под добавленными сотрудниками Михаилом и Александром. Все ли работает, как ожидаемо? Что в логе?
  4. Давайте немного доработаем созданный блок:
    • При создании заявки ее название нужно заполнять руками, это будет довольно разнобойно, каждый заполнит как сможет :).
      Предлагаю сразу после старта БП установить название документа в формате "[ID заявки] - [ФИО получателя]".
      А чтобы сотрудник не заполнял название зря, скройте его с помощью настроек поля. Так как название - обязательное поле, то вам поможет установка его значения по умолчанию (любым, все равно перезапишете :) )
    • Для того, чтобы уведомление для руководителя о новом задании БП на согласовании было более информативно, добавьте в него ссылку на задание БП, она будет вида https:// адреспортала/company/personal/bizproc/960/ , где 960 - ID задания.
      Где же взять ID задания? Вы наверняка уже догадались :) ID будет доступен в форме вставки значений, в блоке "Дополнительные результаты".
      Но тут парадокс. Значение появится после выполнения действия, уведомление нужно разместить после задания. А БП не пойдет дальше, пока задание не будет выполнено.
      С "парадоксом" поможет справиться действие "Параллельное выполнение" (из раздела "Конструкции"). Оно позволит выполнить несколько действий, не дожидаясь, пока завершится какая-либо ветка.
      Важная ремарка - ветки запускаются так же, как и в действии "условие", слева направо.
      Должно получиться как-то так:
      картинка
      Можете по аналогии добавить ссылку в уведомление и для сотрудника.
    • И еще одна доработка - можно показывать в форме задания для сотрудника не пустые поля, а текущие их значения из документа! В этом вам помогут значения по умолчанию полей и вставка значения. Хоть там и нет кнопки вызова формы вставки значений, задать вставку необходимых значений можно "руками" - "{=...}".
  5. Добавим реализацию оставшейся части - оформление отправки:
    • После одобрения заявки у руководителя вам потребуется реализовать два возможных пути в шаблоне бизнес-процесса.
    • Поможет в этом, конечно, действие "Условие". Судя по постановке задачи, офис-менеджеру нужно ставить задание в случае габаритной отправки и пересылки в другой город. У вас есть возможность указать составное условие, главное - правильно выставить, по какой логике выполнять условия, И или ИЛИ :)
      картинка
    • Для указания, кто "офис менеджер", конечно, используйте константу.
    • В остальном все более-менее просто, задания офис-менеджеру или сотруднику на отправку и на контроль получения. Не забываем про уведомления пользователям, запись в лог.
    • При отправке через службу доставки будет логичным сохранить в заявку название службы, номер отправления, трек-код. В этом случае поля не нужно отображать при создании заявки.
  6. Остался последний штрих - задайте права:
    • Сотрудникам - на добавление и чтение. Вот такая конфигурация позволит это организовать:
      картинка
    • Руководителю - внутри БП с помощью действия добавьте права на изменение документа, по которому сейчас запущен бизнес-процесс.

В общем-то, все :) Поздравляем с реализацией бизнес-процесса!