Коллеги, подскажите возможно ли запускать БП и передавать в него параметры из серверного кода? Если да, просьба скинуть примеры.
Заранее благодарен.
Нравится
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 в новых). Ну и в запуске, как написал Григорий. Ещё до последнего времени из интерпретируемых нельзя было возвращать результат в параметре, теперь уже можно.
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать