
Рассмотрим бизнес-процесс по переводу Лида в предыдущую стадию.
У клиента Лиды автоматически конвертируются, когда из 1С экспортируется сделка с той же компанией. Создание сделок настройками системы запрещено. Менеджеры конвертируют Лид в контакт и забывают о нем. Задача переводить такие Лиды в предыдущую стадию.
Содержание
Идем в CRM —> Лиды —> Роботы.
В стадии Сконвертирован нажимаем Редактировать в дизайнере Бизнес-процессов.

Перед Вами появится пустой бизнес-процесс. Переходим в Параметры шаблона.

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

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

Создаем переменную, в которую будем записывать предыдущую стадию.
- Идентификатор — PrevState;
- Название — Предыдущая стадия;
- Тип — Строка;
Нажимаем ОК и далее Сохранить.


Бизнес-процесс

Добавляем действия:

PHP код: Предыдущая стадия
Действие PHP-код.
- Заголовок — PHP код: Предыдущая стадия;
- PHP-код
$LEAD_ID = '{{ID}}';
$x = explode('_', $LEAD_ID);
if ($x[0] != $LEAD_ID)
$LEAD_ID= $x[1];
\Bitrix\Main\Loader::includeModule('crm');
$arStage = \CCrmLead::GetStatuses();
$arStageRe = array();
foreach($arStage as $code => $ar)
{
$arStageRe[$ar['NAME']] = $code;
}
$ar = \CCrmEvent::GetListEx(
array(
'DATE_CREATE' => 'DESC'
),
array(
'ENTITY_TYPE' => 'LEAD',
'EVENT_TYPE' => 1,
'ENTITY_FIELD' => 'STATUS_ID',
'ENTITY_ID' => $LEAD_ID
)
)->GetNext();
if (!empty($ar['EVENT_TEXT_1']))
{
$PrevState = $arStageRe[$ar['EVENT_TEXT_1']];
}
else
{
$PrevState = '';
}
$rootActivity = $this->GetRootActivity();
$rootActivity->SetVariable('PrevState', $PrevState);
unset($x, $ar);
Предыдущая стадия
Действие Запись в отчет.
- Заголовок — Предыдущая стадия;
- Текст — {=Variable:PrevState}; (выбираем из вставки значения Переменную Предыдущая стадия)
- Загрузить отчет для доступа из бизнес-процесса — пропускаем.


Изменение статуса
Действие Изменение документа.
- Заголовок — Изменение статуса;
- Поле — Статус;
- Значение — {=Variable:PrevState}
- Изменять от имени — {{Ответственный}};
Добавить комментарий
Действие Добавить комментарий.
- Заголовок — Добавить комментарий;
- Комментарий — Лид [color=red]нельзя конвертировать[/color] в контакт, он автоматически конвертируется при создании сделки в 1С. Лид переведен в стадию до конвертации. ([color=red][/color] — выделение красным цветом)
- Автор — {{Ответственный}}.


Уведомление ответственного
Действие Уведомление пользователя.
- Заголовок — Уведомление ответственного;
- Отправитель уведомления — {{Ответственный}};
- Получатель уведомления —{{Ответственный}};
- Текст уведомления для сайта — Лид [color=red]нельзя конвертировать[/color] в контакт, он автоматически конвертируется при создании сделки в 1С. [url=/crm/lead/details/{{ID}}/]Лид[/url] переведен в стадию до конвертации. ([color=red][/color] — выделение красным цветом, [url=/crm/lead/details/{{ID}}/]Лид[/url] — ссылка на Лид)
- Тип уведомления — Персонализированное уведомление (с аватаром).
Результат выполнения
Теперь при конвертации Лида пользователем Лид вернется на предыдущую стадию, в ленту Лида добавится комментарий о причине отката, а ответственному придет уведомление.
