Skip to main content

Hello dear community. First time asking a question and learning the basics of scripting.


One part of my script asks the user for a value like this:


let SessionPrice = await input.textAsync (‘Input price per coaching session’);


Then I’m trying to insert that value on a currency field with:

Let CreateField = await MainTable.createRecordsAsync(A{Fields:{“UnitPrice”: SessionPrice}]);


And I get the error:

j: Can’t create records: invalid cell value for field ‘UnitPrc’.

Cell value has invalid format: must be a number


I guess its because its a ‘text’ string and I don’t know how to convert it or make it a ‘currency’.


In advances I’ll appreciate your help.


Thanks…

Welcome to the community, @Nicolas_Hurtado! :grinning_face_with_big_eyes: It’s definitely a tad annoying that there isn’t a direct way to do numeric entry with a script. That aside, converting a string to a number is fairly simple: wrap the Number() type around your string.


As a side note, you don’t need to assign the result of record creation to a variable (unless you need to use the new record ID somewhere else in your code). You can also use the createRecordAsync (singular) variant because you’re only creating a single record, and simplify the data that you’re passing.


With those changes applied, your line looks like this:


await MainTable.createRecordAsync({"UnitPrice": Number(SessionPrice)});

Welcome to the community, @Nicolas_Hurtado! :grinning_face_with_big_eyes: It’s definitely a tad annoying that there isn’t a direct way to do numeric entry with a script. That aside, converting a string to a number is fairly simple: wrap the Number() type around your string.


As a side note, you don’t need to assign the result of record creation to a variable (unless you need to use the new record ID somewhere else in your code). You can also use the createRecordAsync (singular) variant because you’re only creating a single record, and simplify the data that you’re passing.


With those changes applied, your line looks like this:


await MainTable.createRecordAsync({"UnitPrice": Number(SessionPrice)});

Thanks for taking the time to answer and for the extra suggestion. I’m enjoying this learning process of scripting. 🙂


Reply