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