Перейти к основному содержимому
Версия: 1.23.3

SimpleRecord Client-Side

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

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

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

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

addQuery(field, operator, value)


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

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

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

Следующие операторы используйте без значения:

  • ISEMPTY
  • ISNOTEMPTY
  • ANYTHING
  • VALCHANGES
  • IN (также можно использовать со значением)
  • NOT IN (также можно использовать со значением)
  • NOTHING

Параметры:

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

getRows()


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

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

ТипОписание
Array of StringsМетод возвращает массив записей, содержащих пары колонка-значение

Пример:

getRows()
const record = new SimpleRecord('sys_db_table');
record.addQuery('is_vcs_enabled', 'IS', true);
record.query();
record.getRows();

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(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'); // the very first record
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);
})