Submit nested repeating fields to Sharepoint List - InfoPath Dev Sign in | Join | Help in Qdabra qRules Qdabra Software Product Support (Entire Site) InfoPath Dev InfoPath Dev is dedicated to bringing you the information and tools you need to be successful in your Microsoft Office InfoPath development projects. Home Blogs Forums Photos Downloads InfoPath Dev » Qdabra Software Product Support » Qdabra qRules » Submit nested repeating fields to Sharepoint List Submit nested repeating fields to Sharepoint List Last post 03-01-2011 01:01 PM by Hilary Stoupa. 37 replies. Page 2 of 3 (38 items) < Previous 1 2 3 Next > Sort Posts: Oldest to newest Newest to oldest Previous Next 02-22-2011 12:42 AM In reply to dsnightthunder Joined on 07-27-2010 Posts 96 Re: Submit nested repeating fields to Sharepoint List Mark as Not AnswerMark as Answer... Reply Contact Oh yes, I did put the @ symbol in there just to try it. I did not think I had saved it to the form. Sorry about that... The command that errored was SubmitToSharePointList /submit=ShPSubmit /mapping=LevelTwoMapping /id=my:id3. I do not understand why... it did not happen until I mapped the Level One items in the mapping tool. I used each field's complete xpath on those.... was that correct? 02-22-2011 07:45 AM In reply to Hilary Stoupa Joined on 06-20-2008 Posts 13,297 Re: Submit nested repeating fields to Sharepoint List Mark as Not AnswerMark as Answer... Reply Contact In the form you attached, the LevelTwoMapping doesn't have any level one items. It looks exactly like the original form you sent. So any new mapping you did shouldn't be affecting the original command set up. Hilary Stoupa 02-22-2011 09:18 AM In reply to dsnightthunder Joined on 07-27-2010 Posts 96 Re: Submit nested repeating fields to Sharepoint List Project Plan.xsn Mark as Not AnswerMark as Answer... Reply Contact Ooops again... I guess I did not save the form after I changed things and before I sent it to you. I have attached a new revised copy. If you would like to see some screen shots, just tell me how you want me to send them to you. Does this mean I need to change the id to the one in the Level One table, or something??? Here is what happens: Test 1 - Enter #1 Level One Task item - Saves to task list with no problem Test 2 - Add #1-1 Level Two Task item from the first Level One - Saves to task list and updates with no problem Test 3 - Add #1-2 Level Two Task item under the first Level One - Saves to task list - updates first entry and adds a new one with no problem Test 4 - Add #2 Level One Task item - No Error but does not save new Level One Item to Task List - continues to update previous entries no problem Test 5 - Add #2-1 Level Two Task under #2 Level One Task Item - Adds #2-1 Level Two Task as another #1 Level One Sub Task and Shows Error: An unexpected error occurred executing the rule. Action: SubmitToSharePointList Arguments: submit: ShPSubmit mapping: LevelTwoMapping id: my:id3 Details: Object reference not set to an instance of an object. Stack: at Qdabra.Tools.RulesLibrary.Commands.PopulateIdsAndLastModified(XPathNavigator outputNav, XmlDocument mapping, String idXpath) at Qdabra.Tools.RulesLibrary.Commands.SubmitToSharePointList(String submitDs, String mappingDs, String id, String dsname, String xpath, String name, String uniqueName) at Qdabra.Tools.RulesLibrary.Commands.SubmitToSharePointList() at Qdabra.Tools.RulesLibrary.Commands.ExecuteCommand() 02-22-2011 09:31 AM In reply to Hilary Stoupa Joined on 06-20-2008 Posts 13,297 Re: Submit nested repeating fields to Sharepoint List Mark as Not AnswerMark as Answer... Reply Contact Thanks for providing more detail. Just from reading this, I can see where the problem is -- the mapped group is the LevelTwo group. So Test 4 fails because your mapped repeating group (LevelTwo group) is not present -- that is, we have a mapping that defines the LevelTwo group as being the repeating group, and now we have a new LevelOne item with no LevelTwo item. Can you explain a bit more about what your desired outcome would be for Test 4? That is, we don't have a LevelTwo item -- what would you see in your list? Hilary Stoupa 02-22-2011 09:56 AM In reply to dsnightthunder Joined on 07-27-2010 Posts 96 Re: Submit nested repeating fields to Sharepoint List Mark as Not AnswerMark as Answer... Reply Contact You would just see a single entry with the information in the Level One fields... I guess I need to set something in the form to enter something in the Level Two even if it is blank, huh. You know after I test this, I am actually going up one more level to the main project level. There could be multiple main projects too, the way the form is designed right now. So I need to make sure there is a clear path to Level Two from any level - by defaulting information into the sub fields - right? This form is supposed to be a birthday present for my boss who is also my friend - to keep her task lists for about 6+ employees straight... I could then replicate the process for anyone who wants it too... It will be the centerpiece for a "Team Site Extraordinaire!!!" HA HA!! I think the concept is pretty neat, at least... 02-22-2011 10:01 AM In reply to Hilary Stoupa Joined on 06-20-2008 Posts 13,297 Re: Submit nested repeating fields to Sharepoint List Mark as Not AnswerMark as Answer... Reply Contact I think anytime a LevelOne is inserted you'd need to use the Insert command to add a LevelTwo, make sure there is always at least one LevelTwo As to your earlier comment that you'd used the full XPaths to your LevelOne items -- that will always get you the first LevelOne item, which is not what you want. You'll need to use relative XPaths. Hilary Stoupa 02-22-2011 10:08 AM In reply to dsnightthunder Joined on 07-27-2010 Posts 96 Re: Submit nested repeating fields to Sharepoint List Mark as Not AnswerMark as Answer... Reply Contact So I need to re-do my mapping and start from the top down on my hierarchy?? 02-22-2011 10:24 AM In reply to Hilary Stoupa Joined on 06-20-2008 Posts 13,297 Re: Submit nested repeating fields to Sharepoint List Mark as Not AnswerMark as Answer... Reply Contact No, sorry, I'm obviously not explaining this well. If you want to submit nested repeating items to a SharePoint list, you want to map the deepest level, which you did -- you mapped the level two items. However, since you've selected level two as your group, if you don't have a level two group present, your data won't be submitted (see Test 4 results). But, your mapping needs to use relative paths to your Level One items. Currently, you have, for example: <my:Mapping> <my:FormField>/my:myFields/my:grpEmployeeInfo/my:grpEmployee/my:grpProjectItems/my:grpLevelOneItems/my:tblLevelOneItems/my:LevelOneItem</my:FormField> <my:SharePointColumn>Title</my:SharePointColumn> </my:Mapping> Instead, you need: <my:Mapping><my:FormField>../../my:LevelOneItem</my:FormField><my:SharePointColumn>Title</my:SharePointColumn></my:Mapping> Hilary Stoupa 02-22-2011 12:11 PM In reply to dsnightthunder Joined on 07-27-2010 Posts 96 Re: Submit nested repeating fields to Sharepoint List Mark as Not AnswerMark as Answer... Reply Contact OK I think I get it now... Let me try it and I will let you know asap how it goes. THANKS so much for all your excellent HELP!!! 02-23-2011 02:19 PM In reply to dsnightthunder Joined on 07-27-2010 Posts 96 Re: Submit nested repeating fields to Sharepoint List Project Plan.xsn Mark as Not AnswerMark as Answer... Reply Contact OK - so I finally revised my mapping as you suggested, and tested with just a single level one with two level twos under it - which was working yesterday... I have not put the insert command on the form as of yet... so I did not test unmatched level ones yet... I attached the form. I got an error again: An unexpected error occurred executing the rule. Action: SubmitToSharePointList Arguments: submit: ShPSubmit mapping: LevelOneMapping id: my:id3 Details: Object reference not set to an instance of an object. Stack: at Qdabra.Tools.RulesLibrary.Commands.PopulateIdsAndLastModified(XPathNavigator outputNav, XmlDocument mapping, String idXpath) at Qdabra.Tools.RulesLibrary.Commands.SubmitToSharePointList(String submitDs, String mappingDs, String id, String dsname, String xpath, String name, String uniqueName) at Qdabra.Tools.RulesLibrary.Commands.SubmitToSharePointList() at Qdabra.Tools.RulesLibrary.Commands.ExecuteCommand() I told you I was stupid!!! FYI - Here is the mapping: <my:myFields xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2007-11-27T15:29:00" xmlns:xd="http://schemas.microsoft.com/office/infopath/2003" xml:lang="en-us"> <my:Mappings> <my:IsRepeating>true</my:IsRepeating> <my:RepeatingGroup>my:myFields/my:grpEmployeeInfo/my:grpEmployee/my:grpProjectItems/my:grpLevelOneItems/my:tblLevelOneItems/my:grpLevelTwoItems/my:tblLevelTwoItems</my:RepeatingGroup> <my:Mapping> <my:FormField>my:LevelTwoItem</my:FormField> <my:SharePointColumn>Body</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>my:LevelTwoResp</my:FormField> <my:SharePointColumn>Sub_x0020_Task_x0020_Assign</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>my:LevelTwoPriority</my:FormField> <my:SharePointColumn>Sub_x0020_Task_x0020_Priority</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>my:LevelTwoStatus</my:FormField> <my:SharePointColumn>Sub_x0020_Task_x0020_Status</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>my:LevelTwoDueDate</my:FormField> <my:SharePointColumn>Sub_x0020_Task_x0020_Due</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>my:LevelTwoPercentComplete</my:FormField> <my:SharePointColumn>Sub_x0020_Task_x0020__x0025_</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>../../my:LevelOneItem</my:FormField> <my:SharePointColumn>Title</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>../../my:LevelOneAssign</my:FormField> <my:SharePointColumn>Task_x0020_Assign</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>../../my:LevelOnePriority</my:FormField> <my:SharePointColumn>Priority</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>../../my:LevelOneStatus</my:FormField> <my:SharePointColumn>Status</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>../../my:LevelOneDueDate</my:FormField> <my:SharePointColumn>DueDate</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>../../my:LevelOnePercent</my:FormField> <my:SharePointColumn>PercentComplete</my:SharePointColumn> </my:Mapping> </my:Mappings> <my:SharePointListURL>http://fulcoforms.co.fulton.ga.us/cff/Project</my:SharePointListURL> <my:ListCollection>{087BC6F8-C28C-424A-BC0F-9C6FD1A5CB80}</my:ListCollection> <my:FullListURL>http://fulcoforms.co.fulton.ga.us/cff/Project/Lists/Project</my:FullListURL> <Batch OnError="Continue"> <Method ID="New" Cmd="New"> <Field Name="Body"> </Field> <Field Name="Sub_x0020_Task_x0020_Assign"> </Field> <Field Name="Sub_x0020_Task_x0020_Priority"> </Field> <Field Name="Sub_x0020_Task_x0020_Status"> </Field> <Field Name="Sub_x0020_Task_x0020_Due"> </Field> <Field Name="Sub_x0020_Task_x0020__x0025_"> </Field> <Field Name="Title"> </Field> <Field Name="Task_x0020_Assign"> </Field> <Field Name="Priority"> </Field> <Field Name="Status"> </Field> <Field Name="DueDate"> </Field> <Field Name="PercentComplete"> </Field> </Method> </Batch></my:myFields> 02-24-2011 12:46 PM In reply to Hilary Stoupa Joined on 06-20-2008 Posts 13,297 Re: Submit nested repeating fields to Sharepoint List Project Plan.xsn Mark as Not AnswerMark as Answer... Reply Contact Can you try the attached template? I've injected it with a more recent version of qRules, just in case part of this behavior is caused by a logic flaw we've since fixed. Hilary Stoupa 02-25-2011 01:08 PM In reply to dsnightthunder Joined on 07-27-2010 Posts 96 Re: Submit nested repeating fields to Sharepoint List Mark as Not AnswerMark as Answer... Reply Contact Well, it errored when I just filled out the first line. It just does not like that additional layer... I tried adding one sub task - It errors again and is not saving anything to the list. An unexpected error occurred executing the rule. Action: SubmitToSharePointList Arguments: submit: ShPSubmit mapping: LevelOneMapping id: my:id3 Details: Object reference not set to an instance of an object. Stack: at Qdabra.Tools.RulesLibrary.Commands.SubmitToSharePointList(String submitDs, String mappingDs, String id, String dsname, String xpath, String name, String uniqueName) at Qdabra.Tools.RulesLibrary.Commands.SubmitToSharePointList() at Qdabra.Tools.RulesLibrary.Commands.ExecuteCommand() 02-25-2011 03:14 PM In reply to Hilary Stoupa Joined on 06-20-2008 Posts 13,297 Re: Submit nested repeating fields to Sharepoint List Mark as Not AnswerMark as Answer... Reply Contact Okay, I created a test form and get the same results. It is going to be early next week before I can finish checking this out, but I will, and I'll get back to you.... Thanks for being so patient! Hilary Stoupa 02-25-2011 04:17 PM In reply to Hilary Stoupa Joined on 06-20-2008 Posts 13,297 Re: Submit nested repeating fields to Sharepoint List Mark as Not AnswerMark as Answer... Reply Contact Donna -- I had a chance to run this in debug today, and you have my humblest apologies for leading you down a dead end path! This absolutely is not going to work with nested groups as qRules currently is written. I think you are going to have to move everything into the same level. You may be able to use some conditional formatting to get it to look the way you want it to... Hilary Stoupa 02-26-2011 01:07 PM In reply to dsnightthunder Joined on 07-27-2010 Posts 96 Re: Submit nested repeating fields to Sharepoint List Project Plan.xsn Mark as Not AnswerMark as Answer... Reply Contact OK - so I re-configured my form so that everything is in the Level Two table to be written to the list - and it still gave me the "id3" error. So I removed the id parameter (which is supposed to be optional?) in the submit statement on the button and got this error?? Take a look at this form and tell me what is wrong with my logic now... All of the repetitive work is being done in the form... It is just a simple mapping at this point??? Now I am really confused... An unexpected error occurred executing the rule. Action: SubmitToSharePointList Arguments: submit: ShPSubmit mapping: CombinedMapping Details: Expression must evaluate to a node-set. Stack: at MS.Internal.Xml.XPath.XPathParser.ParseNodeTest(AstNode qyInput, AxisType axisType, XPathNodeType nodeType) at MS.Internal.Xml.XPath.XPathParser.ParseStep(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseRelativeLocationPath(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseRelativeLocationPath(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseRelativeLocationPath(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseRelativeLocationPath(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseRelativeLocationPath(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseLocationPath(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParsePathExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseUnionExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseUnaryExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseMultiplicativeExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseAdditiveExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseRelationalExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseEqualityExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseAndExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseOrExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseXPathExpresion(String xpathExpresion) at MS.Internal.Xml.XPath.QueryBuilder.Build(String query, Boolean allowVar, Boolean allowKey) at MS.Internal.Xml.XPath.QueryBuilder.Build(String query, Boolean& needContext) at System.Xml.XPath.XPathExpression.Compile(String xpath, IXmlNamespaceResolver nsResolver) at System.Xml.XPath.XPathNavigator.Select(String xpath, IXmlNamespaceResolver resolver) at Qdabra.Tools.RulesLibrary.Commands.UpdateFormItemList(String fullIdPath) at Qdabra.Tools.RulesLibrary.Commands.PopulateIdsAndLastModified(XPathNavigator outputNav, XmlDocument mapping, String idXpath) at Qdabra.Tools.RulesLibrary.Commands.SubmitToSharePointList(String submitDs, String mappingDs, String id, String dsname, String xpath, String name, String uniqueName) at Qdabra.Tools.RulesLibrary.Commands.SubmitToSharePointList() at Qdabra.Tools.RulesLibrary.Commands.ExecuteCommand() Page 2 of 3 (38 items) < Previous 1 2 3 Next > Copyright © 2003-2019 Qdabra Software. All rights reserved.View our Terms of Use.
In the form you attached, the LevelTwoMapping doesn't have any level one items. It looks exactly like the original form you sent. So any new mapping you did shouldn't be affecting the original command set up.
Ooops again... I guess I did not save the form after I changed things and before I sent it to you. I have attached a new revised copy. If you would like to see some screen shots, just tell me how you want me to send them to you.
Does this mean I need to change the id to the one in the Level One table, or something???
Here is what happens:
Test 1 - Enter #1 Level One Task item - Saves to task list with no problem
Test 2 - Add #1-1 Level Two Task item from the first Level One - Saves to task list and updates with no problem
Test 3 - Add #1-2 Level Two Task item under the first Level One - Saves to task list - updates first entry and adds a new one with no problem
Test 4 - Add #2 Level One Task item - No Error but does not save new Level One Item to Task List - continues to update previous entries no problem
Test 5 - Add #2-1 Level Two Task under #2 Level One Task Item - Adds #2-1 Level Two Task as another #1 Level One Sub Task and Shows Error:
An unexpected error occurred executing the rule. Action: SubmitToSharePointList Arguments: submit: ShPSubmit mapping: LevelTwoMapping id: my:id3 Details: Object reference not set to an instance of an object. Stack: at Qdabra.Tools.RulesLibrary.Commands.PopulateIdsAndLastModified(XPathNavigator outputNav, XmlDocument mapping, String idXpath) at Qdabra.Tools.RulesLibrary.Commands.SubmitToSharePointList(String submitDs, String mappingDs, String id, String dsname, String xpath, String name, String uniqueName) at Qdabra.Tools.RulesLibrary.Commands.SubmitToSharePointList() at Qdabra.Tools.RulesLibrary.Commands.ExecuteCommand()
Thanks for providing more detail. Just from reading this, I can see where the problem is -- the mapped group is the LevelTwo group. So Test 4 fails because your mapped repeating group (LevelTwo group) is not present -- that is, we have a mapping that defines the LevelTwo group as being the repeating group, and now we have a new LevelOne item with no LevelTwo item.
Can you explain a bit more about what your desired outcome would be for Test 4? That is, we don't have a LevelTwo item -- what would you see in your list?
You would just see a single entry with the information in the Level One fields... I guess I need to set something in the form to enter something in the Level Two even if it is blank, huh.
You know after I test this, I am actually going up one more level to the main project level. There could be multiple main projects too, the way the form is designed right now. So I need to make sure there is a clear path to Level Two from any level - by defaulting information into the sub fields - right?
This form is supposed to be a birthday present for my boss who is also my friend - to keep her task lists for about 6+ employees straight... I could then replicate the process for anyone who wants it too... It will be the centerpiece for a "Team Site Extraordinaire!!!" HA HA!!
I think the concept is pretty neat, at least...
I think anytime a LevelOne is inserted you'd need to use the Insert command to add a LevelTwo, make sure there is always at least one LevelTwo
As to your earlier comment that you'd used the full XPaths to your LevelOne items -- that will always get you the first LevelOne item, which is not what you want. You'll need to use relative XPaths.
So I need to re-do my mapping and start from the top down on my hierarchy??
No, sorry, I'm obviously not explaining this well.
If you want to submit nested repeating items to a SharePoint list, you want to map the deepest level, which you did -- you mapped the level two items.
However, since you've selected level two as your group, if you don't have a level two group present, your data won't be submitted (see Test 4 results).
But, your mapping needs to use relative paths to your Level One items. Currently, you have, for example:
<my:Mapping> <my:FormField>/my:myFields/my:grpEmployeeInfo/my:grpEmployee/my:grpProjectItems/my:grpLevelOneItems/my:tblLevelOneItems/my:LevelOneItem</my:FormField> <my:SharePointColumn>Title</my:SharePointColumn> </my:Mapping>
Instead, you need:
<my:Mapping><my:FormField>../../my:LevelOneItem</my:FormField><my:SharePointColumn>Title</my:SharePointColumn></my:Mapping>
OK I think I get it now... Let me try it and I will let you know asap how it goes.
THANKS so much for all your excellent HELP!!!
OK - so I finally revised my mapping as you suggested, and tested with just a single level one with two level twos under it - which was working yesterday...
I have not put the insert command on the form as of yet... so I did not test unmatched level ones yet... I attached the form.
I got an error again:
An unexpected error occurred executing the rule. Action: SubmitToSharePointList Arguments: submit: ShPSubmit mapping: LevelOneMapping id: my:id3 Details: Object reference not set to an instance of an object. Stack: at Qdabra.Tools.RulesLibrary.Commands.PopulateIdsAndLastModified(XPathNavigator outputNav, XmlDocument mapping, String idXpath) at Qdabra.Tools.RulesLibrary.Commands.SubmitToSharePointList(String submitDs, String mappingDs, String id, String dsname, String xpath, String name, String uniqueName) at Qdabra.Tools.RulesLibrary.Commands.SubmitToSharePointList() at Qdabra.Tools.RulesLibrary.Commands.ExecuteCommand()
I told you I was stupid!!!
FYI - Here is the mapping:
<my:myFields xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2007-11-27T15:29:00" xmlns:xd="http://schemas.microsoft.com/office/infopath/2003" xml:lang="en-us"> <my:Mappings> <my:IsRepeating>true</my:IsRepeating> <my:RepeatingGroup>my:myFields/my:grpEmployeeInfo/my:grpEmployee/my:grpProjectItems/my:grpLevelOneItems/my:tblLevelOneItems/my:grpLevelTwoItems/my:tblLevelTwoItems</my:RepeatingGroup> <my:Mapping> <my:FormField>my:LevelTwoItem</my:FormField> <my:SharePointColumn>Body</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>my:LevelTwoResp</my:FormField> <my:SharePointColumn>Sub_x0020_Task_x0020_Assign</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>my:LevelTwoPriority</my:FormField> <my:SharePointColumn>Sub_x0020_Task_x0020_Priority</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>my:LevelTwoStatus</my:FormField> <my:SharePointColumn>Sub_x0020_Task_x0020_Status</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>my:LevelTwoDueDate</my:FormField> <my:SharePointColumn>Sub_x0020_Task_x0020_Due</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>my:LevelTwoPercentComplete</my:FormField> <my:SharePointColumn>Sub_x0020_Task_x0020__x0025_</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>../../my:LevelOneItem</my:FormField> <my:SharePointColumn>Title</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>../../my:LevelOneAssign</my:FormField> <my:SharePointColumn>Task_x0020_Assign</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>../../my:LevelOnePriority</my:FormField> <my:SharePointColumn>Priority</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>../../my:LevelOneStatus</my:FormField> <my:SharePointColumn>Status</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>../../my:LevelOneDueDate</my:FormField> <my:SharePointColumn>DueDate</my:SharePointColumn> </my:Mapping> <my:Mapping> <my:FormField>../../my:LevelOnePercent</my:FormField> <my:SharePointColumn>PercentComplete</my:SharePointColumn> </my:Mapping> </my:Mappings> <my:SharePointListURL>http://fulcoforms.co.fulton.ga.us/cff/Project</my:SharePointListURL> <my:ListCollection>{087BC6F8-C28C-424A-BC0F-9C6FD1A5CB80}</my:ListCollection> <my:FullListURL>http://fulcoforms.co.fulton.ga.us/cff/Project/Lists/Project</my:FullListURL> <Batch OnError="Continue"> <Method ID="New" Cmd="New"> <Field Name="Body"> </Field> <Field Name="Sub_x0020_Task_x0020_Assign"> </Field> <Field Name="Sub_x0020_Task_x0020_Priority"> </Field> <Field Name="Sub_x0020_Task_x0020_Status"> </Field> <Field Name="Sub_x0020_Task_x0020_Due"> </Field> <Field Name="Sub_x0020_Task_x0020__x0025_"> </Field> <Field Name="Title"> </Field> <Field Name="Task_x0020_Assign"> </Field> <Field Name="Priority"> </Field> <Field Name="Status"> </Field> <Field Name="DueDate"> </Field> <Field Name="PercentComplete"> </Field> </Method> </Batch></my:myFields>
Can you try the attached template? I've injected it with a more recent version of qRules, just in case part of this behavior is caused by a logic flaw we've since fixed.
Well, it errored when I just filled out the first line. It just does not like that additional layer... I tried adding one sub task - It errors again and is not saving anything to the list.
An unexpected error occurred executing the rule. Action: SubmitToSharePointList Arguments: submit: ShPSubmit mapping: LevelOneMapping id: my:id3 Details: Object reference not set to an instance of an object. Stack: at Qdabra.Tools.RulesLibrary.Commands.SubmitToSharePointList(String submitDs, String mappingDs, String id, String dsname, String xpath, String name, String uniqueName) at Qdabra.Tools.RulesLibrary.Commands.SubmitToSharePointList() at Qdabra.Tools.RulesLibrary.Commands.ExecuteCommand()
Okay, I created a test form and get the same results. It is going to be early next week before I can finish checking this out, but I will, and I'll get back to you.... Thanks for being so patient!
Donna -- I had a chance to run this in debug today, and you have my humblest apologies for leading you down a dead end path! This absolutely is not going to work with nested groups as qRules currently is written.
I think you are going to have to move everything into the same level. You may be able to use some conditional formatting to get it to look the way you want it to...
OK - so I re-configured my form so that everything is in the Level Two table to be written to the list - and it still gave me the "id3" error. So I removed the id parameter (which is supposed to be optional?) in the submit statement on the button and got this error?? Take a look at this form and tell me what is wrong with my logic now... All of the repetitive work is being done in the form... It is just a simple mapping at this point??? Now I am really confused...
An unexpected error occurred executing the rule. Action: SubmitToSharePointList Arguments: submit: ShPSubmit mapping: CombinedMapping Details: Expression must evaluate to a node-set. Stack: at MS.Internal.Xml.XPath.XPathParser.ParseNodeTest(AstNode qyInput, AxisType axisType, XPathNodeType nodeType) at MS.Internal.Xml.XPath.XPathParser.ParseStep(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseRelativeLocationPath(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseRelativeLocationPath(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseRelativeLocationPath(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseRelativeLocationPath(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseRelativeLocationPath(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseLocationPath(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParsePathExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseUnionExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseUnaryExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseMultiplicativeExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseAdditiveExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseRelationalExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseEqualityExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseAndExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseOrExpr(AstNode qyInput) at MS.Internal.Xml.XPath.XPathParser.ParseXPathExpresion(String xpathExpresion) at MS.Internal.Xml.XPath.QueryBuilder.Build(String query, Boolean allowVar, Boolean allowKey) at MS.Internal.Xml.XPath.QueryBuilder.Build(String query, Boolean& needContext) at System.Xml.XPath.XPathExpression.Compile(String xpath, IXmlNamespaceResolver nsResolver) at System.Xml.XPath.XPathNavigator.Select(String xpath, IXmlNamespaceResolver resolver) at Qdabra.Tools.RulesLibrary.Commands.UpdateFormItemList(String fullIdPath) at Qdabra.Tools.RulesLibrary.Commands.PopulateIdsAndLastModified(XPathNavigator outputNav, XmlDocument mapping, String idXpath) at Qdabra.Tools.RulesLibrary.Commands.SubmitToSharePointList(String submitDs, String mappingDs, String id, String dsname, String xpath, String name, String uniqueName) at Qdabra.Tools.RulesLibrary.Commands.SubmitToSharePointList() at Qdabra.Tools.RulesLibrary.Commands.ExecuteCommand()