I decided to try and use the new responsive form designer to create a form in SharePoint Online. I really like the new designer, but have come across the following issues and am wondering if I am doing something wrong or are these bugs.
1. I added a list lookup control name SystemLL to the form that returns 2 values from another list in the same site. Let's just say for this example the values are "System1" and "System2". I created a string variable and used the parselookup(SystemLL) to extract the string value from the lookup. I then created an On Form Input Rule that populates the variable value into a text box that is bound to a SharePoint Column when the SystemLL Control is filled. I test the form and everything works. However when I save the form the value is not being saved, System.Object is being saved instead. If I click into the text field after the rule fires and then save, the value will be saved correctly to sharepoint.
2. Along the same lines, I have another list lookup that returns either "Green", "Red", "Black". I was trying to create a variable to map the color to a value ranking using the ifElse. I used the following syntax ifElse(parselookup(Ranking) == "Green", 4, 2). No matter which color I choose, the value is always 2. If I create a variable with just the parselookup function, it returns the correct color. I was able to work around this issue by removing the parselookup function and using a contains instead of equal on the loookup field itself.
Any suggestions would be appreciated.
Thanks for the response @EuanGamble . I am attaching a simplied form that shows both issues. I'd expect the Ranking to be 4 when "Green" is selected. I've watched the video posted above and I think I'm doing everything correctly. Thanks again for taking a look.
So I have had a look and think I know what is happening. The parseLookup is displaying the correct text you would expect, but in memory it is still stored as the multi-property value that a List Lookup understands.
So for your first "Green" option, try:
The problem, however, is that the parseLookup is now passing what it knows in memory (List Lookup data) to the Single Line of Text and the column does not understand that data type. Hence it says "System.Object".
This is a bug and needs to be addressed. I have raised it with the development team, but it would be really helpful if you could also log a call with support? Please just email them the details and include this community post to firstname.lastname@example.org. That way it will be tracked and managed.
Thanks for that @mdoak.
I have recorded a video for support and dev team replicating the issue. Support will be able to update you with the progress from here.
If anyone is experiencing the parseLookup function issue, please raise it with email@example.com as it helps us prioritize the defect based on the number of affected customers.