set(record)
The set()
method of the table
object sets field values in an existing detail table row. The row is specified by its index in the detail table:
record.tables.<table>[index].set(<record>
)
If the index is invalid, the call fails.
record
The mandatory record
parameter is a JavaScript object that contains one or more fields specified in the data model for the detail table.
The record
parameter may contain a subset of the fields in the Data Model. Only the fields included in the record
parameter are updated in the database, while the contents of all other fields remain unchanged.
The call fails if the parameter is omitted or empty, if any of the fields specified in the record
doesn't exist in the Data Model, or if a value cannot be converted to the data type that is expected in a field.
About data types
Where possible, values are automatically converted into the data type of the respective data field.
Passing an improper data type triggers an error. For instance the following objects are all invalid:
{ myBoolean : "true" }
- The myBoolean field is boolean and expects a boolean, not a string
{ myDate : "2021-03-29" }
- The myDate field is a date and expects a Date object: myDate: new Date(2021,2,29)
, not a string
{ myPageCount : 2.5 }
- The myPageCount field is an integer and expects a number without any decimals
{ myPrice : "19.99" }
- The myPrice field is a currency and expects a number value, not a string
Examples
This script sets the 'customerName' and 'customerAddress' fields of a detail table row.
record.tables.details[3].set({customerName : "John Doe", customerAddress : "123 test road"});
The following script adds an empty row to the table and then extracts some data into the Description field of the new row.
row = record.tables.myDescriptions.addRow();
record.tables.myDescriptions[row].set( {Description : data.extract((52+i*12),(66+i*12),0,1,"<br />")} );