Как при событий остановить текущий процесс и взаимосвязанные процессы, к примеру я нажимаю кнопку (по уникальному номеру заявки нахожу Id процесса) и это событие останавливает процесс?

Нравится

7 комментариев

Добрый день, попробуйте подобный код:

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 использовался для изменения статуса, без него задачи останутся в том состоянии, в котором они были до остановки процесса.

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