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

Compare with Current View Page History

« Previous Version 8 Next »

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

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

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

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

addQuery(property, operator, value)


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

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

Параметры:

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

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

ТипОписание
VoidДанный метод не возвращает значение.


Пример:

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)


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

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
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 (sys_id)ДаНет
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)


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


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
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(callback)


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

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


Параметры:

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


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

ТипОписание
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);
})

  • No labels