Creation of multiple rows dynamically

No! I wasn’t aware that it behaved that way, will definitely check it out.

1 Like

What makes you think it would be likely to break? It hasn’t broken yet :wink:

Sorry, I should have been more clear.

I may not be the only one working on the project.

So unless the other person also completely understands how it works and keeps it in mind while adding more functionality it may break.

But I guess all currently suggested solutions have that issue since they break out quite far from the basic Glide functionality.

1 Like

Thanks @Tobias

Please @SantiagoPerez can you check what happened? This template is for Glide Pages not Glide App.

If you’re familiar with apps script, then this is fairly straight forward. All you really need to do is write a single row to a working table, and then have a trigger take that and create the required number of rows in the secondary table (or tables).

I did this several months ago, not for myself but for @yinon_raviv. I’m not sure if he’s still using it, but perhaps he might comment on how well it worked - or didn’t work, haha :crazy_face:

When it came time to do it for myself (for another customer, actually), I deliberately tried to avoid an apps script solution as I figured it would be easier to maintain for somebody that wasn’t familiar with apps script.

Thanks for letting us know.

1 Like

We haven’t launch the app yet should be within few weeks.
All testing were successful so far and Darren’s script works great so far but when mass users start we’ll be smarter

Uuufff… amazing work @Roldy :trophy:

Reading the term “BOM” at the beginning I was confused, I knew that I had seen something like this and remembered my days working with SCADA systems. We called it a Recipe but it was something basic and each Recipe was saved as a text file. Any time we wanted to load a recipe to system, it looked for the Recipe file and later send the data to field.

But working later with MES (Manufacturing Execution Systems) these Recipes are called BOM, have a complex structure and have higher value due to need to have a traceability and of course, a real database is used to save and retrieve that data. I never saw the DB’s internal structure of those MES I worked but reading your work, now I can understand the challenge.

But working with Glide and the need to be efficient and save rows, we need to create something better to avoid having a “rows eater” :grinning:

Although a BOM looks like a list and we think we must write its products/items in rows I can bet we can write all this in one row in order to save space. I try to make an analogy between this case and the way we collect products to an order on a Delivery APP and I see almost the same: it’s possible.

Depending of BOM structure, we can put its selected items in a list and later, playing with an array, create (a) multiple relation(s) to retrieve more data from other tables and keep the traceability.

It’s just and quick idea sitting down on my comfort chair watching TV but I think it will work :innocent: :wink:

Greetings!

Feliz fin de semana!

3 Likes

I use this, specifically.

Built my value structure through my app and pass it via the webhook.

1 Like

Thanks, everyone for so much input.

I came up with a solution that would work with any solution that allows to loop over a table. I used App Script.

I restructured the data to the following:
Products & Components (id, name, type)
Assembly (id, product id, component id, quantity)
Production List (id, product id, quantity, status)

@Roldy your template was very helpful in re-thinking the data structure. I had not considered multiple levels of connections before.

With these 3 tables I can reach unlimited levels deep in the BOM and add an unlimited number of sub-components at each level. At the same time the table structure is pretty simple.

All I do now is send a webhook with the product ID & quantity I want to produce to my app script. That loops through the Assembly table and finds all components that need to be ordered & calculates the required quantity.

Then it writes an entry for each part that needs to be ordered/produced in the Production List.

3 Likes

It looks like there are quite a few people here who had this issue before and I assume we won’t be the last.

@ThinhDinh @Roldy @VVerhille @Darren_Murphy

Please upvote this loop action feature which would make this and similar implementation so much easier: Looped Actions

It looks like it didn’t gain much traction. Maybe because a lot of Glide users are not developers, so a loop action doesn’t mean much to them? Not sure.

But it would be great if we could generate some traction for that feature!

4 Likes

Now it’s ok thanks!
But sorry @SantiagoPerez why the maker is My Team and not Roldy?

It is extremely complex to do everything in one row, all inside Glide of course.
Honestly, with the tools we have today, I don’t know if I would be able to do that.
Do you think it’s possible @gvalero ? I’ll think about it too as soon as I have a moment.

Unfortunately, I have reached my limit of votes, and I cannot support it. Yes, it would be really useful, but I say that if it were possible to work with actions that are able to act on multiple relations, we could achieve amazing results without the need to find workarounds all the time.

This most likely the info that you have in your template. If you want your name to appear on the template store you need to go to app info settings and change your team name for your name.

1 Like

Sorry, I can’t find this setting. App info in Pages it is different from App, here there is no section where to write the author’s name.

You are right! Type your name in the description.

1 Like

Do you mean that I’ve to submit the template again writing Roldy in the description input field?

Hola Roldy,

Let me try something when I have some free time although your requirements to have 99 levels is … :woozy_face: :upside_down_face:

1 Like

You do not need to resubmit it.

I meant, next Page that you submit, type your name in the description so it gets posted on the Template store.

1 Like