Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
This class represents the database managing functionality in client-side scripts. For example, auto population of the fields, displaying some form elements and setting mandatory attribute for them regarding the values set in the Reference Fields.

The client SimpleRecord class enables a user to manage both records in the tables and fields of single records.

In this class, client-side queries are executed on the server. That is, to get a record data, a request from the client side will should be sent to the server.

The functionality of the client-side SimpleRecord class can be not enough for managing some business tasks. In this case, use the SimpleAjax class or Table API.

addQuery()


Use this method to filter the records by specifying certain conditions (field, operator, value). Also, with this method you can You can also add a condition to get records having with a field equal to the value (, or is in the list of the values).

Within this method, it is possible to use any preferred operator from the Condition Operators list. Notice that it is necessary to use the system name of the operator in the script.

Parameters:

NameTypeMandatoryDefault Value
propertyStringYN
operatorString (see Condition Operators)NN
valueInteger / String / Boolean / ArrayYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

Code Block
languagejs
themeEclipse
titleaddQuery
linenumberstrue
const record = new SimpleRecord('task');
record.addQuery('number', 'like', 'TSK');
record.addQuery('subject', 'startswith', 'Email');
record.query(() => {
    while (record.next()) {
        console.log(record.number); // TSK0000128
    }
});


deleteRecord(responseFunction)


Use this method to delete the current record.


Parameter:

NameTypeMandatoryDefault Value
responseFunctionFunctionNN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

Code Block
languagejs
themeEclipse
titledeleteRecord
linenumberstrue
const taskRecord = new SimpleRecord('task');
taskRecord.get('123456789012345678', () => {
    taskRecord.deleteRecord(callback);
});

function callback(response) {
    const answer = response.responseXML.documentElement.getAttribute('answer');
    if (answer == '1') {
        console.log('Record deleted');
    } else {
        console.log(answer);
    }
}


get(recordId, callback)


This method loads an object from a database, based on the its ID.


Parameters:

NameTypeMandatoryDefault Value
recordIdString (thesys_id value)YN
callbackFunctionYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

Code Block
languagejs
themeEclipse
titleget
linenumberstrue
const record = new SimpleRecord('user');
record.get(s_user.userID, () => {
    console.log(record.email); // admin@admin.ru
});


getTableName()


This method returns a name of the current table.


Return:

TypeDescription
StringThe table name value.


Example:

Code Block
languagejs
themeEclipse
titlegetTableName
linenumberstrue
const record = new SimpleRecord('user');
record.get(s_user.userID, () => {
    console.log(record.getTableName()); // user
});

hasNext()


Use this method to define whether the a selection contains other records.


Return:

TypeDescription
BooleanThis method returns true if there are some more records; otherwise, it returns false.


Example:

Code Block
languagejs
themeEclipse
titlehasNext
linenumberstrue
const record = new SimpleRecord('user');
record.get(s_user.userID, () => {
    console.log(record.hasNext()); // true
});

insert(responseFunction)


Use this method to insert a new record.


Parameter:

NameTypeMandatoryDefault Value
responseFunctionFunctionYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

Code Block
languagejs
themeEclipse
titleinsert
linenumberstrue
const newRecord = new SimpleRecord('task');
newRecord.subject = 'Client-side insert';
newRecord.insert((response) => {
    const answer = response.responseXML.documentElement.getAttribute('answer');
    console.log(answer);
})


next()


Use this method to move to the next record.


Return:

TypeDescription
BooleanThis method returns false if there are no more records in the query set.


Example:

Code Block
languagejs
themeEclipse
titlenext
linenumberstrue
const record = new SimpleRecord('task');
record.addQuery('number', 'like', 'TSK');
record.addQuery('subject', 'startswith', '[SWD-10');
record.query(() => {
    while (record.next()) {
        console.log(record.number); // TSK0000128
    }
});


orderBy(column)


Use this method to specify a column to order by. To order by multiple columns, call the method several times.


Parameter:

NameTypeMandatoryDefault Value
columnStringYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

Code Block
languagejs
themeEclipse
titleorderBy
linenumberstrue
const record = new SimpleRecord('task');
record.addQuery('number', 'like', 'TSK');
record.orderBy('number');
record.query(() => {
    while (record.next()) {
        console.log(record.number); // >TSK0000128  >TSK0000129  >TSK0000130 ...
    }
});


query(callback)


This method executes a query taking 0 or more parameters in any order. It takes any pair of literals as a query pair (field: value) and any function as a response function.

Do not make synchronous query calls. The call becomes synchronous if a query is performed without a response function. In this case, the display does not perform counting until it gets the query response.


Parameter(s):

NameTypeMandatoryDefault Value
responseFunctionFunctionNN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

Code Block
languagejs
themeEclipse
titlequery
linenumberstrue
const record = new SimpleRecord('user');
record.addQuery('sys_id', s_user.userID);
record.query(() => {
    if (record.next()) {
        console.log(record.email); // admin@admin.ru
    }
});

setLimit(maxQuery)


Use this method to define the number of records in the query.


Parameter:

NameTypeMandatoryDefault Value
maxQueryIntegerYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

Code Block
languagejs
themeEclipse
titlesetLimit
linenumberstrue
const record = new SimpleRecord('task');
record.addQuery('number', 'like', 'TSK');
record.orderBy('sys_created_at'); // the very first record
record.setLimit(1);
record.query(() => {
    while (record.next()) {
        console.log(record.number); // TSK0000002 
        //...
    }
});

setValue(fieldName, value)


Use this method to define a value for the field.


Parameter(s):

NameTypeMandatoryDefault Value
fieldNameStringYN
valueStringYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

Code Block
languagejs
themeEclipse
titlesetValue
linenumberstrue
const record = new SimpleRecord('task');
record.setValue('subject', 'Another type of prop assignement');
record.insert((response) => {
    const answer = response.responseXML.documentElement.getAttribute('answer');
    console.log(answer);
})


Table of Contents
absoluteUrltrue
classfixedPosition