Help

Scripting: Multiple Linked Records in One Record

1933 1
cancel
Showing results for 
Search instead for 
Did you mean: 
Alexander-Jerry
6 - Interface Innovator
6 - Interface Innovator

Hi,

I’m developing a script for a client and their water store, allowing them to checkout multiple products and log the transaction in AirTable. I still haven’t played around with this yet, but I thought I’d ask the communitty: how do you create multiple linked records for a single record?

I thought about saving the record IDs of the inventory items to an array, and then using a forloop to update the record: but I imagine that would erase the previous link. I’m thinking that I could do this by concatenating all of the record IDs into a single string, and then using that variable when updating the record.

I’ll report back here when I’ve made some progress, would love to hear your thoughts.

1 Reply 1
Alexander-Jerry
6 - Interface Innovator
6 - Interface Innovator

Resolved, this was a LOT easier than I was expecting.
The answer: create an object that contains only one property, “id”, and then push that object to an array.
When creating a record using createRecordAsync, pass that object in as a variable and you’re good to go.

For some context, this is a snippet of a larger script for a local water store in my neighborhood.

var item = {
					Num: item_record.getCellValue("Item #"),
					Product: item_record.getCellValueAsString("Product"),
					Type: item_record.getCellValueAsString("Type"),
					Price: item_record.getCellValue("Price"),
					Quantity_Requesting:  Number(temp),
					Subtotal: Number(temp) * Number(item_record.getCellValue("Price")),
					OnHand: item_record.getCellValue("Quantity On Hand"),
				};

				var recID = {id: item_record.getCellValueAsString("Record ID")}
				cart.push(item);
				inventoryRecID.push(recID);
                let Transtable = base.getTable("Transactions");
				var inventoryArray = inventoryRecID.join();
				let TransId = await Transtable.createRecordAsync({
					"Cash In": cashin,
					"Inventory": inventoryRecID,
					"Deposit": gallon_deposit,
					"Withdraw": gallon_withdraw,
					
				});