Przykład: uruchamianie działania nieustrukturyzowanego (ad hoc) (interfejs API JavaScript)

W tym przykładzie przedstawiono sposób uruchamiania działania nieustrukturyzowanego (ad hoc).

Zanim rozpoczniesz

Aby uruchomić działanie nieustrukturyzowane, użytkownik musi należeć do jednej z następujących grup:
  • Administrator produktu IBM BPM
  • Administrator procesu/sprawy
  • Właściciel instancji procesu/sprawy
  • Domyślny zespół toru z odpowiedniego toru
Sprawdzanie autoryzacji jest wykonywane przez interfejs REST API tylko podczas uruchamiania działania nieustrukturyzowanego.

Procedura

Aby uruchomić nieustrukturyzowane działanie (ad hoc), wykonaj następujące kroki.

  1. Pobieranie listy zgodnych działań nieustrukturyzowanych i ich identyfikatorów w obiekcie TWProcessInstance .
    W obiekcie ActivityListItem znajduje się lista czynności dostępnych dla bieżącego użytkownika (użytkownika, który wywołał funkcję retrieveActivityList()), a także identyfikator działania. Zapoznaj się z opisem obiektu TWProcessInstance w produkcie Interfejs API produktu JavaScript w przepływach procesów i usług.
    • Ustaw parametr hiddenFilter, aby pobrać działania ukryte.
    • Ustaw parametr checkAuthorization na wartość true, aby dla instancji procesu lub sprawy otrzymywać tylko te wyniki, do wyświetlania których bieżący użytkownik jest autoryzowany.
    log.info("querying for piid: " + tw.local.piid);
    var pi = tw.system.findProcessInstanceByID(tw.local.piid);
    log.info("found process instance: " + pi);
    
    var activitiyListProperties = new tw.object.ActivityListProperties();
    
    var activityListFilter = new tw.object.ActivityListFilter();
    activityListFilter.executionStateFilter = ["READY"];
    
    activitiyListProperties.filters = new
    tw.object.listOf.ActivityListFilter();
    activitiyListProperties.filters.insertIntoList(0, activityListFilter);
    
    log.info("querying for activity list ...");
    tw.local.activities = pi.retrieveActivityList(activitiyListProperties)
    log.info("activities found: " + tw.local.activities);
    
    tw.local.aiid = // get the id of the activity you want to start (and
    'actions' contains 'ACTION_START_ACTIVITY')
  2. Jeśli identyfikator działania jest nieustrukturyzowany, należy użyć wywołania findActivityInstanceByID() w celu pobrania instancji działania. Następnie wywołaj komendę start(...) , aby uruchomić instancję.
    Zapoznaj się z opisem obiektu TWBPDSystemNamespace w produkcie Interfejs API produktu JavaScript w przepływach procesów i usług. Opcjonalny parametr taskOwnerUserId przypisuje ponownie zadanie do podanego identyfikatora użytkownika. Opcja ta działa tylko dla działań nieustrukturyzowanych z implementacją zadania użytkownika. Zapoznaj się z opisem obiektu ActivityInstance w produkcie Interfejs API produktu JavaScript w przepływach procesów i usług.
    log.info("querying for aiid: " + tw.local.aiid);
    var ai = tw.system.findActivityInstanceByID(tw.local.aiid);
    log.info("starting activity with id: " + tw.local.aiid);
    ai.start();