Have you ever had a problem that you knew was possible, you've seen it before, or you just know that the fundamentals of the problem should be solvable. We I will admit that I had one that stumped me for over two weeks.
I was talking to a friend of mine about using Parent/Child List items and how to automatically tie them together and create them within one form. Without hesitation, I was like, "Sure that should be simple, just input information into one form, then use a workflow to sift through (loop) and create child items from the one list." Note to self: Do not commit to a solution before writing it out!
Honestly that sounded really simple in theory and should have been, but when I started down the reality path of developing the solution, it became a real brainteaser. I thought about using InfoPath, SharePoint, and Nintex Forms, but each time I got stumped at how to exactly get the child items into the list in the first place. After spending several hours looking through this one night I ended up in tears. Well let me paint the picture differently, it was so frustrating that I let out a cry for help. Then as if by a stroke of genius, I figured it out and well, the rest is history.
So I am now writing this to save you from the long hours of pain of staring at your computer screen. Please dont do that. Its not worth it, just read through this, see if it makes sense, and then download the attachments and be happy. Don't stare at endless errors wondering why the form or workflow is not working correctly.
Concept:
The premise of this is not for everything, but useful when you want to track Parent/Child Items. What this will allow you to do is create one form for entering the Parent information and the child items, then track those items in two separate list for reporting and other options.
I will not go into the depths of SharePoint or Nintex on this, but communicate the concept and steps taken. If you dont understand a certain step, shoot me an email and remember what I said above, please do not stare at this stumped its not that serious. Really, thats why Im writing this, to show it can be done.
Kudos, Props, Much Thanks, Cheers. Hopefully you get the point
First off, thanks to Vadim Tabakman for the start of my solution in his blog. I'm sure everyone that has looked at doing repeating tables in Nintex has read his blog in some form or another. If not, umm...what are you waiting on, click here. It was his workflow piece that I used to get the child items piece for my solution. After going through each piece of his workflow, I was able to figure out what steps to add in to make the child list work.
Are you ready? Lets dive in.
Step 1: Lets create our Parent and Child list.
Parent List: Test Repeat is the name I used for my list. Click here to download the .stp file.
Child List: Child List is the name I used for my list. I know really intuitive huh? Click here to download the .stp file.
Note: Remember this is a simple concept; you can do much more with this if you desire.
Step 2: Now lets modify the form on our Parent List. To do this, got to your list, and select Nintex Forms (See screenshot). If you want to get going quickly, click here to download the list templates which should include the form preloaded. You can then skip to Step 5.
- Delete the forms controls for MyRepeatingSection and DetailTable.
- Add a repeating section to your form
- Name your repeating section "MyRepeatingSection" and Connect it to the MyRepeatingSection column. (This is a testing step and is not needed if you know how to write XML. I recommend doing this only at the beginning. This will allow you to grab the XML that you will need later in your query. )
- Drag the label and text field for FirstName and LastName into the repeating section
- Format it with colors or whatever as needed, then save and publish the form.
If you're a brave soul that wants to figure out some of this manually go to Step 3 first.
Step 3: Create a test item to grab your XML and copy it to notepad to hold it. Now go back to your form and disconnect your repeating section. Save and Publish it again so that its setup correctly for the workflow. This is IMPORTANT, so that your workflow will work correctly.
Step 4: Create the form, import the template, save and publish it.
Step 5: Create a Nintex Workflow connected to the Parent List. Use the blank template and when it opens up click on Import. Click here to download the workflow to use as a template. I am choosing not to go into details so that this isn't a really, really long blog. But, don't fear, I have attached the screenshots for each action in a zipped folder for you.
Step 6: Once the workflow loads, ensure that each action does not have an error on it. If it does, double click on it and configure the settings.
Updated
Based on some feedback and the workflow not importing the UDA correctly, I have added that as an attachment below. The Get Forms Repeating Data UDA needs to be imported before the workflow will work. It will still need configuration, but this should help out.
Step 7: Test your form and workflow. This should work and you should see an output of the data in the list view as shown below. If you are not seeing that, go back and make sure you have your fields named correctly and that your workflow ran with no errors.
------- Parent List Output Above -------
------- Child List Output above -------
That's it. You have just created two list, a form and a workflow that will generate child list for your users. This application can be used for many things, and hopefully gets you started in the right direction for a solution. Now that's what I call ninticity which is short for simplicity with Nintex .
Oh yea, one more thing, share your comments and thoughts on it, what would you have done differently, and do you have any cool tricks with the table that you can do?
Happy Nintexing,
Eric