Добрый день. Как создать бизнес процесс, который должен
открывать страницу новой записи в разделе и контролировать заполнены ли нужные поля в этой записи. (Без программирования). Я поняла, что нудно использовать элемент процесс "открыть страницу редактирования", но как контролировать заполнение нужных полей не понимаю.

 

Нравится

2 комментария
Лучший ответ

Попробуйте сделать так. Мне кажется должно сработать.

сделать эти поля обязательными , например

Попробуйте сделать так. Мне кажется должно сработать.

Показать все комментарии

Как вызывать из JS я знаю, но тут понадобилось вызвать из C#

Нравится

1 комментарий
var property = "PropertyValue";				
ProcessSchema schema = SystemUserConnection.ProcessSchemaManager.GetInstanceByName("ProcessName");
				bool canUseFlowEngine = ProcessSchemaManager.GetCanUseFlowEngine(UserConnection, schema);
				if(canUseFlowEngine) {
					var flowEngine = new FlowEngine(UserConnection);
					var param = new Dictionary<string, string>();
					param["Property"] = property;
					flowEngine.RunProcess(schema, param);
				} else {
					Process process = schema.CreateProcess(UserConnection);
					process.SetPropertyValue("Property", property);
					process.Execute(UserConnection);
				}

В принципе проверку на canUseFlowEngine можно смело убрать, сейчас все процессы запускаются через FlowEngine.

Показать все комментарии

Есть следующая задача: при изменении активности нужно отправить ответственному email в котором есть прямая ссылка на эту активность.

Данную задачу можно реализовать используя элементы [Формула] и [Читать данные] в дизайнере бизнес-процессов. Необходимо добавить в сам процесс дополнительный текстовый параметр, который преобразовывает идентификатор активности используя формулу в текстовое значение через метод ToString(). 
Ссылка на активность состоит из статической части и динамической, например:

https://XXXX-crm-bundle.terrasoft.ru/0/Nui/ViewModule.aspx#CardModuleV2…e59e41be-f36b-1410-d691-00155d04c01d, все что сразу после ../edit/ - динамическая часть, guid (глобальный идентификатор активности), его и будем подставлять в тело email после статической ссылки.

1. Создаем элемент бизнес-процесса [Сигнал] который будет реагировать на изменение в активности. 

2. Следующим шагом, элементом [Читать данные] вычитываем данные из активности по Id.

3. Добавляем в процесс текстовый параметр, который преобразовывается в идентификатор активности используя формулу.

4. Используя элемент [Формула] передаем значение формулы в параметр guid активности.

В значении формулы используем метод ToString(), который преобразует идентификатор в текстовое значение:

5. Добавляем элемент для отправки email c заданными параметрами.

В теле письма, вставляем статическую ссылку на ваш сайт и через кнопку "молния"  выбираем параметры процесса, Параметр для guid активности.

В результате в теле письма получаем:

Ссылка на активность
https://XXX-crm-bundle.terrasoft.ru/0/Nui/ViewModule.aspx#CardModuleV2/… для guid активности#]

6. И как результат, при изменении активности получаем на почту письмо:

 

 

 

Нравится

Поделиться

1 комментарий

Ссылку на сам сайт (если у вас есть тестовая и рабочая среды, например) можно хранить в системной настройке SiteUrl (он же используется для настройки Telegram - https://academy.terrasoft.ru/docs/user/ustanovka_i_administrirovanie/na…)

Показать все комментарии
Идея
Обсуждение

Добрый день.

 

Считаю было бы полезной функцией отменить последнее действие в редакторе БП.

2 комментария

Добрый день,

 

Мы со своей стороны зарегистрировали проблему и запланируем доработку в будущих релизах. 

Добрый день.

Развивая мысль Руслана, можно было бы реализовать возможность откатиться назад на несколько шагов или вперед, как, например, в Word или Excel.

Показать все комментарии

Добрый день!

Может у кого-то есть решение следующего кейса.

 

При нажатии на стандартные кнопки "Удалить" любой записи из системы (из раздела или из детали), должно произойти визирование руководителем об удалении этой же записи. 

После утверждения об удалении, запись будет удалена. 

При отмене удаления - уведомления пользователя об отмене и запись остается в системе.

Какие есть варианты реализации? 

Нравится

2 комментария

Навскидку: 

1. В объекте добавить Boolean поле - отметка на удаление

2. На событие в объекте Before deleting record проверять установленный факт подтверждения. Если его нет, то ставить отметку на удаление, а самое удаление отменять
3. Каким-то образом (скорее всего, отдельный раздел "Подтверждения удаления") формировать запись для визирования руководителю
4. После установки визирования снова удалять запись. Тут уже факт подтверждения есть, потому запись можно удалить в событии Before deleting record

Если добавлять обработчик в базовом объекте, то очень осторожно, чтобы не сломать какую-то стандартную логику проверкой на какой-нибудь системной таблице.

 

Можно и более высокоуровнево, скрыть в разделах и деталях (можно через базовую страницу) кнопку удаления и вместо неё добавить кнопку запуска БП, который будет до реального удаления скрывать запись от нажавшего (если администрируется по записям), задавать вопрос кому нужно, а затем действительно удалять.

Показать все комментарии

Здравствуйте,
у меня есть Процесс который запускаеться при добавлении записи, мне в нем нужно пользователю вывести информационное вспливающее сообщение, можете подсказать варианты как это можно сделать.
Использую BPM 7.15

 

Нравится

2 комментария

Спасибо, подошло.

Показать все комментарии