Difference between revisions of "Trigger a Workflow from a Custom Browser Script"

From SmartWiki
Jump to: navigation, search
(Syntax)
Line 1: Line 1:
 
[[Workflow|Workflows]] can be triggered based on a value in a [[Custom Fields|custom field]] on the object using a [[Browser|browser]] script. The [[Workflow|workflow]] id is passed to the system from the script.  
 
[[Workflow|Workflows]] can be triggered based on a value in a [[Custom Fields|custom field]] on the object using a [[Browser|browser]] script. The [[Workflow|workflow]] id is passed to the system from the script.  
  
 
This procedure is for use within the [[UTA]] only.
 
  
 
==Syntax==
 
==Syntax==
Line 29: Line 27:
 
'''NOTE''':  For [[Workflow|workflows]] triggered by a [[Browser Script]] within a [[UTA]] you should set '''Trigger When''' to '''--Deactivate--''' rather than selecting a [[Status]].
 
'''NOTE''':  For [[Workflow|workflows]] triggered by a [[Browser Script]] within a [[UTA]] you should set '''Trigger When''' to '''--Deactivate--''' rather than selecting a [[Status]].
  
==Example==
+
 
To create a button that triggers a workflow at Level 2:
+
==Examples==
 +
1) To create a button that triggers a workflow at Level 2:
  
 
Create a [[Custom Field Type: Read Only – System Variables|Read Only – System Variables]] Custom Field. In the '''Text/Link:''' section include the following:
 
Create a [[Custom Field Type: Read Only – System Variables|Read Only – System Variables]] Custom Field. In the '''Text/Link:''' section include the following:
 
  <input type="button" class=Button value="Button Label" onClick="_triggerwf('@eventid@',''workflowid'',26);"/>
 
  <input type="button" class=Button value="Button Label" onClick="_triggerwf('@eventid@',''workflowid'',26);"/>
  
 +
 +
2) To trigger a workflow based on the value in a [[Custom Field]] at Level 1:
 +
 +
In order to trigger workflow #32123 when the Custom Field named ''My Field'' (Custom Field ID 123456) has the value ''This Value'':
 +
 +
Create a [[Browser Script]] Custom Field:
 +
 +
<pre>
 +
function savefunc(frm){
 +
if("@My Field@"!="This value"  && frm.123456.value=="This value")
 +
  {
 +
  alert("The workflow will now be triggered");
 +
  _triggerwf('@opportunityid@',32123);
 +
  }
 +
return true;
 +
}
 +
</pre>
 +
 +
Notes:
 +
* The function [[savefunc]] is run whenever a record is saved.
 +
* The if statement will ensure that the workflow is only triggered when the ''My Field'' value is '''changed''' to ''This Value'', not every time the page is saved with with ''This Value''.
  
  

Revision as of 10:49, 13 May 2010

Workflows can be triggered based on a value in a custom field on the object using a browser script. The workflow id is passed to the system from the script.


Syntax

_triggerwf(objectid,workflowid,Entity ID);


You must first create the workflow. Once it has been created you need to find the workflow ID (wfid) as follows:

  • From the list view of Workflows right-click on the appropriate workflow and select Properties.
  • The URL/Address displayed will have the wfid:
http://youraddress.smartsimple.com/WFE2/wf_viewworkflow.jsp?wfid=98765

For the above example the workflow ID is 98765


In the browser script you would use triggerwf with the following syntax:
Level 1: _triggerwf('@opportunityid@',workflowid);

Example:
_triggerwf('@opportunityid@',98765);


Level 2: _triggerwf('@eventid@',workflowid,26);

Example:
_triggerwf('@eventid@',98765,26);

(26 is the objecttype for Level 2 activities, and will be the same for all Level 2 workflows)


NOTE: For workflows triggered by a Browser Script within a UTA you should set Trigger When to --Deactivate-- rather than selecting a Status.


Examples

1) To create a button that triggers a workflow at Level 2:

Create a Read Only – System Variables Custom Field. In the Text/Link: section include the following:

<input type="button" class=Button value="Button Label" onClick="_triggerwf('@eventid@',workflowid,26);"/>


2) To trigger a workflow based on the value in a Custom Field at Level 1:

In order to trigger workflow #32123 when the Custom Field named My Field (Custom Field ID 123456) has the value This Value:

Create a Browser Script Custom Field:

function savefunc(frm){
if("@My Field@"!="This value"  && frm.123456.value=="This value")
   {
   alert("The workflow will now be triggered");
   _triggerwf('@opportunityid@',32123);
   }
return true;
}

Notes:

  • The function savefunc is run whenever a record is saved.
  • The if statement will ensure that the workflow is only triggered when the My Field value is changed to This Value, not every time the page is saved with with This Value.


See Also