That’s the full Line Item table. There are no virtual columns to reference the Client.
This one is easy because the Client’s email is stored in the row we are filtering.
Here, we can use a similar expression, but we have to ‘dereference’ through the [Client] Ref to get the [Email]
Normally I would create a virtual column in the Line Item table to pull in the Client (Grandparent) Ref, and access the Email using the same method as in the Invoice table.
However, I’ve just found a new technique:
So if the Line Item references an Invoice they are allowed to see, then they can see the Line Item too. And any Line Items that reference an Invoice they can’t see will be hidden as well.
By defining the grandchild security filter on the visibility of child keys, the grandchild table effectively inherits the security filter from the referenced child table.
This is actually ultra great findings and solutions! Well done and I m impressed.
For now (until I get to know about this new tips and tricks), it was always happening to me to how to efficiently apply the security filters.
Simple case.
I have table of inspection report which stands as parent to child table, inspection details. They are connected through usual ref column.
Inspection table have “property name” fields.
–
For security filter applied to parent table, lets say we let the user to select the name of the property through Usersettings. User select arbitrary name of property and save. then sync starts to pull the records for that property name inspection record only, which is fine. However, we are not able to apply the same security filter onto child table, unless we have physical (not virtual) column for property name. Normally, we avoid to have the duplicated column across other table in view of efficiency. But to apply the same filter to child table, I go back to the table schema setting and add physical column to “store” property name just for the purpose of security filtering.
I even didnt know the tips and tricks you applied to your Invoice table, which make me free from adding unnecessary physical column to associated tables.
What a great help to make our apps more efficient!
thank you again for sharing
I very much echo what @tsuji_koichi has mentioned.
Super Useful.
The techique is also described in this article… https://help.appsheet.com/en/articles/3086424-advanced-techniques-horizontal-scaling
Obviously written by a time-traveler set on ruining this celebration of my discovery!
Sorry about that
@GreenFlux Don’t worry. Even though I read this article months / years ago, I didn’t understand it very well. Now it was you that made the usecase clear to me
Indeed. I echor what you say.
Greetings .
Trust you very well been trying to create invoice and quote App but been running to a lot of hiccups... like adding multiple items so they auto add up. so i see your screen shot and its a similiar vesion of what i wanted.
Please assist/
Please start a new topic for help with this.