none
InfoPath 2010 browser form rule to preload people picker not working

    Question

  • I have a dropdown at top of my browser form with 3 choices. Each choice has an action rule that sets a field down the form a bit.

    The 3 fields in question are people pickers.

    What I'm trying to do is preload the text of multiple user names, or account names in such a fasion that it will be accepted by the people picker when the rule fires.

    What is happening is whatever text I preload shows up red underlined... If I interactively input the identical text manually into the people picker and click the check box, the function works properly.

    This whole convoluted process is a workaround to another problem. I would much rather preload the people picker with a SharePoint group name, to the end that anyone in the group would satisfy the [Me] filter in the list after form is submitted. (which sadly does not work at all)

    I have noticed that the people pickers seem to have no problem with a single preloaded name. The rub seems to be syntax of last, first; 1last, 1first; etc...

    I've tried this with spaces and without....

    Any suggestions?

    Thanks in advance!

    /Robin


    Robin

    Friday, March 16, 2012 3:03 PM

All replies

  • The simple fact that SharePoint is not going to let me do a [Me] filter on a list with "contains" rather than an equality makes the whole question moot.

    aaaarrrrrggggg!


    Robin

    Friday, March 16, 2012 3:59 PM
  • When you set a "Person / Groep Picker" you need to set al the three fields.

    Set 'AccountId' with "AccountName"
    set 'DisplayName' with "PreferredName"
    and 'AccountType' with text "User"


    hopes this helps


    /blog twttr @esjord

    Sunday, March 18, 2012 11:57 AM
  • Sioerd,

    Thanks for your reply. As it happens, your answer is incorrect. No insult or disrespect intended.

    In the complex relationship between SharePoint and Infopath, the specifics of the interelationships of details is rather um complex. In this particular instance, I started with a SharePoint custome list, then built an infopath sharepoint list form for it.

    As such the people/group columns that existed in the list populated the form just fine, and there is *catagorically* no need to tweak any of the property settings of said people/group items inside infopath.

    As I said in my second posting on this thread, the point is *moot* because even if I can enable a person/group field to contain multiple values, when said column is populated with multiple values inside SharePoint, the [Me] filter does not allow for "contains" filter. So filtering from a single column with a group of names, or to a groupname *won't work* at this time in SharePoint.

    What I did to workaround the issue is to have 9 people/group items in the form/list, which I itteratively use [Me] filetering on, which gives me a working solution. A rather clunky and inelligant solution, but it works nonetheless.

    I truely hope that this wordy explanation helps someone who is struggling with this issue. If any of my dogmatic statements prove false I will bow to enlightened/workable opinion and gratefully give honor to truthsayers.

    /Robin


    Robin

    • Marked as answer by Robin4 Thursday, March 22, 2012 2:14 PM
    • Unmarked as answer by Robin4 Monday, March 26, 2012 3:46 PM
    Thursday, March 22, 2012 2:13 PM
  • sorry I misunderstood your question, hope you find some inspiration in this blogpost by Laura

    Filter a View by “Me” Without a People Column


    /blog twttr @esjord

    Thursday, March 22, 2012 11:03 PM
  • yes, I've had to do the old people picker to hidden text field then workflow to copy to person/group item in list, as discribed in above referenced link.

    Worthy of discussion and note, this workaround is only necessary when using form library to house form in SharePoint.

    The other 2 interfaces of InfoPath to Sharepoint: 1. SharePoint List template, and 2. DIP (document information panel) seem to be more strongly identified with the list, so that if you install a person/group column to the SharePoint List, then design the form associated therewith, it will pickup the column and work just fine.

    It is a pretty large mistake to assume identical functionality across the various templates inside InfoPath. I hammered my head bloody before figuring out the differences.

    To document the behavior exhaustively would require more patience than I currently possess. I know I would have appreciated better documentation on this point before spending much time in trial/error/frustration before enlighenment.

    /Robin


    Robin

    Friday, March 23, 2012 7:50 PM
  • Well I *thought* it was the answer....

    In designing this infopath form, looking at the preview, the rule I use to set a fields value fires, loads the text of the username into the people picker just fine, but is in red. Whilst in the preview, simply clicking the check box for people picker will cause the "red" name to be underlined having been found in AD.

    Since this is an input form to 2010 SharePoint (enterprise) it fires as an html form, and there is no choice to open in client. As such when the rule fires in browser, no "red" is seen, and the username is nicely esconched in the people picker as deired with an underline, so the naive developer is led to the conclusion that all is working fine. Alas dear reader, all is *not* fine.

    if the form is submitted at that point, the manager names in the people picker don't get written with the submit into the SharePoint list.

    Which leads to this question: is there any way to cause the rule to actually query for name lookup?

    if I manually overwrite the name and do lookup while editing the form, then the names are written to the list. My object is to make this happen without end user having to input the managers name.

    /Robin


    Robin

    Monday, March 26, 2012 3:54 PM
  • since to actuate the people picker what is littrally needed in the field is a valid name then htab, and crlf I'm trying to use the xpath expression:

    concat("smith, john a.", @htcr)

    where @htcr =  xdXDocument:GetDOM("characters")/lookups/characters/@htcr

    and htcr="	7#xD;"

    so far no joy using this method.... any pointers appreciated!


    Robin

    Monday, March 26, 2012 9:41 PM
  • Robin, this has grown with a lot of commentary.  Can you re-state the problem with all the new information in a succint manner so that I can try to help?

    Thanks!


    SharePoint Architect || Microsoft MVP || My Blog
    Planet Technologies || SharePoint Task Force

    Tuesday, March 27, 2012 12:04 AM
  • IP 2010 browser form to SP list. Form has a dropdown with 3 choices, and rules for the choices.

    The rules are set to set a fields value. The fields in question are person/group pickers. Preloading names into the people pickers with rule seems to work fine, in that you can see the selected names underlined in the browser form, but when you submit the form, the values are not saved to list coluimn.

    If in the form, you select the name that is in the dialog box, and overwrite it with same name, then click the check box, it populates visually identical to the "preload" action, but the difference is, the value actually saves to list. Simply clicking the lookup check box without overwriting the text has no effect.

    In design preview the preload text appears in red, and a simple click of the people checker button triggers the lookup and all is well.

    I've been toying with the notion of doing xpath special character insert in the rule, as detailed on previous note, and it brings no joy. concat("last, first", @htcr) in value load has identical effect as simply loading the name.

    That's about as succinct as I can make it. The process is rather convoluted due to the amout of workarounds in place to accomplish the task in hand.

    Thanks for any pointers!

    /Robin


    Robin

    Tuesday, March 27, 2012 1:09 AM