БП согласования документов
В данной статье рассмотрим создание простого бизнес-процесса со статусами в Живой ленте Битрикс 24.
Исходные данные:
- Параллельный процесс согласования
- Добавление до 5 согласующих из оргструктуры
- Параметры запроса: Название, Описание, файл
Согласующий имеет варианты:
- Согласовать
- Отклонить с доработкой или без
- Делегировать
Документ считается согласованным, когда его утвердят все согласующие.
Содержание
В результате вы получите реестр документов со статусами.

Создание процесса
Создадим Бизнес-процесс. Для этого в левом меню нажмем Автоматизация —> Бизнес-процессы —> Процессы в ленте —> Создать новый. Вводим название процесса, подписи, права доступа и сохраняем. Отметим процесс галочкой Показать в новостях, чтобы процесс можно было запустить из Живой ленты.

Настройка полей
Далее нам нужно настроить поля процесса, заходим в процесс, в правом верхнем углу нажимаем Действия —> Настроить поля.

Добавим поля:
- Название — наименование документа, поле по умолчанию, не меняем его;
- Согласующие — лица, которые должны согласовать документ — обязательное множественное поле типа Привязка к сотруднику;
- Описание — поле типа HTML/текст для пояснений к документу;
- Файл — документ в формате docx — обязательное множественное поле типа Файл(Диск);
- Статус — статус согласования документа — поле типа Список со значениями На согласовании/На доработке/Согласован/Отклонен. Поле будет меняться автоматически в ходе процесса, поэтому убираем возможность его редактирования вручную (убираем галочки показывать в форме добавления и редактирования).


Создание БП со статусами
Поля созданы, вернемся к нашему списку (нажмите к списку справа вверху) и настроим Бизнес-процесс согласования. В списке Действия —> Настроить бизнес-процессы.

Создадим бизнес-процесс со статусами.

Введем наименование процесса и укажем, что запускается он при создании элемента.

Создадим нужные статусы.

Создание переменной
При работе с процессом нам понадобится переменная Комментарии типа строка. Для ее создания нажмите сверху Параметры

и перейдите во вкладку Переменные, справа сверху нажмите Добавить переменную.

Введите название переменной и сохраните.
Статус "На согласовании"
Дизайнер бизнес-процессов. Так будет выглядеть процесс в статусе “На согласовании”.

Для того, чтобы начать создание процесса, зайдите в статус “На согласовании”. Нажмите Добавить —> Обработчик входа в данный статус.

И попадете в пустой процесс:

Далее идем по действиям.
Статус "На согласовании"
Изменим статус документа На согласовании с помощью действия Изменение документа.
- Заголовок — Статус “На согласовании”;
- Поле Статус — Значение “На согласовании”;


Статус
Логируем полученный статус. Действие Запись в отчет
- Заголовок — Статус;
- Текст — Изменен “На согласовании”. Можно подставить значение поля вместо текста.
- Загрузить отчет для доступа из бизнес-процесса — устанавливаем галочку.
Обнуление переменных
С помощью действия Изменение переменных обнулим переменную Комментарии.


Уведомление согласующих
Отправим уведомление согласующим о необходимости согласовать документ. Возьмем действие Уведомление пользователя.
- Заголовок — Уведомление согласующих;
- Отправитель уведомления — выбираем поле {{Кем создан}};
- Получатель уведомления — выбираем поле {{Согласующие}};
- Текст уведомления для сайта — пишем что предстоит согласовать или утвердить, при необходимости добавляем характеристики документа;
- Тип уведомления — Персонализированное.
Текст уведомления:
{{Кем создан > friendly}} отправил документ “{{Название}}” на согласование.
{{Файл (имя)}}
[url=/company/personal/bizproc/ {=Workflow:ID}/] Ссылка на страницу просмотра документа[/url]
- {{Кем создан > friendly}} — вставка поля документа Кем создан. Обратите внимание на параметр > friendly, он позволяет отобразить Имя пользователя в привычном виде, без логина, ID и других атрибутов.
- {{Файл (имя)}} — вставка поля документа Файл. Выводится наименование файла со ссылкой.
- {=Workflow:ID} — ID текущего бизнес-процесса. Текст ссылки можно написать любой.
Согласование документа
Отправим документ на согласование. Возьмем действие Утверждение документа.
- Заголовок — Согласование документа;
- Утверждают сотрудники — выбираем поле Согласующие;
- Тип утверждения — Все сотрудники (т.е. пока каждый из согласующих не подтвердит документ, он не перейдет в статус Согласован);
- Название задания — Согласовать {{Название}};
- Описание задания — текст приведу ниже;
- Устанавливать текст статуса — Да;
- Текст статуса — установлен по умолчанию, можно изменить по желанию;
- Текст кнопки подтверждения в задании — Согласован;
- Текст кнопки отказа в задании — Не согласован;
- Показывать поле ввода комментария — Да;
- Обязательность комментария — Нет;
- Метка для поля комментария — по умолчанию;
- Период утверждения — по умолчанию неограниченный период, но можно задать срок, по истечению которого процесс пойдет дальше;
- Ограничить доступ — Нет;
- Тип делегирования — Всем сотрудникам.

