Этот класс содержит методы для работы с базой данных в клиентских скриптах. Например, автоматическое заполнение, отображение или обязательность элементов формы, в зависимости от значений в ссылочных полях.

Клиентский класс SimpleRecord позволяет взаимодействовать как с записями таблицы в целом, так и полями конкретных записей.

Обработка запросов этого класса происходит на стороне сервера. Это значит, что для получения данных записи будет выполняться запрос с клиентской части на сервер.

Для некоторых задач функциональных возможностей клиентского SimpleRecord может быть недостаточно. В таких случаях, воспользуйтесь классом SimpleAjax или используйте Table API.

addQuery( property, operator, value )


Используйте метод, чтобы добавить условие (property, operator, value для выбора записей из базы данных. Также, данный метод позволяет добавить условие для получения записей, в котором property равно value (или находится в списке значений).

При добавлении условия в этом методе можно использовать любой оператор из списка операторы условий. Используйте системное название оператора в скрипте.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
propertyStringДаНет
operatorStringНетНет
valueInteger/String/Boolean/ArrayДаНет

Возвращаемое значение:

ТипОписание
VoidМетод не возвращает значение.

Пример:

addQuery
const record = new SimpleRecord('task');
record.addQuery('number', 'like', 'TSK');
record.addQuery('subject', 'startswith', 'Электр');
record.query(() => {
    while (record.next()) {
        console.log(record.number); // TSK0000128
    }
});

deleteRecord(responseFunction)


Используйте этот метод для удаления текущей записи.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
responseFunctionFunctionНетНет

Возвращаемое значение:

ТипОписание
VoidМетод не возвращает значение.

Пример:

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)


Используйте данный метод, чтобы загрузить объект из базы данных, основываясь на значении его ID.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
recordIdStringДаНет
callbackFunctionДаНет

Возвращаемое значение:

ТипОписание
VoidМетод не возвращает значение.

Пример:

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

getTableName()


Используйте данный метод, чтобы вернуть системное имя текущей таблицы

Возвращаемое значение:

ТипОписание
StringМетод возвращает системное название таблицы.

Пример:

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

hasNext()


Используйте этот метод, чтобы определить, существуют ли еще записи в этой выборке.

Возвращаемое значение:

ТипОписание
BooleanМетод возвращает значение true, если есть еще записи. Если больше записей нет, метод возвращает false.

Пример:

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

insert(responseFunction)


Используйте vетод, чтобы добавить новую запись.

Параметр:

НазваниеТипОбязательныйЗначение по умолчанию
responseFunctionFunctionДаНет

Возвращаемое значение:

ТипОписание
VoidМетод не возвращает значение.

Пример:

insert
const newRecord = new SimpleRecord('task');
newRecord.subject = 'Создано клиентским API';
newRecord.insert((response) => {
    const answer = response.responseXML.documentElement.getAttribute('answer');
    console.log(answer);
})

next()


Используйте этот метод для перехода к следующей записи.

Возвращаемое значение:

ТипОписание
BooleanМетод возвращает false, если в запросе больше нет записей.

Пример:

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)


Используйте данный метод, чтобы указать колонку для упорядочивания. Вызывайте метод несколько раз для того, чтобы упорядочить записи по нескольким колонкам. 

Параметр:

НазваниеТипОбязательныйЗначение по умолчанию
columnStringДаНет

Возвращаемое значение:

ТипОписание
VoidМетод не возвращает значение.

Пример:

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(responseFunction, property, value, ...)


Используйте метод, чтобы выполнить запрос, принимая 0 и более параметров в любом порядке. Он использует любую пару литералов как пару запроса (поле:значение) и любую функцию как функцию ответа.

Не создавайте синхронный вызов запросов. Вызов становится синхронным, если запрос выполняется без функции ответа. В этом случае состояние объекта не поменяется, пока не появится ответ на запрос.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
responseFunctionFunction Нет Нет
propertyStringНетНет
valueAny Нет Нет

Возвращаемое значение:

ТипОписание
VoidМетод не возвращает значение.

Пример:

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)


Используйте этот метод, чтобы установить максимальное количество записей в запросе.

Параметр:

НазваниеТипОбязательныйЗначение по умолчанию
maxQueryIntegerДаНет

Возвращаемое значение:

ТипОписание
VoidМетод не возвращает значение.

Пример:

setLimit
const record = new SimpleRecord('task');
record.addQuery('number', 'like', 'TSK');
record.orderBy('sys_created_at'); // Первая запись
record.setLimit(1);
record.query(() => {
    while (record.next()) {
        console.log(record.number); // TSK0000002 
        //...
    }
});

setValue(fieldName, value)


Используйте этот метод, чтобы задать значение поля.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
fieldNameStringДаНет
valueStringДаНет

Возвращаемое значение:

ТипОписание
VoidМетод не возвращает значение.

Пример:

setValue
const record = new SimpleRecord('task');
record.setValue('subject', 'Другой тип назначения');
record.insert((response) => {
    const answer = response.responseXML.documentElement.getAttribute('answer');
    console.log(answer);
})