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.

Abput data types

Where possible, values are automatically converted into the data type of the respective data field.

Dates must be passed as a Date object to allow them to be extracted into a Date field. See Date in the Mozilla help files.

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 />")} );