Описание задания:
{{Кем создан > friendly}} отправил документ “{{Название}}” на согласование.
{{Файл (имя)}}
Если хотите вернуть документ на доработку, то напишите комментарий и нажмите “Не согласован”.
- {{Кем создан > friendly}} — вставка поля документа Кем создан. Обратите внимание на параметр > friendly, он позволяет отобразить Имя пользователя в привычном виде, без логина, ID и других атрибутов;
- {{Файл (имя)}} — вставка поля документа Файл. Выводится наименование файла со ссылкой.

Согласование документа Да

Установить статус "Согласован"
Возьмем действие Установить статус.
- Заголовок — Установить статус “Согласован”;
- Перевести в статус — Согласован;
- Прервать выполнение текущего статуса — устанавливаем галочку.
Согласование документа Нет
Обновление переменных
С помощью действия Изменение переменных обновим переменную Комментарии. Установим ей значение комментария последнего голосовавшего из действия Согласование документа.
Для вставки значения нажмите на кнопку с точками справа. Выберите Дополнительные результаты —> На согласовании —> Согласование документа —> Комментарий последнего голосовавшего.



Комментарии есть?
Возьмем действие Условие.
Да:
- Тип условия — значение переменной;
- Свойство или переменная — Комментарии;
- Условие — заполнено.
Нет:
- Тип условия — истина.
Разветвление
Под условием Да
- Заголовок — Разветвление;
- Текст — Комментарии есть;
- Загрузить отчет для доступа из бизнес-процесса — устанавливаем галочку;
Под условием Нет
- Заголовок — Разветвление;
- Текст — Комментариев нет;
- Загрузить отчет для доступа из бизнес-процесса — устанавливаем галочку.


Установить статус
Возьмем действие Установить статус.
Под условием Да
- Заголовок — Установить статус “На доработке”;
- Перевести в статус — На доработке;
- Прервать выполнение текущего статуса — устанавливаем галочку.
Под условием Нет
- Заголовок — Установить статус “Отклонен”;
- Перевести в статус — Отклонен;
- Прервать выполнение текущего статуса — устанавливаем галочку.
Статус "На доработке"

Статус "На доработке"
Изменим статус документа На доработке с помощью действия Изменение документа.
- Заголовок — Статус “На доработке”;
- Поле Статус — Значение “На доработке”;


Статус
Логируем полученный статус. Действие Запись в отчет.
- Заголовок — Статус;
- Текст — Изменен “На доработке”. Можно подставить значение поля вместо текста.
- Загрузить отчет для доступа из бизнес-процесса — устанавливаем галочку.
Уведомление инициатора
Отправим уведомление инициатору о необходимости доработать документ. Возьмем действие Уведомление пользователя.
- Заголовок — Уведомление инициатора;
- Отправитель уведомления — выбираем в дополнительных результатах последнего голосовавшего в статусе “На согласовании”;
- Получатель уведомления — выбираем поле {{Кем создан}};
- Текст уведомления для сайта — текст ниже.
- Тип уведомления — Персонализированное.

Текст уведомления:
{=A78174_24524_41554_36312: LastApprover > friendly} отправил документ {{Название}} на доработку: {=A78174_24524_41554_36312: LastApproverComment}
{{Файл (имя)}}
[url=/company/personal/bizproc/ {=Workflow:ID}/] Ссылка на страницу просмотра документа[/url]
- {=A78174_24524_41554_36312: LastApprover > friendly} — вставка значения последнего голосовавшего в статусе “На согласовании”. Обратите внимание на параметр > friendly, он позволяет отобразить Имя пользователя в привычном виде, без логина, ID и других атрибутов.
- {=A78174_24524_41554_36312: LastApproverComment} — вставка значения комментария последнего голосовавшего в статусе “На согласовании”;
- {{Файл (имя)}} — вставка поля документа Файл. Выводится наименование файла со ссылкой.
- {=Workflow:ID} — ID текущего бизнес-процесса. В ссылке не забудьте указать адрес своего портала. Текст ссылки можно написать любой.

