Как получить и обработать результирующие параметры при вызове БП из кода?
Как получить и обработать результирующие параметры при вызове БП из кода?
В версии 7.17.1 обещали получение параметров из интерпретируемого процесса, но примеров как и что нету. Запуск я проводил с помощью класса FlowEngine и метода RunProcess.
В sdk по классу flowengine ничего не добавилось.
Нравится
FlowEngine - устаревший класс и он не рекомендуется к использованию.
Для работы с процессами лучше использовать экземпляр IProcessExecutor который можно получить из UserConnection. Пример запуска процесса с получением одного параметра:
string processName = "UsrCustomProcess"; string paramName = "UserProcessParameter"; IProcessExecutor processExecutor = UserConnection.ProcessEngine.ProcessExecutor; // Необходимо указание типа параметра int result = processExecutor.Execute<int>(processName, paramName);
Пример запуска с получением нескольких параметров:
string processName = "UsrCustomProcess"; string[] paramNames = { "UserProcessParameter0", "UserProcessParameter1" }; IProcessExecutor processExecutor = UserConnection.ProcessEngine.ProcessExecutor; // Второй аргумент - список входящих параметров ProcessDescriptor processDescriptor = processExecutor.Execute(processName, new Dictionary<string, string>(), paramNames); // Получение параметров IReadOnlyDictionary<string, object> result = processDescriptor.ResultParameterValues;
FlowEngine - устаревший класс и он не рекомендуется к использованию.
Для работы с процессами лучше использовать экземпляр IProcessExecutor который можно получить из UserConnection. Пример запуска процесса с получением одного параметра:
string processName = "UsrCustomProcess"; string paramName = "UserProcessParameter"; IProcessExecutor processExecutor = UserConnection.ProcessEngine.ProcessExecutor; // Необходимо указание типа параметра int result = processExecutor.Execute<int>(processName, paramName);
Пример запуска с получением нескольких параметров:
string processName = "UsrCustomProcess"; string[] paramNames = { "UserProcessParameter0", "UserProcessParameter1" }; IProcessExecutor processExecutor = UserConnection.ProcessEngine.ProcessExecutor; // Второй аргумент - список входящих параметров ProcessDescriptor processDescriptor = processExecutor.Execute(processName, new Dictionary<string, string>(), paramNames); // Получение параметров IReadOnlyDictionary<string, object> result = processDescriptor.ResultParameterValues;
n.isaev,
А как передать в словарь <стринг, стринг> в качестве стринга коллекцию элементов как параметр?