Help

createRecordAsync not creating a Record

Topic Labels: Scripting extentions
Solved
Jump to Solution
1668 2
cancel
Showing results for 
Search instead for 
Did you mean: 
Ellis_Atwood
4 - Data Explorer
4 - Data Explorer

Can I get a second pair of eyes on my script? Expected behavior is that a user can click a button on any record in the “People” table, and it will create a record in the “Payouts” table, linked to People by a lookup field called “Person”

I don’t get any error messages when I run this script, but I also don’t get any new records in the “Payouts” table. And I’m the only user on the license, so I don’t think it would be a permissions error.

Can you see anything I’m missing? Thanks in advance!

const childTable = base.getTable('Payouts');
const parentTable = base.getTable('People');
const parentRecord = await input.recordAsync('Parent record', parentTable);
const linkField = 'Person';
const newRecordValue = parentRecord.getCellValue("Account Balance")*(-1);
console.log(newRecordValue);

childTable.createRecordAsync({'Amount': newRecordValue, linkField: parentRecord});
1 Solution

Accepted Solutions
kuovonne
18 - Pluto
18 - Pluto

Your syntax for the linked field is incorrect. You are not seeing the error message because you are not awaiting the createRecordAsync line, thus your script ends before it has a chance to report the error.

Try this …

await childTable.createRecordAsync({
    'Amount': newRecordValue, 
    [linkField]: [{id: parentRecord.id}],
});

See Solution in Thread

2 Replies 2
kuovonne
18 - Pluto
18 - Pluto

Your syntax for the linked field is incorrect. You are not seeing the error message because you are not awaiting the createRecordAsync line, thus your script ends before it has a chance to report the error.

Try this …

await childTable.createRecordAsync({
    'Amount': newRecordValue, 
    [linkField]: [{id: parentRecord.id}],
});

Ellis_Atwood
4 - Data Explorer
4 - Data Explorer

Thank you! That did the trick.