Запрос на доработку
Отправим документ на доработку инициатору. Возьмем действие Запрос дополнительной информации (с отклонением).
- Заголовок — Запрос на доработку;
- Заполняют сотрудники — выбираем поле {{Кем создан}};
- Название задания — Документ {{Название}} отправлен на доработку;
- Описание задания — текст приведу ниже.
- Текст кнопки в задании — Отправить на согласование;
- Показывать поле ввода комментария — Да;
- Обязательность комментария — Нет;
- Метка для поля комментария — по умолчанию;
- Устанавливать текст статуса — Да;
- Текст статуса — Ожидание доработки документа;
- Период ожидания информации — по умолчанию неограниченный период, но можно задать срок, по истечению которого процесс пойдет дальше;
- Ограничить доступ — Нет;
- Тип делегирования — Всем сотрудникам;
- Тип отклонения — Любой сотрудник;
- Текст кнопки отклонения в задании — Отклонить документ;
- Сохранять значения в случае отказа — Нет.
Внизу добавим необязательно поле Новая версия файла типа Файл.
- Заголовок — Новая версия файла;
- Код поля — newfile;
- Тип файла — Файл;
- Обязательное — устанавливаем галочку;
- Множественное — на ваше усмотрение, позволяет добавлять несколько файлов.
Описание задания:
{=A78174_24524_41554_36312: LastApprover > friendly} отправил документ {{Название}} на доработку: {=A78174_24524_41554_36312: LastApproverComment}
{{Файл (имя)}}
Обновите документ с учетом комментариев и отправьте на согласование, либо отклоните документ. Обязательно напишите, что исправили.
- {=A78174_24524_41554_36312: LastApprover > friendly} — вставка значения последнего голосовавшего в статусе “На согласовании”. Обратите внимание на параметр > friendly, он позволяет отобразить Имя пользователя в привычном виде, без логина, ID и других атрибутов.
- {=A78174_24524_41554_36312: LastApproverComment} — вставка значения комментария последнего голосовавшего в статусе “На согласовании”
- {{Файл (имя)}} — вставка поля документа Файл. Выводится наименование файла со ссылкой.
Если документ по запросу доработан
Разветвление
Логируем результат доработки действием Запись в отчет.
- Заголовок — Разветвление;
- Текст — Документ заново отправлен на согласование;
- Загрузить отчет для доступа из бизнес-процесса — устанавливаем галочку.


Файл приложен?
Возьмем действие Условие.
Да:
- Тип условия — значение переменной;
- Свойство или переменная — Новая версия файла;
- Условие — заполнено.
Нет:
- Тип условия — истина.
Разветвление
Логируем результат условия действием Запись в отчет.
Под условием Да
- Заголовок — Разветвление;
- Текст — Файл приложен;
- Загрузить отчет для доступа из бизнес-процесса — устанавливаем галочку.
Под условием Нет
- Заголовок — Разветвление;
- Текст — Нового файла нет;
- Загрузить отчет для доступа из бизнес-процесса — устанавливаем галочку.


Добавление файла
Если файл приложен, то обновим его в документе, для этого возьмем действие Изменение документа.
- Заголовок — Добавление файла
- Поле Файл, значение переменная Новая версия файла, {=Variable:newfile}
Установить статус
Возьмем действие Установить статус.
- Заголовок — Установить статус “На согласовании”;
- Перевести в статус — На согласовании;
- Прервать выполнение текущего статуса — устанавливаем галочку.

Если документ отклонен

Разветвление
Логируем результат доработки действием Запись в отчет.
- Заголовок — Разветвление;
- Текст — Документ отклонен;
- Загрузить отчет для доступа из бизнес-процесса — устанавливаем галочку.
Установить статус
Возьмем действие Установить статус.
- Заголовок — Установить статус “Отклонен”;
- Перевести в статус — Отклонен;
- Прервать выполнение текущего статуса — устанавливаем галочку.

Статус "Согласован"

Статус "Согласован"
Изменим статус документа “Согласован” с помощью действия Изменение документа.
- Заголовок – Статус “Согласован”;
- Поле Статус, значение Согласован.


