You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

 

This class is used to operate a database by providing ways to use some functional capabilities of this class in client-side scripts, for example, UI policy scripts.

In SimpleRecord API, records and fields are included.

In this class, client-side queries execute on the server. That is, perform the request from the client browser, to get the record data,

Scoped applications do not provide the client-side SimpleRecord. Instead of this, create a Script Include or use REST API.

addQuery()


Use this method to filter the records by specifying certain conditions (field, operator, value). Also, this method returns records having 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 scripts.


Return:

TypeDescription
VoidThis method does not return a value.


Example:

addQuery
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(s):

NameTypeMandatoryDefault Value
responseFunctionFunctionNN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

deleteRecord
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('Запись удалена');
    } else {
        console.log(answer);
    }
}


get(recordId, callback)


This method loads an object from a database, based on the field value.


Parameter(s):

NameTypeMandatoryDefault Value
recordIdString (the sys_id value)YN
callbackFunctionYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

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

getTableName()


This method returns the current table name.


Return:

TypeDescription
StringThe table name value.


Example:

getTableName
const record = new SimpleRecord('user');
record.get(s_user.userID, () => {
    console.log(record.getTableName()); // user
});

hasNext()


Use this method to define whether the selection contains any more records.


Return:

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


Example:

hasNext
const record = new SimpleRecord('user');
record.get(s_user.userID, () => {
    console.log(record.hasNext()); // true
});

insert(responseFunction)


This method allows inserting a new record.


Parameter(s):

NameTypeMandatoryDefault Value
responseFunctionFunctionYN


Return:

TypeDescription
StringSys_id of the record created.


Example:

insert
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:

next
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 an orderBy column. To order by multiple columns, call the method several times.


Parameter(s):

NameTypeMandatoryDefault Value
ColumnStringYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

orderBy
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
responseFunctionFunctionYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

query
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(s):

NameTypeMandatoryDefault Value
maxQueryIntegerYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

setLimit
const record = new SimpleRecord('task');
record.addQuery('number', 'like', 'TSK');
record.orderBy('sys_created_at'); // 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:

setValue
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);
})

  • No labels