Коллеги, подскажите возможно ли запускать БП и передавать в него параметры из серверного кода? Если да, просьба скинуть примеры.
Заранее благодарен.
Нравится
4 комментария
Лучший ответ
6 сентября 2018 16:04
Как то так
using Terrasoft.Core;
using Terrasoft.Core.Process;
using Terrasoft.Core.Process.Configuration;
ProcessSchema schema = UserConnection.ProcessSchemaManager.GetInstanceByName("LeadManagement");
//schema = UserConnection.ProcessSchemaManager.GetInstanceByUId(leadManagementProcessUId);
//Разные движки для интерпритируемых и компилироуемых БП
bool canUseFlowEngine = ProcessSchemaManager.GetCanUseFlowEngine(UserConnection, schema);
if(canUseFlowEngine) {
var flowEngine = new FlowEngine(UserConnection);
var param = new Dictionary<string, string>();
param["LeadId"] = Entity.Id.ToString();
flowEngine.RunProcess(schema, param);
} else {
Process process = schema.CreateProcess(UserConnection);
process.SetPropertyValue("LeadId", Entity.Id);
process.Execute(UserConnection);
}
6 сентября 2018 16:04
Как то так
using Terrasoft.Core;
using Terrasoft.Core.Process;
using Terrasoft.Core.Process.Configuration;
ProcessSchema schema = UserConnection.ProcessSchemaManager.GetInstanceByName("LeadManagement");
//schema = UserConnection.ProcessSchemaManager.GetInstanceByUId(leadManagementProcessUId);
//Разные движки для интерпритируемых и компилироуемых БП
bool canUseFlowEngine = ProcessSchemaManager.GetCanUseFlowEngine(UserConnection, schema);
if(canUseFlowEngine) {
var flowEngine = new FlowEngine(UserConnection);
var param = new Dictionary<string, string>();
param["LeadId"] = Entity.Id.ToString();
flowEngine.RunProcess(schema, param);
} else {
Process process = schema.CreateProcess(UserConnection);
process.SetPropertyValue("LeadId", Entity.Id);
process.Execute(UserConnection);
}
30 декабря 2020 21:42
Григорий Чех,
"Разные движки для интерпритируемых и компилироуемых БП" Добрый вечер Григорий, а можете уточнить какие именно движки? Плиз)))
29 января 2021 13:07
Андрей, речь о том, что раньше процессы были компилируемые, а сейчас — интерпретируемые. Сейчас можно создать только интерпретируемый. Но старые, созданные давно (как стандартные, так и самодельные) остались.
Основная разница для разработчика — в обращении из скрипта в БП к параметрам (напрямую в старых или через Get и Set в новых). Ну и в запуске, как написал Григорий. Ещё до последнего времени из интерпретируемых нельзя было возвращать результат в параметре, теперь уже можно.
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать