You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 9 Next »
Этот класс предоставляет ограниченный функционал для работы с базой данных в клиентских скриптах. Например, автоматическое заполнение, отображение или обязательность элементов формы, в зависимости от значений в Reference Fields.
Клиентский класс SimpleRecord позволяет оперировать как записями таблицы в целом, так и полями конкретных записей.
Обработка запросов этого класса происходит на стороне сервера. Это значит, что для получения данных записи будет выполняться запрос с клиентской части на сервер.
Для некоторых задач функциональных возможностей клиентского SimpleRecord может быть недостаточно. В таких случаях, воспользуйтесь классом SimpleAjax или используйте REST API.
addQuery(property, operator, 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', 'Email'); 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 (sys_id) | Да | Нет |
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(callback)
Этот метод выполняет запрос, принимая 0 и более параметров в любом порядке. Он использует любую пару литералов как пару запроса (поле:значение) и любую функцию как функцию ответа.
Не создавайте синхронный вызов запросов. Вызов становится синхронным, если запрос выполняется без функции ответа. В этом случае состояние объекта не поменяется, пока не появится ответ на запрос.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
responseFunction | Function | Нет | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
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); })
- No labels