I am looking for a deeplink expression to open a detail view that has some quickedit columns and I would like to edit one of them with data from the view where I am

I have a table that has a child table, this app is a recipe book, where the parent table contains information such as Recipe Name, Production Yield, etc. and the child table contains the information of each ingredient that the recipe has with its quantities , the issue I am looking for is to make a deep link that allows me to go from the inline view that is in my Recipe Detail to the row of the parent table by editing a field in the detail view that has quickedit enabled. It is important to mention that the ingredients registered in the recipes belong to the same table, if I register a new recipe this record will be available as an ingredient to use in a different recipe than the current record.

0 6 357
6 REPLIES 6

This is the deeplink that would serve you:

Iโ€™m not sure what the following part mean. You might want to explain your purpose in a bit more detail and include screenshots of your data. Thanks

Not everything is totally clear.

You want to go to a Detail view with QuickEdits on it. QuickEdits or not, doesnโ€™t matter, to do that you would need to use the LINKTOROW() function.

For the rest of it youโ€™ll need to explain a little more. Maybe some images would help.

In the first image is the detail view where the recipe information is, in the case that it is a sub-recipe (SR) when I click on the inline of the reference I want it to take me to the detail view of that referenced sub-recipe and since that view has a quick edit, its Production Yield column is edited automatically with the value of the quantity in the referenced inline of the ingredients.

Image 1:


Image 2:
the production yield value is the one I would like to be automatically edited once I travel from one view to another.

I am currently using this formula:
IF([_THISROW].[Tipo de Ingrediente]=โ€œSRโ€,

LINKTOROW([_THISROW].[Ingreidiente],โ€œRecetario Sub Recetas_Detailโ€),

LINKTOROW([_THISROW].[Ingreidiente],โ€œArticulos_Detailโ€)

)

Ok, this is much more clear.

I still donโ€™t quite understand this part. Isnโ€™t the โ€œCantidadโ€ column from the table and the โ€œCantidad a Producirโ€ column in the Detail view the same column? If so there is no need to make an update. If not, then the update should be done to both at the same time when the original โ€œCantidadโ€ value was set/updated - so they stay in sync at all times.

I assume then that you already have an action to navigate to the views when a row is selected?

If not, then all that is needed is to create an action for your Inline table of type โ€œgo to another viewโ€ and set the Target to your expression above. Then you just need to attach that action to the Row Selected behavior in that Inline table view.

yes the actions that takes from the inline view to the detail view is the one that I post on the last msg.
IF([_THISROW].[Tipo de Ingrediente]=โ€œSRโ€,

LINKTOROW([_THISROW].[Ingreidiente],โ€œRecetario Sub Recetas_Detailโ€),

LINKTOROW([_THISROW].[Ingreidiente],โ€œArticulos_Detailโ€)

)

The thing is that I want that when this action is executed, it also updates the value of the yield that would be taken from the Quantity column, since the Qty column belongs to the child table of ingredients and Yield to the parent table, the main idea of โ€‹โ€‹this is that if in a recipe it tells you that you must have a certain amount of that preparation and you scroll through the views, adjust the preparation to what you need exactly

Sure, I donโ€™t know your app like you do.

To accomplish this you will need to update the value BEFORE navigating to the view.

But this does introduce some complexity. To update the value you wish, you need to be able to access the source row from the update action - something like โ€œupdate values in a row from this rowโ€. This has been a gap in actions for which AppSheet has taken a couple approaches at resolving. Here are those 2 approaches:

  1. AppSheet now supports UPSERTing. If you perform an ADD action but reference an EXISTING row, AppSheet will UPDATE that row. The downside is that you will need to ASSIGN every column a value - even if just re-assigning the existing value. A column not assigned, is treated as empty and will overwrite the existing value. The advantage of using this method is that you will have access to the source row in order to update the target row.

  2. Use the INPUT() function. AppSheet introduced a few months back this INPUT() function that can be used to temporarily hold a value and pass onto another action. It is labeled as โ€œBetaโ€ in the Expression Assistant but some claim it is production ready. It is a bit tricky to understand but hopefully this article can help if you go this route:


Once you decide which route you want to go for updating the value, you will next need to create a set of actions to perform this update and navigation to the Sub-Recipe view and then update your existing action accordingly to โ€œplug-inโ€ this set of actions.

Top Labels in this Space