Knowledge Base

Browse our knowledge base articles to quickly solve your issue.

Dynamic Linked Items & Picklists

Dynamic Linked Items (DLIs) allow you to create a custom field that links one Workbooks record to another. The field looks like a picklist but the values available to select are formed from a list of records found in a Report of your choosing.

With Dynamic Linked Items & Dynamic Picklists, when you select a value in the field you can also pull through other values from the underlying record.  In addition, Dynamic Linked Items allow you to create relationships between the current and the target record. 

A Dynamic Picklist is built in the same way as a Dynamic Linked Item, the differences being that a Dynamic Picklist field doesn't include a button on the field to allow you to get direct directly to the record and only a Dynamic Linked Item can be used as a drill through on a Report.

Dynamic Linked Items & Picklists give you values to select based on a Report, you can limit the results returned in these picklists to display fewer results relevant to the record you're working on by adding constraint mappings. More information on this type of Dynamic Linked Item can be found here.

NOTE: If a Dynamic Linked Item field on one of your records displays "X (not in list)", then the record that was stored in that field may have been deleted, or no longer meets the criteria of your report or the constraints on that field.

Basic Dynamic Linked Items & Picklists

Below are two worked examples to run through how to create a basic Dynamic Linked Item and Dynamic Picklist without using constraint mappings. 

Example 1: Adding a primary contact to an Opportunity record and populating a field with their telephone number (Dynamic Linked Item)

First, create a Report based on a Person object that contains the following columns:

  • The Person's ID.
  • The Person's name and Employer concatenated together. (This makes it easier when using the picklist to make sure you are selecting the right person , especially if you have more than one person with the same name in your database.)
  • The Person's telephone number.

You can add other columns and apply criteria to narrow down the people to choose from if you like. Your resulting Report will look something like the one in the screenshot below (click to enlarge).

DLI Primary Contact Report

The next step is to create two Custom Fields on an Opportunity record:

The first Custom Field is to hold the telephone number for the primary contact so simply create a text field called Telephone Number. (Start > Configuration > Customisation > Record Types > Opportunities > Custom FieldsNew Custom Field.)

The second Custom Field is for the primary contact in the Opportunity and will be populated using the values in the Person & Employer column in the Report already created.

When creating the field, call it Primary Contact and choose a Data type of Dynamic Linked Item. Use the dropdown picklist next to Report to select the Report that was created earlier. Use the picklist next to Display Column to choose the Person & Employer column from the report.

NOTE: Choosing the Person & Employer column causes the Stored Value checkbox to be greyed out but opens a field called Value Column. Use the picklist next to Value Column to choose ID. (Workbooks has 'recognised' that you've chosen a concatenated field from your report and thus needs to be 'told' how to identify the right person record and uses the ID field to do this.)

Ensure there are values available in the field chosen for Value Column or the Dynamic Line Item cannot work properly - you will be unable to select records without a value in that field.

In order to populate the Custom Field called Telephone Number with the relevant number for the primary contact, click the Add mapped Field button and under Report Column choose Telephone and under Form Field choose Telephone Number.

With auto-refresh on, in this example, every time an Opportunity is opened, the telephone number will be refreshed to reflect the value on the linked Person record. A warning will be displayed at the top of the record if auto-refresh has changed a mapped value on your record.

In this example, we've pulled through the primary contact's telephone number and used it to populate a custom field we've created. You can, however, use data from your underlying report to auto-populate standard fields within Workbooks if that achieves your business requirements.

Your Dynamic Linked Item field will look like this (click to enlarge):

Dynamic Linked Item field
Dynamic Linked Item field

Remember to click Save & Close.

Now within an Opportunity record, you'll see a Custom Field called Primary Contact. You can select a person from those already on your database and this will auto-populate the Custom Field called Telephone Number with the number stored in your database for that Person, as shown below.

Auto populating the custom field
Auto populating the custom field

Notice that you can click on the button next to the Primary Contact's name to open the relevant Person record.

NOTE: You can control the order in which these fields are displayed either using the numbers in the Display order field when creating the Custom Field OR using Custom Form Layouts.

Example 2: Adding Partner details to an Invoice and displaying their discount (Dynamic Picklist)

Some of our customers transact business via their partner network and offer different discounts to different Partners. In this example, a Custom Field has already been created on Organisation records to record the percentage discount that the Partner is entitled to. We want to record on an Invoice Line Item which Partner is involved in the deal and having chosen the Partner, have the Additional Discount field on the Opportunity Line Item automatically display the percentage discount agreed for the Partner.

First create your Report, based on an Organisation object, showing columns for:

  • The Organisation's ID.
  • The Organisation's name.
  • The Percentage Discount field.

To shorten the list to show only Partners you can then apply a criterion to limit the results to Organisations who are Partners of your Own Organisation.

Here's our Report:

Own organisation report
Own organisation report

Follow the path Start > Configuration > Customisation > Record Types > Customer Invoices > Line Item Custom Fields > New Custom Field to ensure you have a simple percentage field labelled 'Partner discount' and if not then create it in the same way as above.

Now create your Dynamic Picklist. Through the same path as above create a new custom field:

When creating the new field, label it 'Partner' and set the Data Type to 'Dynamic Picklist'. Use the picklist in the Report field to select the Report created above and select 'Partner name'.

At the bottom of this window (scroll down) there is an option to 'Add mapped field'. Select 'Percentage discount' for Report Column and 'Partner discount' for Form Field.

NOTE: Make sure you click Save!

This is what your Dynamic Picklist item field should now look like (click to enlarge):

Dynamic Picklist item field
Dynamic Picklist item field - finished

Now, when you create a new Invoice Line Item there will be two new columns available: 'Partner' and 'Partner discount' (you may need to activate the columns within the Line Items view to see them). This means you can pick which partner the Invoice is associated with and if that Organisation has a discount associated to it, then the 'Partner discount' field will be auto-populated with that value.

NOTE: The discount column doesn't automatically apply that discount to the Line Item, it's simply designed to inform the User of the partner discount.  If you want the discount to be applied, you might like to consider having a script written that will do this automatically for you.