Hello,
Today I'll be focusing on an extremely powerful, but pretty obscure piece of functionality found in our Associated Tasks Field and Smart List Pro. It allows you to automatically pass values entered in the parent form right into the related child forms, without having to re-enter anything manually.
Consider the following scenario: you are building a SharePoint-based invoicing system (similar to our Quote Generator solution). For this you are using 2 main lists:
- Invoices - where the main details of the invoice go, such as customer name, bill to/ship to addresses, totals and so on
- Invoice Details - this is where you enter the actual invoice line. Each invoice will have at least one invoice line
Associated Tasks field makes it very easy to set something like this up, you can even add new invoice lines while your invoice is still in its New form, without having to save it first, directly from within the form.
Assume that your requirement is to enter the Currency type both in the invoice itself and on each invoice line. Doing so manually is time-consuming and open to human errors. What you need is an ability to pass the value selected on the invoice to the invoice lines automatically.
Thankfully, it's really easy to set up. Associated Items field will read the values of the parent item columns and pass them to the child New form automatically, in the query string. Almost all column types are supported and there is nothing to configure, it happens automatically. Now all we need to do is to use these value to set the default value for the columns on the child form. Smart List Pro's Default value setting are here to help.
Let me go over the process step-by-step, with some images to make it easier for you. When we open the main Invoice form we enter some data there:
Now click on New entry link of Associated Items column Products. It will open the child New form. Right-click there and choose Properties (that's in IE, other browser offer similar functionality).
Take a look at the URL:
dAddForm.aspx?list=5c399cc2-ad80-4835-9c21-
20c262d7999b&ct=0x01009F1253B955FF430E86C308E7F1E1F49C002E3EE3F60BF5
DA41875C4BA43EA1D389&IWParentWebID={684b8cf4-1666-4c55-84ca-
48e8632779c4}&IWParentListID={4327c74a-dc11-4233-affe-
863f2c06b0fd}&IWParentItemID=c4ff53d9-3139-4c70-a33f-
43db923e989c&IWFieldName=Products&IWParentLink=&iwfvDocument_x0020_Type
=Quote&iwfvCompany=ABC%20Enterprises&iwfvContact=Jack%20Connor&iwfvQ
uote=%28None%29&iwfvPO_x0020__x0023_=&iwfvIssued=2%2F21%2F2014&iwfvD
elivery_x0020_Date=Immediate&iwfvPayment_x0020_Terms=Immediate&iwfvAdditi
onal_x0020_Discount=&iwfvTax=13&iwfvCurrency=USD&iwfvCoupon_x0020_Code=
&iwfvPayment_x0020_Date=&iwfvtest=&IsDlg=1
It contains the parent column values, the parameter names are simply internal column names, prefixed by iwfv, such as iwfvCompany or iwfvContact.
Now we can use these parameters in Smart List Pro to set default value rules. On your child list (Invoice Details) go to List Settings, there click on Infowise Default value settings. Select a column you want to set a default value for. Check Query string parameter checkbox and enter the parameter name, e.g. iwfvCurrency.
Save the rule and your are done. Now when you open the child form from the parent, the column values are going to be prefilled with the value you entered on the parent form!