Запуск БП

Коллеги, подскажите возможно ли запускать БП и передавать в него параметры из серверного кода? Если да, просьба скинуть примеры.

Заранее благодарен.

Нравится

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

Как то так 

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);
}		

 

Как то так 

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);
}		

 

Григорий Чех,

благодарю

Григорий Чех,

"Разные движки для интерпритируемых и компилироуемых БП"
Добрый вечер Григорий, а можете уточнить какие именно движки?
Плиз)))

Андрей, речь о том, что раньше процессы были компилируемые, а сейчас — интерпретируемые. Сейчас можно создать только интерпретируемый. Но старые, созданные давно (как стандартные, так и самодельные) остались.

Основная разница для разработчика — в обращении из скрипта в БП к параметрам (напрямую в старых или через Get и Set в новых). Ну и в запуске, как написал Григорий. Ещё до последнего времени из интерпретируемых нельзя было возвращать результат в параметре, теперь уже можно.

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