Активити "условие БП"(или триггер) связь со статусом сделки

Рейтинг: 3.7804  
Новая
Предложил Ауто Владислав 21.11.2018 14:26:41

Активити "условие БП"(или триггер) связь со статусом сделки

Добрый день.

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

Возможно ли разработать активити (или триггер) которые будет при достижении сделкой определенной стадии проверять некоторое условие. И если оно выполнено то позволять переключение стадии сделки если нет то уведомлять пользователя о том что данное условие не выполнено

Пример:

В бизнес процессе есть задание
Запрос дополнительной информации с id A44968_86034_32001_60239
Данное действие либо выполняется либо выполнено

Триггер или активити при достижении сделкой какого то статуса обращается к экземпляру БП к конкретному действию id которого мы указали.

Если действие выполнено то просто переходим к следующей стадии

Если действие выполняется (не выполнено) указываем пользователю выполни (название) действия      

Рейтинг: 0.8902  
Соловьев Олег 23.11.2018 08:53:45
А если было запущено два-три экземпляра БП в котором нужно проверить результат? Проще какое-нибудь доп.поле в сделке завести и записывать туда результат. В карточке скрыть его, чтоб глаза не мозолило. Значение для всех будет одинаковое, проверять можно в любом БП.
Рейтинг: 0  
Ауто Владислав 23.11.2018 17:24:27
Думал об этом. В таком подходе просто пользователю предложат заполнить значение поля оно сохраниться на сделке ок, а если пользователь это какой то сторонний человек например из логистики или бухгалтерии т.е. люди которые не имеют отношения к сделке?  
Рейтинг: 0  
Соловьев Олег 26.11.2018 08:49:52
Зачем предлагать пользователю что-то заполнить? Вас интересовал факт выполнения действия "Запрос дополнительной информации". Добавляете в сделку поле с типом "Да/Нет", значение по-умолчанию - "Нет". Перед "Запрос дополнительной информации с id A44968_86034_32001_60239"с помощью действия "Изменение документа" устанавливаете значение поля "Нет", на всякий случай. После этого запроса доп.информации аналогичным образом меняете значение поля на "Да". В другом БП проверяете, если поле = "Да", значит действие было выполнено. Для людей, которые работали с этой сделкой и её БП ничего не меняется. А у Вас есть факт выполнения нужного действия :)
Не совсем понял, как тут могут повлиять сторонние люди из бухгалтерии или логистики... Название полю можно придумать такое, чтоб не возникало желания что-то с ним делать)))

Ещё можно попробовать через REST API сделать это поле ReadOnly, через БП оно всё равно должно остаться доступным для изменения. Во всяком случае поле LEAD_ID отмечено как только для чтения, но БП его успешно меняет)
Рейтинг: 0  
Ауто Владислав 26.11.2018 11:38:50
Олег спасибо за идею с Rest Api возьму на вооружение, идею с да нет уже пробовал сотрудники просто меняют значение поля (так как я делаю его обязательным для стадии сделки) И все же я просил бы вас поддержать данную идею так как основной смысл четко связать  стадию сделки (лида) с обязательными к выполнению сотрудника действиями.  
Рейтинг: 0  
Соловьев Олег 26.11.2018 14:26:01
Так не нужно делать его обязательным. Просто проверяйте значение поля так же, как проверяли бы выполнено действие или нет в случае реализации этой идеи. Если значение - "Нет", прекращайте новый БП или отправляйте соответствующее уведомление пользователю.
Эта идея не будет реализована из-за проблемы выбора при наличии нескольких запущенных экземпляров БП. В каждом будет действие с id A44968_86034_32001_60239. Что тогда должен проверить процесс? Первый экземпляр? Последний? А если случайно запустили несколько копий, сотрудник то понятия не имеет в каком из экземпляров он начал что-то делать. Возможно, в Вашей ситуации такого не может быть. Но Битрикс24 - универсальное решение и у очень многих компаний ситуация с несколькими БП весьма вероятна.
Хотя кто знает... Может есть какое-то более красивое решение) Плюсану, мне не сложно. Вдруг есть какое-то другое решение у разработчиков, которое было бы Вам полезно в данной ситуации.