Этот класс содержит методы для работы с базой данных в клиентских скриптах. Например, автоматическое заполнение, отображение или обязательность элементов формы, в зависимости от значений в ссылочных полях.
Клиентский класс SimpleRecord позволяет взаимодействовать как с записями таблицы в целом, так и полями конкретных записей.
Обработка запросов этого класса происходит на стороне сервера. Это значит, что для получения данных записи будет выполняться запрос с клиентской части на сервер.
Для некоторых задач функциональных возможностей клиентского SimpleRecord может быть недостаточно. В таких случаях, воспользуйтесь классом SimpleAjax или используйте Table API.
addQuery( property, operator, value )
Используйте метод, чтобы добавить условие (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)
Используйте vетод, чтобы добавить новую запись.
Параметр:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
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'); // Первая запись 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); })