Going from a Reference Select model -> add page -> Select page. Possible?

I have a reference set selector where I'd like to open the list for select. On this page, there is a button to "Add a new Carrier" to the select list. Clicking on this opens Carrier New form, they add the carrier, save, and then return to the Select page. Is this possible? I can get the Add page from the original Select and I can get back to the Select page; howeer, I have then lost the context between the original caller of the select and the select page itself. As a result, selecting does nothing. How can I help users do on-the-fly adds of new values when using a reference set selector?
2 answers

Here is what I did in the end. I like Mike's idea of a multi-select grid and I may ultimately re-implement with that. In the end, I used a section at the bottom with contingent visibility. Click on the "Add a Customer" button and a field to add the customer shows. It sits inside a simple non-persistable entity that I use for variables of different types. Then you enter the string value, click to save, and a microflow executes to add / refresh. Works great.




I have used a number of different approaches for this situation.  A couple that may give you a starting direction:

  • The Label Selector widget in the appstore.  Enables you to populate reference sets by a combination of typing part of the item title and drop down lists.  It also has the ability to create new reference items if they don't exist.
  • When you are on the page you want to populate the ref set for, create 2 pop up pages, one to remove and one to add items to the reference set.

As an example, I have a page that enables the user to add Customers to a Program (while in the Program edit page).  The Add Customers page looks like this:

The important piece to this page is the XPath on the nested Customer List View.  That XPath looks like this:

[not(Building.Customer_Programs = '[%CurrentObject%]')]

So that List View will display customers that don't have an association to the displayed program.  Add to Program calls a microflow that adds that customer to the reference set.

It would be easy in this case to create an Add button that will pass in the program, Create a new customer and let the user enter information about that customer.

The other important page in this scenario is the remove page, which looks like this:

This is pulling customers currently in the program.  The microflow behind Remove from Program is self explanatory.

Hope that helps,