Conveniently and simultaneously move several child records from one parent record to another

Use case for the tip: Move several child records simultaneously from one parent record to another.

In many business scenarios, one may want to move several child records from one parent to another. However it is not just a bulk transfer of all child records but a user selected list of child records to move.

1. When a project ends or is nearing end, the majority resources allocated to that project need to be allocated to a different new project.

2.  Transfer of several employees from an existing work location to a new work location.

3. Movement of certain items from one warehouse to another and so on.

This tip is actually was an answer to the following community post.

Solved: Moving assets between locations - Google Cloud Community

At the outset I mention that there could be several different ways to achieve the said functionality such as using a user table or user settings etc.

Actual implementation may be more complex where there are some calculations /charts attached to children records related to a parent because after movement those historical calculations may not be valid. So this approach may be more useful in simpler scenarios such as moving tools and tackles from one site to another.

Sample app:

Project and Assets

The user can simultaneously move several assets ( child  records) allocated to one project to another (parent record). The user easily selects the assets to be moved from an enumlist column and project to move to from an enum column.

Points to note about App configuration 

1. App Tables

 

Show More

A Projects ( Parent Table)

B.  Assets ( Child to Projects table)

2. Columns relevant to this functionality in the Projects ( 2 columns)  and Assets table ( 2 columns)

 

Show More

A) [Active_Assets] 

Enumlist column of  the related assets of the project record by using the expression [Related Assets] in the valid_if.

Purpose: The user can easily select the assets he wishes to move to another project by using this enumlist column.

Suvrutt_Gurjar_0-1718697894727.png

B) [New_project]

An enum column that lists all other projects other than the current project from where the assets need to be moved.

Purpose:  The user can select the project where the assets need to be moved.

Suvrutt_Gurjar_1-1718698213089.png

Suvrutt_Gurjar_2-1718698258729.png

C) [Project_Tracking] column in the Assets table

This column a long text column automatically keeps a track of how an asset moves from one project to another. It is non user editable column. It is updated by the action "Change Project Assets Table" as described below.
Note: Currently the description during each project change is long. Google sheets has a character limit of 50000 for each cell. So after around 650 project changes the cell would saturate. One can of course add suitable expression to retain latest , say 25 changes.

3. Actions

 

Show More

A. Group action "Change Project Group" in the Projects table

 Groups the two actions A) "Change Project Master" action that is a reference action that moves the selected assets from the current project to the new selected project. B) "Reset Assets" action that resets the current project record's assets in [Active_Assets] column. This action is necessary because [Active_Assets] is a real column and needs to be reset after  some assets have been moved to the new project using the reference action "Change Project Master" described in 3) A) above.

Suvrutt_Gurjar_3-1718698858306.png

 

B. Reference action "Change Project Master" in the Projects table

It basically references the assets records as selected by user in the [Active_Assets] column.

Suvrutt_Gurjar_4-1718698899972.png

 

C. Action "Change Project Assets Table"  in the Assets table.

i)This action sets the project ID to the new project Id in the assets table where the Assets need to be moved. As we noted the user selects the project to move to in the [New_Project] column of the Projects table.. The expression of this action is [Project_ID].[New_Project]

ii) This action also updates the long text column [Project_Tracking] with an expression of 

CONCATENATE([Project_Tracking], "
","* New Project: ", [Project_ID].[New_project].[Project_Name], " allocated on ", NOW())

This basically tracks when an asset changes project and to which project it has changed.

Suvrutt_Gurjar_0-1718708185511.png

 

 

 4. The view from where the app user can move the assets from one project to another

Suvrutt_Gurjar_6-1718699154734.png

 

Show More

Go to a Project record's detail view.

A) Select assets to move from the current record to the other project IDF by using the column [Active_Assets]

B) Select the project name where the assets need to be moved by selecting a project in the [New_Project] column.

C) Use inline action "Reallocate Assets" action on the current active project record ( the record is highlighted by the system in the deck view) to move the selected assets  in 4)A) above to the project selected in 4)B) above.

 

 

 

 

5 6 258
6 REPLIES 6

Sir,

Really impressed on your work.     

 Is this enum list selected items view is only available in desktop or in mobile and tablet too ?

jaichith_0-1720201291086.png

 

My request to you is to try out the sample app shared in the post. It should be available in the mobile views as well.

I could see the regular drop-down only  and not the items with x as shown in the image .

For that you can set the enumlist option to show "buttons" instead of "dropdown". In the shared app "dropdown" option is selected in column configuration.

Suvrutt_Gurjar_0-1720238209060.png

 

If the list is too big. . It won't be nice to buttons.. looks congested .

Then one can use drop down option.

Ultimately , I believe one cannot have all the desired features always at one go. A mix and match approach is required in a design based on available features. 

There are many approaches possible to make it as user friendly as possible.

Top Labels in this Space