SimpleRecord Client-Side
Этот класс содержит методы для работы с базой данных в клиентских скриптах. Например, автоматическое заполнение, отображение или обязательность элементов формы, в зависимости от значений в ссылочных полях.
Клиентский класс SimpleRecord позволяет взаимодействовать как с записями таблицы в целом, так и полями конкретных записей.
Обработка запросов этого класса происходит на стороне сервера. Это значит, что для получения данных записи будет выполняться запрос с клиентской части на сервер.
Для некоторых задач функциональных возможностей клиентского SimpleRecord может быть недостаточно. В таких случаях, воспользуйтесь классом SimpleAjax или используйте Table API.
addQuery()
Используйте метод, чтобы добавить условие (property, operator и value) для выбора записей из базы данных. Также, данный метод позволяет добавить условие для получения записей, в котором property равно value (или находится в списке значений).
При добавлении условия в этом методе можно использовать любой оператор из списка операторы условий. Используйте системное название оператора в скрипте.
Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
property | String | Да | Нет |
operator | String | Нет | Нет |
value | Integer/String/Boolean/Array | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
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)
Используйте этот метод для удаления текущей записи.
Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
responseFunction | Function | Нет | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
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. Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
recordId | String | Да | Нет |
callback | Function | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
const record = new SimpleRecord('user');
record.get(s_user.userID, () => {
console.log(record.email); // admin@admin.ru
});
getTableName()
Используйте данный метод, чтобы вернуть системное имя текущей таблицы.
Возвращаемое значение:
Тип | Описание |
---|---|
String | Метод возвращает системное название таблицы. |
Пример:
const record = new SimpleRecord('user');
record.get(s_user.userID, () => {
console.log(record.getTableName()); // user
});
hasNext()
Используйте этот метод, чтобы определить, существуют ли еще записи в этой выборке.
Возвращаемое значение:
Тип | Описание |
---|---|
Boolean | Метод возвращает значение true, если есть еще записи. Если больше записей нет, метод возвращает false. |
Пример:
const record = new SimpleRecord('user');
record.get(s_user.userID, () => {
console.log(record.hasNext()); // true
});
insert(responseFunction)
Используйте метод, чтобы добавить новую запись.
Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
responseFunction | Function | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
const newRecord = new SimpleRecord('task');
newRecord.subject = 'Создано клиентским API';
newRecord.insert((response) => {
const answer = response.responseXML.documentElement.getAttribute('answer');
console.log(answer);
})
next()
Используйте этот метод для перехода к следующей записи.
Возвращаемое значение:
Тип | Описание |
---|---|
Boolean | Метод возвращает false, если в запросе больше нет записей. |
Пример:
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)
Используйте данный метод, чтобы указать колонку для упорядочивания. Вызывайте метод несколько раз для того, чтобы упорядочить записи по нескольким колонкам.
Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
column | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
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 и более параметров в любом порядке. Он использует любую пару литералов как пару запроса (поле:значение) и любую функцию как функцию ответа.
Не создавайте синхронный вызов запросов. Вызов становится синхронным, если запрос выполняется без функции ответа. В этом случае состояние объект а не поменяется, пока не появится ответ на запрос.
Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
responseFunction | Function | Нет | Нет |
property | String | Нет | Нет |
value | Any | Нет | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
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)
Используйте этот метод, чтобы установить максимальное количество записей в запросе.
Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
maxQuery | Integer | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
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)
Используйте этот метод, чтобы задать значение поля.
Параметры:
Наименование | Тип | Обязательно | Значение по умолчанию |
---|---|---|---|
fieldName | String | Да | Нет |
value | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
const record = new SimpleRecord('task');
record.setValue('subject', 'Другой тип назначения');
record.insert((response) => {
const answer = response.responseXML.documentElement.getAttribute('answer');
console.log(answer);
})