Jul 07, 2020 03:19 AM
I have some set of records that need to be duplicated. At my surprise, there’s no option to “Duplicate” when more than two records are selected.
I cannot duplicate by hand because the base is quite heavy, there’s too many records to duplicate and it could cause a lot of errors.
Is there a way to do that (a block, a script, an integromat scenario…) ?
Jul 07, 2020 06:43 AM
It is possible to duplicate multiple records with a script, a custom block, or Integromat.
However, needing many duplicate records usually indicates an issue with the base design. Why do you need to duplicate multiple records on an ongoing basis? What types of errors could be caused by duplicating by hand? Would the records remain exact duplicates of each other or will you be changing their data after the records are duplicated?
If you need to hire someone to write a script or custom block, there are several forum members with experience writing them (myself included).
Jul 08, 2020 01:29 AM
Thank you for your answer.
To make it simpler there’s three tables: the clients, one for events, which compose an invoice.
The invoices are generated at the end of the month based on the events. The events (which can be hours worked for example) are created by 20 different persons filling up a form through the days (there’s ~1000 events per month) those events are directly linked to the clients (because they need to enter on what client & what case they’re working on). The rule to generate invoices is based on that and it works perfectly.
The usecase where it doesn’t work is when a same bill, with the same events, needs to be splitted into 4 different clients (for example 25% of repartition for each one). In this case we need to duplicate all the events of the bill, change the client linked to and assign to a new bill. It is relatively exceptional though, for now we do it manually, it’s working fine, but can lead to errors.
Jul 08, 2020 05:05 AM
Thank you for the explanation. It sounds like creating duplicates is only one step in your ultimate goal, as each record will have a different linked client in the end.
I recommend a script or custom block for this use case so that you can perform both steps (creating new records and changing the linked client) at as a single transaction. If you use Integromat, you would have to create a new field to contain a flag that Integromat watches for, set a flag, wait 1 to 15 minutes for Integromat to duplicate the records, and then come back and make the change in linked client.