Set Field Value


Badge +3

I'm working with SharePoint 2010 and Nintex Workflow 2010.

When using the Set Field Value action, I have it successfully updating a field with the new value which shows up in my columns in the library.  However, the form itself does not get the new value.  Am I missing an action that actually changes the form?

I tried to chain "Set Field Value" followed by "Update Item", but this did not set the form field value.  What am I missing here.  If this is to vague, please let me know and I will gladly add more info if needed.


20 replies

Userlevel 5
Badge +14

if you can see the value in library/list you should see it in form as well.

check the form whether form control is connected to list field.

you need not "to chain" set value and update item action, they do just the same.

Badge +3

So, I'm new to this world.  If I look at my form, how do I know if the form control is connected to the list field? 

Userlevel 5
Badge +14

207368_pastedImage_1.png

Badge +3

I'm using InfoPath 2013 to create the form templates and SharePoint 2010.  I don't see what you are seeing.

Userlevel 5
Badge +14

ah, ok. you haven't mentioned that.

my example is from nintex forms.

then I'm sorry, I do not have experience with InfoPath, but I believe somebody else will guide you.

maybe this will help as well - Introduction to controls - InfoPath 

Badge +16

Is this a forms library or a custom list with infopath? 

Badge +3

Forms Library.

Badge +16

OK you need to actually create the control inside InfoPath and promote it - that will then display as a column that you should be able to update with workflow.

Badge +16

http://support.formotus.com/hc/en-us/articles/201042367-How-to-promote-fields-in-InfoPath-2010-2013

Badge +16

Hold on just seen this doesn't actually make the field available in workflow...  let me investigate.

Badge +16

this might help

SOLUTION:

When you publish an InfoPath form and you have a promoted field, by default a user cannot edit that field directly in the Form Library.  It is a read-only column.  But, if you modify the Column you want to promote, you will see a tick box option available to you:

"Allow users to edit data in this field by using a datasheet or properties page"

When you select this option, you make the field value editable in the Form Library.  For a detailed explanation of how to set this option, see David Gerhardt's blog: Promoting Editable SharePoint Columns.

Badge +16

Although I clicked that link and it doesn't work and I cannot see any options to change this column setting.

‌ you got any ideas?

Userlevel 6
Badge +13

I seem to remember ‌ having to do this with one of our projects. Not sure if he'll respond to this or not. I think you actually have to write the values to the form XML directly rather than to a list.

‌, is this enough to point you in the right direction?

Also, what are your reasons for using a Forms library? Maybe we can avoid this problem altogether if we can come up with a solution that uses a list instead.

Userlevel 6
Badge +13

Just to add, I am right in my thinking.

A forms library just contains documents and the promoted columns are just XPATH references. They do not write back to the form. You'll need to edit the XML, which can be done with Nintex but it's really not pretty. 

Badge +3

All the help is fantastic and I really appreciate it.  I've been in IT for 19 years and have never seen a user community so willing to help.  As far as the reason for using a Forms Library, I'm honestly not sure.  I just started a few weeks ago doing SharePoint work.  I provide a form to the SharePoint group in our organization and they publish it for me.  I'm stuck following whatever process they lay in front of me and this is how they published my form.  I wish I had a better answer, but this is the world I work in currently.  I don't know enough about SharePoint, yet, to say what solution in SharePoint is a better solution for what I'm trying to develop.

Badge +3

Again, thanks for all the replies.  Here is the solution I eventually came to yesterday before I got all these replies.  So, I'm still using the "Set Field Value" action and this does change the value in the column for me.  To get the value into the form in InfoPath 2013, I had to use a Form Load rule.  The Form Load rule queries columns in the Form Library.  The rule also takes those values for that particular form ID and places the values in the form when it is opened.  I don't know how efficient this method is, but it's getting the job done.

Userlevel 6
Badge +13

Well you can tell us what sort of functionality and controls are being used in the form and what the output is and we could help advise from that. But that would be best in a separate thread. 

Your solution (as far as it can be called that) is to use Nintex XML actions.

Update XML 

This link gives you details about the Update XML action. You'll need to enter the URL of the Infopath form, so https://domain/sites/sitename/formlibrary/formname.xsn (I think it's the xsn file you edit) then locate the XPATH of the field you want to update and put in the value you want to update it with. Most like it'll be using the "Replace node contents" setting.

If your issue has been solved on this thread, please mark the correct answer as such.

Thanks

Badge +2
How to do this rule, IN InfoPath form itself ? or in the workflow?

for me I don't even see the fields in the action, so I can't do the action itself.
Badge +2
same here did you find any solution. I can't find fields in the action itself.
Badge +2
I did that but no change. I still cannot see the fields in the action set field value

Reply