Firing Workflows using Javascript, I've never had to pass in Initiation Parameters. This post takes a look at how to do just that and provides some code that will allow easy use of Workflows in Javascript.
Setup Workflow
The workflow has to be set for Manual starting, otherwise this will not work. Also, to pass in parameters to the workflow, you'll need to have Initiation Variable(s) within the workflow. I've only fiddled with Number and Single Line of Text fields, so if you use other column types, feel free to share your experience.
Workflow Initiation Parameters |
This workflow is simply logging the variables out to the Workflow History. Easy peazy...
Workflow Parameters
Looking over the documentation for SPServices and StartWorkflow, I found some examples that were a great starting point. After fiddling a bit with 1 field, I decided to test this a little more. I created a column with spaces in the Name field *gasp*. I only did this to see how to handle this programmatically, so a word to the wise: Friends don't let friends create columns with spaces...
Reading over the examples, if you have multiple parameters, it says you have to change from passing the column name to this weird pattern:
<Data><Parameter1>" + parameter1 + "</Parameter1><Parameter2>" + parameter2 + "</Parameter2></Data>
I've found this to not work at all for me at all [sad_panda]... Back to the drawing board, I guess. Then an idea came to me. Since I'm targeting a column with a space in it, I tried what normally happens to spaces in Static Names: _x0020_. So, I tried this next:
However, this didn't work either! Very curious to find a resolution, I set out to find out why this didn't work... Using SPD (SharePoint Designer), you are able to view the files generated by the workflow. Opening up the XML file as text, you can clearly see that SPD removed the space in the Static Name.
Within this file, all of the Initiation Parameters are visible and it's now easy to tell what's exactly going on.
For all of this to work while using multiple parameters, you have to use the exact Static Name as defined in the XML. The workflow parameters below work just fine for me now.
<Data><TextField>Will it blend?</TextField><With_x0020_Spaces>42</With_x0020_Spaces
></Data>
However, this didn't work either! Very curious to find a resolution, I set out to find out why this didn't work... Using SPD (SharePoint Designer), you are able to view the files generated by the workflow. Opening up the XML file as text, you can clearly see that SPD removed the space in the Static Name.
Workflow wfconfig.xml |
Workflow Parameter Names |
<Data><TextField>Will it blend?</TextField><WithSpaces>42</WithSpaces
></Data>
Code to Fire the Workflow
This function will handle the pain of getting a workflow to fire. All you need to know is the correct URL, the workflow name, and the workflow parameters ( if any ).
*** Update ***
I took my original idea and made it more or less a plug-in for SPServices. Add this function to the SPServices source and it'll work without any issues.
Original function:
2 comments:
1xbet korean ᐈ Find a 1xbet korean bonus now!
One 1xbet app download of the best sports bet websites in the world, one of the best for betting, the 1xbet korean bonus now.
Mr. Cuomo to be First Lady of Connecticut - Dr.CMD
Gov. Ned Lamont (D) on Thursday announced the 충청북도 출장마사지 appointment of two Native American casino magnate Andrew 김포 출장샵 Cuomo as 파주 출장샵 The New 보령 출장안마 York Times reports 나주 출장안마
Post a Comment