The formObject.DisabledEvents property provides access to the list of events that are hidden from the user by the system. The script can utilize this property to add or remove events from the list based on specific conditions.

Here are examples of how to use this property to set up conditional events:

  • Code Sample A
// Get all events
var events = bpmAppService.BPMSServices.DomainObjectService.GetEvents(domainObject);
// Find specific event
var e = events.Events.FirstOrDefault(x => x.Name == "EventName");
    if (e != null)
    {
        var eventId = e.Id;
        // Init collection of disabled events
        if (formObject.DisabledEvents == null)
            formObject.DisabledEvents = new List();
       // if event already in the disabled list
        var exists = formObject.DisabledEvents.Exists(x => x == eventId);
        if (NeedToEnableCondition)
        {
            if (exists)
                formObject.DisabledEvents.Remove(eventId);
        }
        else
            if (NeedToDisableCondition)
            {
                if (!exists)
                    formObject.DisabledEvents.Add(eventId);
            }
    }
  • Code Sample B
formObject.DisabledEvents.Add(Ray.BPMApp.QMS.Events.BPMAPP_My_DomainObject.HumanEvents.MyEventName.Id);