Как при событий остановить текущий процесс
Как при событий остановить текущий процесс и взаимосвязанные процессы, к примеру я нажимаю кнопку (по уникальному номеру заявки нахожу Id процесса) и это событие останавливает процесс?
Нравится
Добрый день, попробуйте подобный код:
var process = UserConnection.ProcessEngine.GetProcessByUId(processUId, true); if (process.Owner != null) { process.CompleteExecuting(); } else { process.UpdateStatusInDB(UserConnection, Terrasoft.Core.Process.ProcessStatus.Done); } process.CancelExecuting(); If (process.SerializeToDB) { UserConnection.ProcessEngine.RemoveCurrentProcess(processUId) } else { UserConnection.ProcessEngine.RemoveProcessPropertiesData(processUId); }
"Бондарь Наталия" написал:processUId
Добрый день.
Здесь параметр processUId Id процесса?
"Бондарь Наталия" написал:Добрый день, попробуйте подобный код:
var process = UserConnection.ProcessEngine.GetProcessByUId(processUId, true);
if (process.Owner != null) {
process.CompleteExecuting();
} else {
process.UpdateStatusInDB(UserConnection, Terrasoft.Core.Process.ProcessStatus.Done);
}
process.CancelExecuting();
If (process.SerializeToDB) {
UserConnection.ProcessEngine.RemoveCurrentProcess(processUId)
} else {
UserConnection.ProcessEngine.RemoveProcessPropertiesData(processUId);
}
статусы задач тоже поменяются на завершена?
"Бондарь Наталия" написал:Добрый день, попробуйте подобный код:
var process = UserConnection.ProcessEngine.GetProcessByUId(processUId, true);
if (process.Owner != null) {
process.CompleteExecuting();
} else {
process.UpdateStatusInDB(UserConnection, Terrasoft.Core.Process.ProcessStatus.Done);
}
process.CancelExecuting();
If (process.SerializeToDB) {
UserConnection.ProcessEngine.RemoveCurrentProcess(processUId)
} else {
UserConnection.ProcessEngine.RemoveProcessPropertiesData(processUId);
}
Выдает ошибку на этот метод: process.CancelExecuting, ошибку можно увидеть на прикрипленном файле
"Бондарь Наталия" написал:Уточните, пожалуйста, версию (с номером сборки).
Версия 5.1.1.155
Баглан Абылаевич, в используемой Вами версии нет метода CancelExecuting, поэтому возникает ошибка.
Закомментируйте вызов данного метода.
"Бахгельдиев Баглан Абылаевич" написал:статусы задач тоже поменяются на завершена?
Метод CancelExecuting использовался для изменения статуса, без него задачи останутся в том состоянии, в котором они были до остановки процесса.