Как получить Id запущенного процесса сразу же после запуска

Как в BPMOnline получить Id запущенного процесса сразу же после запуска

1/ Как в BPMOnline получить Id запущенного процесса сразу же после запуска?
2/ И id и Name родительского процесса?
Например: Старт -> [Получить Id процесса] -> [Шаги процесса]

Нравится

Поделиться

3 комментария

Здравствуйте!

Уточните, пожалуйста, зачем Вам получать идентификатор процесса? И нужен ли именно идентификатор процесса или идентификатор экземпляра процесса?

Есть несколько процессов , например : М1, M2, M3 - Во всех этих процессах внутри запускается процесс M11.
Задача : Во всех задачах M11 в заголовок должно прибавляться название родительского процесса

Все тема закрыта. Задача решена.
1. Перед запуском подпроцесса задаем входящий параметр: InstanceUId (Id родительского процесса).
например:
[csharp]
Collection> processCollection = new Collection>();
Dictionary process = new Dictionary();
process.Add("processSchemaId", new Guid("{A9EE9783-31FE-4C5A-B3F5-94EED1650B2D}")); // KA21
process.Add("ActiveTreeGridCurrentRowId", documentId);
process.Add("ParentProcessId", new Guid(InstanceUId));
processCollection.Add(process);
StrartProcessConclusionUserTask.paramCollection = processCollection;
StrartProcessConclusionUserTask.processCollection = null;
StrartProcessConclusionUserTask.WaitForSubProcessCompletion = true;
[/csharp]

и в подпроцессе вытаскиваем название родительского процесса по параметру ParentProcessId
[csharp]
if(ParentProcessId != Guid.Empty)
{
Select s = new Select(UserConnection)
.Column("SP1","Name").As("Name")
.From("SysProcess").As("SP1")
.Where("SP1","Id").IsEqual(new QueryParameter(ParentProcessId)) as Select;

EntityCollection ent = new EntityCollection(UserConnection, "SysProcess");
ent.Load(s.ExecuteReader(UserConnection.EnsureDBConnection()));
if (ent.Count > 0)
{
ParentProcessName = " (" +ent[0].GetTypedColumnValue("Name") + ") ";
}
}

[/csharp]
И все, прикрепляем каждой задаче:
[csharp]
ActivityUserTask1.Title = string.Format("Назначить ответственного за подготовку заключения {0}",ParentProcessName);
[/csharp]

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