Статус
Логируем полученный статус. Действие Запись в отчет.
- Заголовок — Статус;
- Текст — Изменен “Согласован”. Можно подставить значение поля вместо текста;
- Загрузить отчет для доступа из бизнес-процесса — устанавливаем галочку.
Уведомление инициатора
Отправим уведомление инициатору о необходимости доработать документ. Возьмем действие Уведомление пользователя.
- Заголовок — Уведомление инициатора;
- Отправитель уведомления — выбираем поле документа {{Кем изменен}};
- Получатель уведомления — выбираем поле {{Кем создан}};
- Текст уведомления для сайта — Документ; {{Название}} согласован. {{Файл (имя)}}.
- Тип уведомления — Персонализированное.

Статус "Отклонен"

Статус "Отклонен"
Изменим статус документа “Отклонен” с помощью действия Изменение документа.
- Заголовок — Статус “Отклонен”
- Поле Статус, значение Отклонен


Статус
Логируем полученный статус. Действие Запись в отчет.
- Заголовок — Статус;
- Текст — Изменен “Отклонен”. Можно подставить значение поля вместо текста;
- Загрузить отчет для доступа из бизнес-процесса — устанавливаем галочку.
Уведомление инициатора
Отправим уведомление инициатору о необходимости доработать документ. Возьмем действие Уведомление пользователя.
- Заголовок — Уведомление инициатора;
- Отправитель уведомления — выбираем поле документа {{Кем изменен}};
- Получатель уведомления — выбираем поле {{Кем создан}};
- Текст уведомления для сайта — Документ; {{Название}} отклонен. {{Файл (имя)}}.
- Тип уведомления — Персонализированное.

Сохраняем и наш процесс готов!
Как импортировать шаблон бизнес-процесса
В списке нажмите Действия —> Настроить бизнес-процессы.

Создайте процесс со статусами, укажите название, параметры запуска и сохраните. В пустом процессе нажмите Импорт и выберите файл.
Вера добрый день, подскажите пожалуйста возможно ли к процессу согласования прикрутить лист согласования,( допустим такой то согласовал и в конце всего бизнес процесса можно было распечатать и документ и лист согласования где отмечено кто согласовал) наверно все это сложно)), ну либо какой то чек лист). спасибо!
Alex, добрый день! Можно прикрутить список согласований как описано здесь https://wersis.ru/bitrix24/soglasovanija-bp-v-sdelke/ только к бизнес-процессу Живой ленты. Но чтобы вывести печатную форму нужно действие по созданию документа (в коробке можно сделать), либо создавать отдельную воронку в сделках или смарт-процессах, где будет создаваться элемент, печатная форма, прикрепляться к процессу живой ленты и удаляться)
Боооольшое Спасибо! Вера, буду пробовать.
Забыл написать, получилось прикрутить с помощью генератора документов, ещё и подписи согласующих ставятся в ЛС, вносим поля какие нужны и на выходе получаем готовый ЛС с подписями , Вера спасибо у вас очень много полезной информации
Alex, я рада) Благодарю!
При попытке вставки значения Согласующие (к примеру в поле Получатель уведомления), его нет. Если вставить в заголовок, то есть. Соответственно при запуске процесса он не уходит и пишет, что список согласующих пуст.
Павел, добрый день! Если вы по каким-то причинам не можете найти во вставке значений это поле, то скопируйте его из другого.
Это всё прекрасно работает, до момента, когда при отклонении тоже нужен комментарий. Делать комментарий для отправки на уточнение и комментарий, если не согласовано – ну такое. В общем, всё как обычно в битриксе – простые моменты, которые бизнес-логикой ожидаются как само-собой разумеющееся, у них не реализуются годами и работайте так, как мы придумали. Надо кастомку пилить.
Спасибо за ваш труд , доступно и понятно!!!
Alex, благодарю!
Спасибо, очень подробно. При запуске БП ошибка: “Обязательное свойство “Статус” не заполнено.” с чем может быть связано?
Елена, здравствуйте! Вы сделали поле “Статус” обязательным, зайдите в настройки поля и уберите эту галочку. Когда вы запускаете процесс статус еще не установлен, это происходит непосредственно в самом процессе, поэтому возникает ошибка.
не полно, несколько моментов опущены и приходится много времени терять
Александр, я старалась подробно описать процесс, возможно какие-то моменты я опустила в силу того, что для меня они очевидны. Напишите конкретнее и я дополню статью.