BPM Formula Functions¶
The BPM tool provides additional formula functions.
Formula script can be utilized in conditions, script tasks, various task actions. Some functions can be used in a workflow (broadcastSignal, startProcess).
- bpm\targetEntity\attribute
- bpm\createdEntity\attribute
- bpm\processEntity\attribute
- bpm\startProcess
- bpm\broadcastSignal
bpm\targetEntity\attribute¶
bpm\targetEntity\attribute(ATTRIBUTE)
Fetches an attribute value of a target record.
bpm\createdEntity\attribute¶
bpm\createdEntity\attribute(ALIAS_ID, ATTRIBUTE)
Fetches an attribute value of a record created within a process. ALIAS_ID can be obtained from the detail view of Task, that has an action creating a record.
bpm\processEntity\attribute¶
bpm\processEntity\attribute(ATTRIBUTE)
Fetches an attribute value of a process record.
bpm\startProcess¶
As of v2.5.2.
bpm\startProcess(FLOWCHART_ID, TARGET_TYPE, TARGET_ID, [ELEMENT_ID])
Starts a process.
Example
bpm\startProcess('flowchart-id', 'Account', 'account-id');
bpm\broadcastSignal¶
bpm\broadcastSignal(SIGNAL_NAME)
– broadcast a regular signal (as of v2.7.1)bpm\broadcastSignal(SIGNAL_NAME, ENTITY_TYPE, ENTITY_ID)
– broadcast an object signal (as of v2.8.5)
It can be useful to broadcast a custom signal from a worfklow rule and then catch it inside a running process. A workflow rule will perform some condition checking and only after than will broadcast a signal.
Example, regular signal
$signalName = string\concatenate(
'notePostedInCaseBySupportManager.',
entity\attribute('id')
);
bpm\broadcastSignal($signalName);
Then it will be possible to catch the signal in a BPM process by listening to the signal notePostedInCaseBySupportManager.{$id}
.
Example, object signal
Workflow on Quote Item broadcasts a signal when amount is changed.
bpm\broadcastSignal('@quoteItemIsChanged', 'Quote', entity\attribute('quoteId'));
Then it will be possible to catch the signal by a workflow. It can be useful for situations when you need to recalculate something when a related record is changed.