Hello -
I’m wondering if anyone in the community has encountered a similar scenario to the below and how you solved for it and/or if anyone has thoughts on UI design concepts.
Objective
Building a popup that allows the user to create a record in a junction object. Need to provide the user a way to “search” from 3 levels up on each side to identify the objects that will go in to the junction as lookups.
Use Case Summary:
1) User must be able to “filter” by PO, then by PO Item and then pick a PO Item Ship Period
2) User must be able to “filter” by SO, then by SO Item and then pick a SO Item Ship Period
3) After identifying both PO Item Ship Period & SO Item Ship Period, user must input a numeric value
More details:
1) Purchase Order (PO) contains Purchase Order Items (POI) which contain Purchase Order Item Ship Periods (POISP). Same on the Sales Order Side (SO->SOI->SOISP).
2) Junction Object between POISP and SOISP called Allocation. User can allocate some or all of the quantity of POISP to SOISP.
3) In most cases, the users will create allocation record either coming from PO screen or SO screen so one side is “known” but the other needs to be searched for. Ideally, the design would work even if neither side was known initially.
4) Identifying a side of the junction requires finding the target SO/PO, the Item inside (POI/SOI) and then the ship period inside that (POISP/SOISP). Unfortunately, due to data complexities, identifying which item and which item ship period is not as simple as displaying a “name” field so table filters won’t work well due to length of data required to display.
5) Since only 3 data points are needed to create junction (search fields not included), the popup needs to be a single page (no wizard) so that users can change “search” criteria easily (minimize clicks).
6) I’d like to have the junction object only have two lookups - one for POISP and one for SOISP. There is no need to have lookups to PO, POI, SO & SOI.
Designs Considered So Far
1) Add PO/POI & SO/SOI to junction object and use lookup filters, etc. This will technically work but the only reason for adding these 4 fields would be to drive the UI and having them adds validations (everything must be from the same PO & PO Item), etc. that would otherwise be unnecessary.
2) Create a “AllocationUIHelper” in SFDC that never contains any records but it used strictly for a field editor to aid in searching. The downside here is that I have an object that would otherwise not be needed and also I’d be using multiple field editors so UI spacing/positioning wouldn’t be ideal
3) Write a custom component that has input fields necessary to capture the information required. The downside here is custom code and also lose the ease of stock features such as search filters, etc. This can all be accomplished programmatically but more difficult to maintain/support.
4) Not possible today (without come creative coding) but if there was a way to define a custom search popup to replace the stock popup that would allow me to keep just the 3 fields I need and build a intelligent popup using a field editor (would still need AllocationUIHelper object probably) and a table.
Does anyone have ideas or possibly implemented a solution that allows the user to specify “search” criteria that will drive the user down a dependent path of data (PO then PO Item then PO Item Ship Period) without having fields directly in the object to search on?
Any thoughts/assistance is greatly appreciated!
Question
Junction Object UI Design Ideas for complex assocation
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.

