ProcessInstance class
The ProcessInstance object represents a process instance of a workflow. A process instance does not have a public constructor. It can be created using the CreateProcessInstance method of the Workflow class.
Namespace: |
IYOPRO.Api |
Assembly: |
IYOPRO.Api (in IYOPRO.Api.dll) |
Methods
ProcessInstanceFile AddFile(string name, string path)-
Add a local file to the process instance. Keep in mind that you should also assign the internal filename to a process instance variable to be able to access the file later
void RemoveFile(string internalname)-
Removes a file from the process instance. Remember to remove the file also from the referencing process instance variable
void Run(object userdata = null)-
Continue / Start the process instance.
User data will be provided in the resulting ProcessStartedEventArgs void LoadAttributes(List<string> attributes, object userdata = null)-
Load process instance attribute values and append them to the Attributes collection.
Userdata will be provided in the LoadAttributesCompletedEventArgs void ReadLog(bool deep = false, object userdata = null)-
Read the process instance log.
Specify with "deep" whether logs from subprocesses should also be loaded.
User data will be provided in the ReadLogCompletedEventArgs void Delete(object userdata = null)-
Delete the process instance.
User data will be provided in the resulting DeleteIstanceCompletedEventArgs
Properties
int Id-
Gets the Id of the process instance
Guid GuId-
Gets the unique identifier of the process instance
string Name-
Gets the name of the process instance
int WorkflowId-
Gets the Id of the describing Workflow
int WorkflowFileId-
Gets the Id of the workflow file
string WorkflowName-
Gets the name of the describing Workflow
int WorkflowVersion-
Gets the version of the workflow
string WorkflowVersionName-
Gets the name of the workflow version
ProcessInstanceState State-
Gets the state of the process instance
string InstanceInfo-
Gets the information of the process instance
string CreatedBy-
Gets the name of the process instance creator
DateTime CreatedAt-
Gets the timestamp when the process instance has been created
DateTime FinishedAt-
Gets the timestamp when the process instance is finished
ProcessInstanceAttributes Attributes-
Gets a collection of process instance attributes
TailoredActivities Tailor-
Gets a collection of tailored activities
Roles Roles-
Gets a collection of roles defined in the process instance
Events
ProcessStartedEvent ProcessStarted-
The ProcessStarted event is triggered if the Run method has finished
LoadAttributesCompletedEvent LoadAttributesCompleted-
The LoadAttributesCompleted event is triggered if the LoadAttributes method has finished
ReadLogCompletedEvent ReadLogCompleted-
The ReadLogCompleted event is triggered if the ReadLog method has finished
DeleteIstanceCompletedEvent DeleteIstanceCompleted-
The DeleteIstanceCompleted event is triggered if the Delete method has finished
Examples
// Add the Pdf to our process instance
ProcessInstanceFile pif=Task.AddFile("My Documentation", "c:\\temp\\File.pdf");
// Add the Pdf to our process attribute, that contains the file list
List<object> files = Task.Attributes.Get("Files") as List<object>;
files.Add(pif.InternalName);
// Finish the task
Task.Run(true);
This example shows how to delete process instances that have a specific name and status and are within a specific time period.
#IYOPRO.Backend
import clr
clr.AddReference("ServerBackend")
import IYOPRO.Api
import System
s = IYOPRO.Api.Session(Workflow, False)
start = System.DateTime(2020,1,1)
end = System.DateTime(2021,12,31)
names = System.Collections.Generic.List[str](["<process instance name>"])
vars = System.Collections.Generic.List[str]([])
e = s.ProcessInstances.Load(start, end, IYOPRO.Api.ProcessInstanceState.Finished, names, vars)
if e.Error:
raise e.Error
for inst in e.Data:
ProcessInstance.Info("Removing instance " + unicode(inst.Id))
d = inst.Delete()
if d.Error:
raise d.Error