Этот серверный класс представляет собой содержит методы для работы с записями базы данных.
SimpleRecord(tableName)
Используйте этот конструктор для создания объекта класса SimpleRecord для конкретной таблицы.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|
tableName | String | Да | Нет |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | SimpleRecord |
---|
linenumbers | true |
---|
|
const taskRecord = new SimpleRecord('task'); |
REM
attribute object-атрибуты объекта
В классе SimpleRecord имеется отдельный объект Record Extended Models расширенной модели записи (REM) – rem_attr, который содержит информацию о REM attributes-атрибутах. Используйте Используйте его для чтения и редактирования значений атрибута REM-атрибутов текущей записи с помощью других методов класса, как в примере ниже.
Tip |
---|
rem_attr имеет несколько методов, аналогичных методам SimpleRecord: Например: record.rem_attr.getValue('my_rem_attribute');
|
Параметр:
NameTypeОбязательныйЗначение по умолчаниюpropertyStringДаНетВозвращаемое значение::
ТипОписаниеSimpleRecord objectМетод возвращает значение SimpleRecord object из определенной модели расширенной записи. Метод возвращает"null", если запись не имеет модели расширенной записи.Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | get using () c REM |
---|
linenumbers | true |
---|
|
const record = new SimpleRecord('task');
record.get('160638931615274614');
if (record.getReModelId()) {
ss.info(record.rem_attr.description);
} |
addOrCondition(property, operator, value)
Этот метод добавляет параметр 2 или 3, или условие к существующему запросу. Он работает в сочетании с любым из методов addQuery(). В этом методе вы можете использовать любой предпочитаемый оператор из списка операторов условий, указанный либо в нижнем, либо в верхнем регистре. Обратите внимание, что необходимо использовать системное имя оператора в скриптах.
Вы также можете задавать атрибуты расширенной модели записи (REM-атрибуты) определенной таблицы. Чтобы отфильтровать записи, используйте операторы соответствующие типу атрибута.
Note |
---|
Условие может содержать критерии на основе атрибутов из разных моделей. Если такие критерии создаются с использованием оператора И, выборка записей будет пуста. Чтобы отобразить записи соответствующие условию, используйте оператор ИЛИ. |
Параметры:
НазваниеТипОбязательныйЗначение по умолчаниюpropertyStringДаНет
Info |
---|
Для REM-атрибутов используйте следующий паттерн: '<sys_id>:<attr_name>', где sys_id – ID модели, которая содержит атрибут, и attr_name – системное имя REM-атрибута. |
Объект SimpleReference
Anchor |
---|
| SimpleReference |
---|
| SimpleReference |
---|
|
При обращении к ссылочным полям в ответ приходит специальный объект SimpleReference, позволяющий обращаться через dot-walking к полям объекта, указанного в ссылочном поле.
Tip |
---|
Объект SimpleReference имеет несколько методов, аналогичных методам SimpleRecord: |
Пример:
Code Block |
---|
language | js |
---|
title | getValue() с использованием объекта SimpleReference |
---|
linenumbers | true |
---|
|
let record = new SimpleRecord('task');
record.setLimit(1);
record.query();
record.next();
ss.info(record.caller.getValue('username')); |
addOrCondition(property, operator, value)
Используйте метод, чтобы добавить условие ИЛИ к существующему запросу. Он работает в сочетании с методом addQuery(). В этом методе вы можете использовать необходимый оператор из списка операторов условий, указанный в нижнем или верхнем регистре. Используйте системные имена операторов в скриптах.
Вы также можете задавать атрибуты расширенной модели записи (REM-атрибуты) определенной таблицы. Чтобы отфильтровать записи, используйте операторы, соответствующие типу атрибута.
Note |
---|
Условие может содержать критерии на основе атрибутов из разных моделей. Если такие критерии создаются с использованием оператора И, выборка записей будет пуста. Чтобы отобразить записи соответствующие условию, используйте оператор ИЛИ. |
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|
property | String | Да | Нет
Info |
---|
Для REM-атрибутов используйте следующий паттерн: '<sys_id>:<attr_name>', где sys_id – ID модели, которая содержит атрибут, и attr_name – системное имя REM-атрибута. |
|
operator | String | Нет | = |
value | Integer/String/Boolean/Array/SimpleReference object | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|
SimpleRecord object | Метод возвращает экземпляр, на котором был вызван. |
Примеры:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | addOrCondition() |
---|
linenumbers | true |
---|
|
const record = new SimpleRecord('task');
record.addQuery('subject', 'like', 'not work');
record.addOrCondition('description', 'like', 'not work');
ss.info('Условие запроса: ' |
operatorString (больше информации в статье Операторы условий)НетНетvalueInteger / String / Boolean / Array / SimpleRecord objectДаНетВозвращаемое значение::
ТипОписаниеSimpleRecordЗапрос содержащий объект SimpleRecord или условие, добавленное к этому объекту.Примеры:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | addOrCondition |
---|
linenumbers | true |
---|
|
const record = new SimpleRecord('task');
record.addQuery('subject', 'like', 'not work')
record.addOrCondition('description', 'like', 'not work');
ss.info('Condition query: ' + record.getConditionQuery());
record.query();
// Инфо: Условие запроса: (subjectLIKEnot work)^OR(descriptionLIKEnot work) |
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | addOrCondition c REM-атрибутом |
---|
linenumbers | true |
---|
|
let record = new SimpleRecord('task');
record.addQuery('subject', 'like', 'not work')
record.addOrCondition('166972638116358001:description', 'contains', 'not work');
ss.info('Condition query: ' + record.getConditionQuery());
record.query();
// InfoИнформация: ConditionУсловие queryзапроса: (subjectLIKEnot work)^OR(166972638116358001:descriptionLIKEnot work) |
Info |
---|
В качестве значения для метода addOrCondition() вместо ID записи может быть передано значение из Reference поля в формате current.{reference_field_name}. Пример скрипта: |
SimpleRecord как аргументconst tasklet record = new SimpleRecord('task');
taskrecord.
setLimit(1addQuery('subject', 'like', 'not work');
taskrecord.
query();
if (!task.next()) {
addOrCondition('166972638116358001:description', 'contains', 'not work');
ss.info('
NoУсловие
tasksзапроса:
found!'' + record.getConditionQuery());
record.query();
// Информация: Условие запроса: (subjectLIKEnot work)^OR(166972638116358001:descriptionLIKEnot work)
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title |
---|
| addOrCondition() c REM-атрибутом | linenumbers | true |
---|
|
|
collapse | true |
---|
Info |
---|
В качестве значения для метода addOrCondition() вместо ID записи может быть передано значение из Reference поля в формате current.{reference_field_name}. Пример скрипта: Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | SimpleRecord как аргумент |
---|
linenumbers | true |
---|
collapse | true |
---|
| const task return;
}
const relatedTask = new SimpleRecord('task');
relatedTasktask.addQuery('caller', task.setLimit(1);
task.query();
if (!task.next()) {
ss.info('No tasks found!');
return;
}
const relatedTask = new SimpleRecord('task');
relatedTask.addQuery('caller', task.caller);
relatedTask.addOrCondition('assigned_user', task.caller);
relatedTask.query();
ss.info('TasksКоличество countзадач: ' + relatedTask.getRowCount());
// ИнфоИнформация: Количество задач: 122 |
|
addQuery(property, operator, value)
Используйте этот метод, чтобы добавить условие для выбора записей из базы данных. В этом методе позволяет вы можете использовать любой предпочитаемый необходимый оператор из списка Операторы операторы условия, указанный либо в нижнем , либо или в верхнем регистре. Обратите внимание, необходимо использовать системное имя оператора Используйте системные имена операторов в скриптах.
Вы также можете задавать атрибуты расширенной модели записи (REM-атрибуты) определенной таблицы. Чтобы отфильтровать записи, используйте операторы, соответствующие типу атрибута.
Note |
---|
Условие может содержать критерии на основе атрибутов из разных моделей. Если такие критерии создаются с использованием оператора И, выборка записей будет пуста. Чтобы отобразить записи соответствующие условию, используйте оператор ИЛИ. |
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|
property | String | Да | Нет Info |
---|
Для REM-атрибутов используйте следующий паттерн: '<sys_id>:<attr_name>', где sys_id – ID модели, которая содержит атрибут, и attr_name – системное имя REM-атрибута. |
|
operator | String |
(больше информации в статье Операторы условий)НетВозвращаемое значение::
Условие запроса добавленое в объект SimpleRecordobject | Метод возвращает экземпляр, на котором был вызван. |
Примеры:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | addQuery() |
---|
linenumbers | true |
---|
|
const task = new SimpleRecord('task');
task.addQuery('active', true);
task.addQuery('subject', 'like', 'email');
task.addQuery('sys_created_at', '<', '2019-04-01 00:00:00');
task.query();
ss.info('CountКоличество: ' + task.getRowCount());
// ИнфоИнформация: Количество: 0 |
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | addQuery() с REM-атрибутом |
---|
linenumbers | true |
---|
|
let record = new SimpleRecord('task');
record.addQuery('166972638116358001:description', 'not work');
record.query();
ss.info("TotalВсего rowsзаписей: " + record.getRowCount());
// InfoИнформация: TotalВсего rowsзаписей: 1 |
Info |
---|
В качестве значения для метода addQuery() вместо ID записи может быть передано значение из Reference поля в формате current.{reference_field_name}. Пример скрипта: Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | SimpleRecord как аргумент |
---|
linenumbers | true |
---|
collapse | true |
---|
| const task = new SimpleRecord('task');
task.setLimit(1);
task.query();
if (!task.next()) {
ss.info('NoНет tasks foundзадач!');
return;
}
const otherTask = new SimpleRecord('task');
otherTask.addQuery('caller', task.caller);
otherTask.addQuery('sys_id', '!=', task.sys_id);
otherTask.query();
ss.info('TasksКоличество countзадач: ' + otherTask.getRowCount());
// ИнфоИнформация: Количество задач: 720 |
|
addEncodedQuery(condition)
Используйте данный метод, чтобы добавить закодированный запрос и применить его к текущему методу запроса.
Infoзакодированное условие для выбора записей из базы данных. Допустимо использование декодированного
запросаусловия.
Вы также можете задавать атрибуты расширенной модели записи (REM-атрибуты) определенной таблицы. Чтобы отфильтровать записи, используйте операторы, соответствующие типу атрибута.
Note |
---|
Условие может содержать критерии на основе атрибутов из разных моделей. Если такие критерии создаются с использованием оператора И, выборка записей будет пуста. Чтобы отобразить записи соответствующие условию, используйте оператор ИЛИ. |
При настройке фильтрации по текстовым полям String, Text, Translated Text, Conditions и URL используйте фигурные скобки для аргумента фильтрации. Запись аргумента в круглых скобках может вызвать ошибку фильтрации:
Code Block |
---|
language | java |
---|
theme | Eclipse |
---|
title | Фильтрация по текстовым полям |
---|
linenumbers | true |
---|
collapse | true |
---|
|
const subject = 'Hello, SimpleOne)';
const task = new SimpleRecord('task');
task.addEncodedQuery(`subjectLIKE${subject}`);
ss.info(task.getConditionQuery());
try {
task.query();
} catch (e) {
ss.error(e.message);
}
// ИнфоИнформация: (subjectLIKEHello, SimpleOne))
// Ошибка: ConditionУсловие queryзапроса is invalidневерное |
Параметр:
Название | Тип | Обязательный | Значение по умолчанию |
---|
condition | String | Да | Нет Info |
---|
Для REM-атрибутов используйте следующий паттерн: '<sys_id>%3A<attrid>:<attr_name>', где sys_id – ID модели, которая содержит атрибут, и attr_name – системное имя REM-атрибута. |
|
Возвращаемое значение::
Тип | Описание |
---|
Void | Метод не возвращает значение. |
Примеры:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | addEncodedQuery() |
---|
linenumbers | true |
---|
|
const currentUser = ss.getUser();
const reciever = new SimpleRecord('employee');
reciever.addQuery('active', true);
if (currentUser.company.class === 'internal') {
reciever.addEncodedQuery(`(company=${currentUser.getValue('company')})`);
} else {
reciever.addEncodedQuery(`%28sys_db_table_id%3D158645243815904649%5Esys_created_byDYNAMIC156957117519820256%29`);
}
ss.info('Decoded condition: ' + reciever.getConditionQuery());
reciever.query();
// ИнфоИнформация: Декодированное условие: (active=1)^((sys_db_table_id=158645243815904649^sys_created_byDYNAMIC156957117519820256)) |
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | addEncodedQuery() с REM-атрибутом |
---|
linenumbers | true |
---|
|
const receier = new SimpleRecord('task');
receiver.addQuery('active', true);
receiver.addEncodedQuery('%28sys_db_table_id%3D158645243815904649%5E166972638116358001%3AdescriptionLIKEwork`);
ss.info('Decoded condition: ' + receiver.getConditionQuery());
receiver.query();
// InfoИнформация: DecodedДекодированное conditionусловие: (active=1)^((sys_db_table_id=158645243815904649^166972638116358001:descriptionLIKEwork)) |
canCreate()
Используйте этот метод, чтобы проверить, удовлетворяет ли добавление новых записей в указанную таблицу правилу управления доступом доступно ли текущему пользователю создание записей в указанной таблице по правилам контроля доступа (ACL).
Так же используйте этот метод в UI Actions, чтобы оптимизировать видимость записей.
Возвращаемое значение::
Тип | Описание |
---|
Boolean | Метод возвращает значение |
"", если действие разрешено, если нет, метод возвращает |
""Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | canCreate() |
---|
linenumbers | true |
---|
|
current.canCreate(); |
canDelete()
Используйте этот метод, чтобы проверить, удовлетворяет доступно ли текущему пользователю удаление записей из указанной таблицы правилу управления доступом в указанной таблице по правилам контроля доступа (ACL).Так же используйте этот метод в UI Actions, чтобы оптимизировать видимость записей.
Возвращаемое значение:
Тип | Описание |
---|
Boolean | Метод возвращает значение |
"", если действие разрешено, если нет, метод возвращает |
""Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | canDelete() |
---|
linenumbers | true |
---|
|
current.canDelete(); |
canRead()
Используйте этот метод, чтобы проверить, удовлетворяет доступен ли чтение текущему пользователю просмотр записей в указанной таблице правилу управления доступом по правилам контроля доступа (ACL).
Так же используйте этот метод в UI Actions, чтобы оптимизировать видимость записей.
Возвращаемое значение::
Тип | Описание |
---|
Boolean | Метод возвращает значение |
"", если действие разрешено, если нет, метод возвращает |
""Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | canRead() |
---|
linenumbers | true |
---|
|
current.canRead(); |
canUpdate()
Используйте этот метод, чтобы проверить, удовлетворяет доступно ли обновление текущему пользователю редактирование записей в указанной таблице правилу управления доступом по правилам контроля доступа (ACL).
Так же используйте этот метод в UI Actions, чтобы оптимизировать видимость записей.
Возвращаемое значение::
Тип | Описание |
---|
Boolean | Метод возвращает значение |
"", если действие разрешено, если нет, метод возвращает |
""Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | canUpdate() |
---|
linenumbers | true |
---|
|
current.canUpdate(); |
deleteMultiple()
Используйте этот метод, чтобыудалить несколько записей в выборке запроса.Обратите внимание, что вложения не могут быть удалены с помощью этого методачтобы удалить записи из полученной выборки. Вложения удаляемых записей не удаляются.
Note |
---|
Не используйте этот метод для таблиц с зависимостями. Всегда удаляйте каждую запись по отдельности. |
Возвращаемое значение::
Тип | Описание |
---|
Boolean | Метод возвращает |
"", если записи успешно удалены, в случае ошибки метод возвращает значение |
""Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | deleteMultiple() |
---|
linenumbers | true |
---|
|
const record = new SimpleRecord('sys_activity_feed_item');
record.addQuery('content', 'isempty');
record.query();
ss.info(record.getRowCount());
ss.info(record.deleteMultiple());
// InfoИнформация: 0
// InfoИнформация: true |
deleteRecord(id)
Используйте этот метод для удаления текущей записи.
При вызове метода в выборке записей с указанием параметра, удаляется запись с конкретным ID. При отсутствии параметра id будет удалена текущая запись.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|
id | String | Нет | |
Возвращаемое значение:
Тип | Описание |
---|
Boolean | Метод возвращает значение |
"", еслизапись успешно удалена, в случае ошибки метод возвращает значение |
""Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | deleteRecord() |
---|
linenumbers | true |
---|
|
const task = new SimpleRecord('task');
task.get('155931135900000000');
if (!task.sys_id) {
return;
}
const isDeleted = task.deleteRecord();
if (isDeleted) {
ss.info('TaskЗадача withс ID ' + task.sys_id + ' wasбыла deletedудалена!');
return;
}
ss.error(task.getErrors()); |
get(propertyOrValue, value)
Используйте этот метод, чтобы загрузить объект из базы данных по значению поля или, в некоторых случаях, по sys_id.
Параметры:
НазваниеТипОбязательныйЗначение по
умолчаниюpropertyOrValueЗначение строки ID записи ID. Параметр propertyOrValue принимает значение ID записи или имени свойства. Если значение равно имени свойства, второй параметр value является обязательным.
'NULL' null или пустой строки в качестве значения параметра propertyOrValue ведет к исключению: "Аргумент 1
|
переданный в функции "get()" не может быть пустым".
|
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|
propertyOrValue | | Да | Нет |
value | String | Нет |
NULLВозвращаемое значение:
Тип | Описание |
---|
SimpleRecord object |
Этот метод Метод возвращает объект SimpleRecord из таблицы, указанной в запросе. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | get() |
---|
linenumbers | true |
---|
|
const current = new SimpleRecord('task');
current.get('163663310116371174');
if (current.sys_id) {
const company = new SimpleRecord('org_company');
company.get('c_website', current.c_customer_url);
ss.eventQueue('notify.responsible', current, company.responsible.email);
} |
Info |
---|
В качестве значения для методаget() вместо ID записи может быть передано значение из Reference поля в формате current.{reference_field_name}. Пример |
Info |
---|
В качестве значения для методаget() вместо ID записи может быть передано значение из Reference поля в формате current.{reference_field_name}. Пример скрипта: Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | SimpleRecord как аргумент |
---|
linenumbers | true |
---|
collapse | true |
---|
| const task = new SimpleRecord('task');
task.setLimit(1);
task.query();
if (!task.next()) {
ss.info('NoНет tasks foundзадач!');
return;
}
const user = new SimpleRecord('user');
user.get(task.caller);
user.language_id = '156628684306541141'; // Английский
ss.info(user.update());
// ИнфоИнформация: 167515292501757147 |
|
getAttributes()
Данный Используйте метод возвращает объект со свойствами , чтобы получить объект с атрибутами текущей записи в качестве ключей и значения свойств как значения значений ключей.
Возвращаемое значение:
Массив атрибутовМетод возвращает объект с атрибутами записи и их значениями. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getAttributes() |
---|
linenumbers | true |
---|
|
const userRecord = ss.getUser();
ss.info(userRecord.getAttributes());
// ИнфоИнформация: {"sys_id":"155931135900000001","sys_created_at":"2019-09-30 00:00:00","sys_updated_at":"2021-06-28... |
getClassDisplayValue()
Данный Используйте метод возвращает заголовок таблицы. Если он не установлен, то метод возвразает системное имя , чтобы получить заголовок текущей таблицы.
Возвращаемое значение:
Заголовок или названиеМетод возвращает заголовок таблицы записи. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getClassDisplayValue() |
---|
linenumbers | true |
---|
|
const current = new SimpleRecord('task');
current.get('163663310116371174');
ss.info(current.getClassDisplayValue());
// ИнфоИнформация: ЗадачаЗадачи |
getConditionQuery()
Метод возвращает Используйте метод, чтобы получить текущее условие запроса.
Возвращаемое значение:
Условие Метод возвращает условие запроса. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getConditionQuery() |
---|
linenumbers | true |
---|
|
const task = new SimpleRecord('task');
const condition = task.addQuery('state', '7');
condition.addOrCondition('priority', '<', '3');
ss.info('ConditionУсловие beforeдо queryзапроса: ' + task.getConditionQuery());
task.query();
ss.info('ConditionУсловие after queryпосле: ' + task.getConditionQuery());
// InfoИнформация: Условие до запроса: (state=7)^OR(priority<3)
// InfoИнформация: Условие после: |
getDisplayValue(property)
Anchor |
---|
| getDisplayValue() |
---|
| getDisplayValue() |
---|
|
Данный метод возвращает значение поля display_by_ref или значение Используйте метод, чтобы получить отображаемое значение параметра записи. Например, для поля reference Reference возвращается название сущности, а не ID.
Без параметра данный метод возвращает отображаемое значение записи из поля с установленным флажком Отображаемое поле.
В таблице представлены отображаемые значения в серверных скриптах по типам колонок.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|
PropertyNULLВозвращаемое значение:
Поле или Метод возвращает отображаемое значение записи или поля. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getDisplayValue() |
---|
linenumbers | true |
---|
|
const current = new SimpleRecord('task');
current.get('163663310116371174');
ss.info(current.getDisplayValue('caller'));
ss.info(current.getValue('caller'));
// ИнфоИнформация: Иван Иванов
// ИнфоИнформация: 155931135900000001 |
getErrors()
Этот метод отображает сообщение Используйте этот метод, чтобы получить сообщения об ошибке в случае сбоя при создании, обновлении или удалении записи.
Используйте этот метод в целях контроля, если в ваших скриптах есть какие-либо ошибки проверкидля контроля проведения операции с записью в скрипте.
Warning |
---|
Настоятельно рекоментдуется рекомендуется использовать данный метод, так как некоторые ошибки проверки могут не отображаться в процессе отладки. Например, ошибки в запросах условия, переданных методом addEncodedQuery(condition) или аналогичным методом, можно отобразитьполучить, вызвав этот метод getErrors(). |
Возвращаемое значение:
Значение ошибкиof Strings | Метод возвращает значения ошибок. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getErrors() |
---|
linenumbers | true |
---|
|
const record = new SimpleRecord('user');
const insertedRecordId = record.insert();
if (insertedRecordId == 0) {
ss.info(record.getErrors());
}
// ИнфоИнформация: ["Поле \"\"First NameЛогин\" [first_nameusername]\" являетсяобязательно для обязательнымзаполнения. (recordid idзаписи: )",... |
getLabel(property)
Используйте этот метод, чтобы получить заголовок поля.
Info |
---|
Метод getLabel() не используется с атрибутами REM. Вместо этого используйте метод getTitle(). |
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|
property | String | Да | Нет |
Возвращаемое значение:
Название Метод возвращает название поля. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getLabel() |
---|
linenumbers | true |
---|
|
const current = ss.getUser();
const fieldLabel = current.getLabel('username');
ss.addErrorMessage('Поле "' + fieldLabel + '" должно быть заполнено');
// Поле "Логин" должно быть заполнено |
getReModelId()
Используйте этот метод, чтобы извлечь получить ID расширенной модели записи, относящейся к текущей записи. Используйте метод setReModelId, чтобы установить новый ID модели.
Возвращаемое значение:
Тип | Описание |
---|
String | Метод возвращает ID модели. Если модель не найдена, метод возвращает значение ' null'. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getReModelId() |
---|
linenumbers | true |
---|
|
(function executeRule(current, previous = null /*not null only when action is update*/) {
if (current.getReModelId()) {
const model = new SimpleRecord('sys_rmc_model');
model.get(current.getReModelId()); // currentтекущая modelмодель
current.$$service = model.getValue('cmdb_service_id'); // Передает в сервис, если поле существует
}
})(current, previous); |
getRowCount()
Используйте этот метод, чтобы получить количество элементов в рядувыборке.
Возвращаемое значение:
Количество Метод возвращает количество элементов в |
ряду Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getRowCount() |
---|
linenumbers | true |
---|
|
const task = new SimpleRecord('task');
task.query();
ss.addInfoMessage('Количество всех задач: ' + task.getRowCount());
//Количество всех задач: 2 |
getTableName()
Используйте этот метод, чтобы получить системное название текущей страницытаблицы.
Возвращаемое значение:
Системное Метод возвращает cистемное название текущей таблицы. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getTableName() |
---|
linenumbers | true |
---|
|
const current = ss.getUser();
ss.info('/list/' + current.getTableName() + '/' + current.sys_id);
// InfoИнформация: /list/user/155931135900000001 |
getTitle(attribute)
Метод возвращает заголовок, определенный атрибутом Используйте метод, чтобы получить заголовок указанного атрибута расширенной модели записи (REM).
Параметр:
Название | Тип | Обязательный | Значение по умолчанию |
---|
column | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|
String | Метод возвращает заголовок атрибута REM. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getTitle() |
---|
linenumbers | true |
---|
|
const current = new SimpleRecord('task');
current.get('163638951512716126');
if (current.sys_id) {
ss.info(current.rem_attr.getTitle('reviewed'));
}
// ИнфоИнформация: Ревью завершеноПроверка завершена
const current = new SimpleRecord('task');
current.get('163638951512716126');
if (current.sys_id) {
ss.info(current.rem_attr.getTitle('reviewed'));
}
// Информация: Проверка завершена |
getValue(property)
Этот Используйте метод возвращает значение свойства объекта на основе его имени, чтобы получить значение указанного атрибута объекта.
Если поле относится к типу " Reference " или " List", возвращается его значение sys_idID.
В таблице представлены отображаемые значения в серверных скриптах по типам колонок.
Note |
---|
Используйте этот метод, чтобы получить значения полей типа Reference вместо dot |
Note |
---|
To speed up the script execution, use this method to get values of the fields of the Reference type instead of Dot-walking. For example, it is preferable to use the Например, current.getValue('reference_field') structure instead of вместо current.reference_field.sys_id one. |
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|
property | String | Да | Нет |
Возвращаемое значение:
MixedЗначение строки свойства объекта.Any | Метод возвращает значение указанного атрибута объекта. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getValue() |
---|
linenumbers | true |
---|
|
const current = ss.getUser();
const user = new SimpleRecord('user');
user.addQuery('timezone_id', current.getValue('timezone_id'));
user.selectAttributes('sys_id');
user.query();
ss.info(user.getRowCount() + ' пользователя в вашем часовом поясе');
// ИнфоИнформация: 24 пользователя в вашем часовом поясе |
hasAttachment()
Info |
---|
Вы также можете обратиться напрямую к значению ссылочного поля с учетом контекста используя оператор '$$'. Это позволяет проверить наличие дополнительных полей и получить их значение. Подробнее читайте в статье Использование dot-walking в скриптах. |
hasAttachment()
Используйте этот метод, чтобы проверить, имеет Используйте этот метод, чтобы проверить, имеет ли указанная запись вложение.
Возвращаемое значение:
Тип | Описание |
---|
Boolean | Метод возвращает |
"", если в записи есть вложение, если нет, метод возвращает |
""Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | hasAttachment() |
---|
linenumbers | true |
---|
|
const current = new SimpleRecord('task');
current.get('163663310116371174');
const hasAttach = current.hasAttachment();
if (!hasAttach) {
ss.addErrorMessage('FileНужно shouldприкрепить be attachedфайл');
return;
}
current.state = '2'; // Открыто
current.update(); |
initialize()
Используйте этот метод, чтобы заполнить все активные пустые доступные поля предопределенными значениями по умолчанию.
Он подходит только для новых записей, которые никогда не сохранялись и не могут вызываться повторно.
Метод вызывается автоматически при первой операции установкисоздании записи.
Возвращаемое значение:
Тип | Описание |
---|
Void | Метод не возвращает значение. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | initialize() |
---|
linenumbers | true |
---|
|
const taskRecord = new SimpleRecord('task');
ss.info(taskRecord.getAttributes().caller);
taskRecord.initialize();
ss.info(taskRecord.getAttributes().caller);
// ИнфоИнформация:
// ИнфоИнформация: 155931135900000001 |
insert()
Этот метод использует значения полей текущей записи для вставки в новую записьИспользуйте метод, чтобы создать новую запись со значения полей объекта.
Если запись не вставленасоздана, метод возвращает «0» '0' (ноль) и выводит генерирует сообщение об ошибке, которое можно получить с помощью метода getErrors().
Возвращаемое значение:
добавлена- создана, метод возвращает '0'
|
, а так же - (ноль), и генерирует сообщение со списком ошибок.
- Если запись была
|
добавлена- создана, метод возвращает
|
уникальный добавленной Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | insert() |
---|
linenumbers | true |
---|
|
const newTask = new SimpleRecord('task');
newTask.subject = 'Subtask';
const inserterTaskIDinsertedTaskID = newTask.insert();
ss.info(`/record/task/${inserterTaskIDinsertedTaskID}`);
// ИнфоИнформация: /record/task/163675231910113745 |
isTableVcsEnabled()
Используйте этот метод, чтобы проверить был ли атрибут VCS enabled включен установлен ли флажок Контроль версий для указанной таблицы.
Возвращаемое значение:
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | isTableVcsEnabled() |
---|
linenumbers | true |
---|
|
const current = new SimpleRecord('user');
ss.info(current.isTableVcsEnabled());
// ИнфоИнформация: false |
matchesCondition(condition)
Используйте этот метод, чтобы проверить, соответствует ли текущая запись условию в текущем статусе.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|
condition | String | Нет | '' |
Возвращаемое значение:
Тип | Описание |
---|
Boolean | Метод возвращает |
"", если запись соответствует указанным условиям, в противном случае метод возвращает |
""Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | matchesCondition() |
---|
linenumbers | true |
---|
|
const task = new SimpleRecord('task');
task.description = 'emaio';
ss.info(task.matchesCondition('descriptionLIKEemail')); // false
task.description = 'email';
ss.info(task.matchesCondition('descriptionLIKEemail')); // true |
next()
Используйте этот метод, чтобы получить следующую запись в запросе.
Возвращаемое значение:
Record or SimpleRecord object или Boolean | При первом вызове, метод возвращает первую запись в запросе. Если запрос пуст, |
"" Пример:
Пока метод не вызван, значения объекта SimpleRecord недоступны., и появляется сообщение «Текущая запись не установлена». См. пример Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | next() |
---|
linenumbers | true |
---|
|
const user = new SimpleRecord('user');
user.setLimit(1);
user.query();
user.next();
ss.info(user.sys_id);
// ИнфоИнформация: 100000000000000000 |
Note |
---|
orderBy(column)
Используйте этот метод, чтобы отсортировать записи в порядке возрастания.
Tip |
---|
Используйте этот метод несколько раз, чтобы отсортировать записи по нескольким колонкам. |
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|
column | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|
Void | Метод не возвращает значение. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | orderBy() |
---|
linenumbers | true |
---|
|
const taskfirstLog = new SimpleRecord(' tasksys_log');
taskfirstLog. setLimit(1);
task.query();
// taskorderBy('sys_created_at'); // сначала старые записи
firstLog.addQuery('message', 'like', 'Connection');
firstLog.setLimit(1);
firstLog.selectAttributes(['message', 'sys_created_at']);
firstLog.query();
firstLog.next();
ss.info( task.numberfirstLog.sys_created_at + ' - ' + firstLog.message);
// ОшибкаИнформация: Текущая запись не установлена. |
orderBy2021-06-03 06:34:02 - IMAP IMAP (Default): Ошибка соединения: ... |
orderByDesc(column)
Используйте этот метод, чтобы отсортировать записи в порядке
возрастанияубывания.
Tip |
---|
Исползуйте Используйте этот метод несколько раз, чтобы отсортировать записи по нескольким колонкам. |
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|
column | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|
Void | Метод не возвращает значение. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | orderByorderByDesc() |
---|
linenumbers | true |
---|
|
const firstLoglastComment = new SimpleRecord('sys_activities_stream_logfield');
firstLoglastComment.orderByorderByDesc('sys_created_at'); // oldestсначала recordновая first
firstLog.addQuery('message', 'like', 'Connection');
firstLogзапись
lastComment.setLimit(1);
firstLoglastComment.selectAttributes(['messagevalue', 'sys_created_atby']);
firstLoglastComment.query();
firstLoglastComment.next();
ss.info(firstLoglastComment.sys_created_by.display_atname + ' -: ' + firstLoglastComment.messagevalue);
// InfoИнформация: 2021-06-03 06:34:02 - IMAP IMAP (Default): Connection error: ... |
orderByDesc(columnИван Иванов: Тестовый комментарий |
query()
Используйте этот метод, чтобы
отсортировать записи в порядке убывания.Параметры:
НазваниеТипОбязательныйЗначение по умолчаниюcolumnStringДаНетприменить запрос для получения выборки из базы данных. Выборка будет сохранена в объекте, для которого этот метод был вызван.
Возвращаемое значение:
Тип | Описание |
---|
Void | Метод не возвращает значение. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | orderByDescquery() |
---|
linenumbers | true |
---|
|
const lastCommenttasks = new SimpleRecord('sys_activities_stream_fieldtask');
lastCommenttasks.orderByDescaddQuery('sys_created_at'); // newest record first
lastComment.setLimit(1, '>', '2020-01-01');
lastCommenttasks.selectAttributes(['value', orderBy('sys_created_by']at');
tasks.setLimit(2);
lastCommenttasks.query();
lastCommentwhile (tasks.next();) {
ss.info(lastComment.sys_created_by.display_name + ''Номер задачи: ' + lastCommenttasks.valuenumber);
}
// InfoИнформация: JohnНомер Doe: test |
query(задачи: TSK0000001
// Информация: Номер задачи: TSK0000003 |
selectAttributes(attributes)
Используйте этот метод
, чтобы применить запрос к выбору базы данных. После этого метод заполняет набор записей.для оптимизации запросов к базе данных, особенно когда необходимо получить только несколько полей объекта, а не весь объект.
Warning |
---|
Не используйте этот метод для выбора записей, которые нужно обновить или удалить после выбора. Выполненное действие также может вызвать следующее исключение: Info |
---|
Вы не можете обновить запись с набором сокращенных атрибутов. Удалите вызов метода selectAttributes и обновите снова. |
|
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|
attributes | String/Array | Да | Нет |
Info |
---|
Передавайте значение одного атрибута в качестве строки. Для передачи большего количества название атрибутов, используйте массив, как в примере ниже. |
Возвращаемое значение:
Тип | Описание |
---|
SimpleRecord object | Метод возвращает объект SimpleRecord, содержащий атрибуты и значения. Note |
---|
Независимо от исходного содержимого набора атрибутов, возвращаемый объект всегда содержит атрибутID. Смотрите примеры ниже. |
|
Примеры:
Возвращаемое значение:
ТипОписаниеVoidМетод не возвращает значение.Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | queryselectAttributes(String) |
---|
linenumbers | true |
---|
|
const tasksrecord = new SimpleRecord('taskuser');
tasksrecord.addQueryselectAttributes('sys_created_at', '>', '2020-01-01');
tasks.orderBy('sys_created_at');
tasks.setLimit(2);
tasks.email');
record.query();
while (tasksrecord.next()) {;
ss.info('Task number: ' + tasks.number);
}record.getAttributes());
// InfoИнформация: Task number: TSK0000001
// Info: Task number: TSK0000003 |
selectAttributes(attributes)
Используйте этот метод для оптимизации запросов к базе данных, особенно когда необходимо получить только несколько полей объекта, а не весь объект.
WarningНе используйте этот метод для выбора записей, которые можно обновить или удалить после выбора. В противном случае некоторые значения полей записи могут быть потеряны при их обновлении или удалении. Выполненное действие также может вызвать исключение, подобное следующему:
Info |
---|
Заполните запись, чтобы сохранить. |
{"email":"ivan.ivanov@email.com","sys_id":"162423321917274937"} |
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | selectAttributes(Array) |
---|
linenumbers | true |
---|
|
const record = new SimpleRecord('user');
record.selectAttributes(['email', 'username']);
record.query();
record.next();
ss.info(record.getAttributes());
// Информация: {"email":"john.doe@email.com","username":"john.doe","sys_id":"162423321917274937"} |
setAbortAction(flag,message)
Используйте этот метод для прерывания текущей операции.
Note |
---|
- Скрипт, написанный после вызова данного метода не будет выполняться.
- Не рекомендуется использовать этот метод с бизнес-правилами типа async, так как это может привести к непредсказуемому поведению системы.
|
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|
flag | Boolean | Да | Нет |
message | String | Нет | Нет |
Возвращаемое значение:
Тип | Описание |
---|
Void | Метод не возвращает значение |
Параметр:
НазваниеТипОбязательныйЗначение по умолчаниюattributesString / ArrayДаНет Info |
---|
Рекомендуется передавать значение одного атрибута в качестве строки. Для передачи большего количества название аттрибутов, используйте массив, как в примере ниже. |
Возвращаемое значение:
Независимо от исходного содержимого набора атрибутов, возвращаемый объект всегда содержит атрибут sys_id. Смотрите пример ниже.Тип | Описание |
---|
SimpleRecord object | Метод возвращает объект SimpleRecord, содержащий атрибуты и значения. |
Note |
---|
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | selectAttributes setAbortAction(String) |
---|
linenumbers | true |
---|
|
const recordcurrent = new SimpleRecord('usertask');
recordcurrent.selectAttributesget('email163663310116371174');
record.queryconst hasAttach = current.hasAttachment();
record.next();
ss.info(record.getAttributes());
// Инфо: {"email":"john.doe@email.com","sys_id":"162423321917274937"} |
Пример:
if (!hasAttach) {
ss.addErrorMessage('Нужно прикрепить вложение!');
current.setAbortAction(true);
}
current.state = '2'; // Открыто
current.update(); |
setLimit(maxNumRecords)
Используйте этот метод, чтобы ограничить количество записей в выборке по условию.
Параметр:
Название | Тип | Обязательный | Значение по умолчанию |
---|
maxNumRecords | Integer | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|
Void | Метод не возвращает значение. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | selectAttributes setLimit(Array) |
---|
linenumbers | true |
---|
|
const record = new SimpleRecord('user');
record.selectAttributes(['email', 'username']setLimit(3);
record.query();
record.next();
ss.info(record.getAttributesgetRowCount());
// Инфо: {"email":"john.doe@email.com","username":"john.doe","sys_id":"162423321917274937"} |
setAbortAction(flagsetMultipleValue(property,value)
Используйте этот метод в бизнес-правилах для настройки флажка, обозначающего прерванность текущей операции (добавить/обновить/удалить).
Note |
---|
Важно, что код не выполняется, если он написан после вызова данного метода в теле скрипта. |
NoteНе рекомендуется использовать этот метод с бизнес-правилами async, так как это может привести к непредсказуемому поведению системы, чтобы установить значения полей для каждой записи в текущей выборке.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|
flagBooleanproperty | String | Да | Нет |
value | Any | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|
Void | Метод не возвращает значение. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | setAbortActionsetMultipleValue() |
---|
linenumbers | true |
---|
|
const currenttask = new SimpleRecord('task');
currenttask.getaddQuery('163663310116371174'state', '7');
const hasAttach = current.hasAttachment// Черновик
task.query();
if (!hasAttach) {
ss.addErrorMessage('File should be attached!');
current.setAbortAction(true);
}
current.state =info(task.getRowCount());
task.setMultipleValue('state', '2'); // Open
current.updateОткрыто
// task.updateMultiple(); |
setLimitsetReModelId(
maxNumRecordsreModelId)
Используйте этот метод, чтобы ограничить количество записей, выбранных при помощи методов запроса SimpleRecord.установить ID определенной расширенной модели записи. Чтобы получить ID модели, используйте метод getReModelId.
ПараметрыПараметр:
Название | Тип | Обязательный | Значение по умолчанию |
---|
maxNumRecordsIntegerЕсли параметр reModelId равен null, расширенная модель, относящаяся к записи, будет отвязана.
Возвращаемое значение:
Тип | Описание |
---|
Void | Метод не возвращает значение. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | setLimitgetReModelId() |
---|
linenumbers | true |
---|
|
const recordtask = new SimpleRecord('usertask');
recordtask.setLimitget(3'163352033916904699');
record.query();
ss.info(record.getRowCount());
// Info: 3 |
setMultipleValue(property,value)
Используйте этот метод, чтобы установить значения свойств для каждой записи в текущей выборке.
Параметры:
НазваниеТипОбязательныйЗначение по умолчаниюpropertyStringДаНетvalueStringДаНетВозвращаемое значение:
ТипОписаниеVoidМетод не возвращает значение.if (task.getValue('service') === '164069027812962298') { // Почтовый сервер
task.setReModelId('158569205818704980'); // Запрос доступа к почтовому серверу
} else {
task.setReModelId(null);
}
task.update(); |
Note |
---|
- При вызове данного метода на экземпляре SimpleRecord, значения его атрибутов, привязанных к предыдущей модели, будут сброшены.
- После вызова данного метода и обновления текущей записи, значения атрибутов предыдущей модели будут утеряны.
|
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | setMultipleValuesetReModelId() |
---|
linenumbers | true |
---|
|
const task = new SimpleRecord('task');
task.addQuery('state', '7'); // Draft
task.query();
ss.info(task.getRowCount());
task.setMultipleValue('state', '2'); // Open
// task.updateMultiple(); |
setReModelId(reModelId) AnchorsetremodelidsetremodelidИспользуйте этот метод, чтобы установить ID определенной модели расширенной записи. Чтобы получить ID модели, используйте метод getReModelId.
Параметры:
НазваниеТипОбязательныйЗначение по умолчаниюreModelIdStringДаНетЕсли параметр reModelId равен "null", модель расширенной записи, относящейся к записи, будет отвязана.
Возвращаемое значение:
ТипОписаниеVoidМетод не возвращает значение.
(function executeRule(current, previous = null /*not null only when action is update*/ ) {
// правило срабатывает при изменении услуги
ss.importIncludeScript('getRemAttributes');
const rmc = new SimpleRecord('sys_rmc_model');
rmc.addQuery('cmdb_service_id', current.getValue('service'));
rmc.addQuery('active', true);
rmc.selectAttributes('sys_id');
rmc.setLimit(1);
rmc.query();
if (rmc.next()) {
const previousModelAttributes = getRemAttributes(current);
current.setReModelId(rmc.sys_id);
const currentModelAttributes = getRemAttributes(current);
Object.keys(previousModelAttributes).forEach(attributeName => {
if (currentModelAttributes.hasOwnProperty(attributeName)) {
current.rem_attr[attributeName] = previousModelAttributes[attributeName];
}
})
} else {
current.setReModelId(null);
}
})(current, previous); |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getReModelId |
---|
linenumbers | true |
---|
|
const task = new SimpleRecord('task');
task.get('163352033916904699');
if (task.getValue('service') === '164069027812962298') { // Email Server Service
task.setReModelId('158569205818704980'); // Email Server Access Request
} else {
task.setReModelId(null);
}
task.update(); |
Note |
---|
При вызове данного метода на экземпляре SimpleRecord(), значения его атрибутов, привязанных к предыдущей модели, будут сброшены. После вызова данного метода и обновления текущей записи значения атрибута, привязанного к предыдущей модели будут утеряны. |
setValue(property, value) setValue(property, value)
Используйте этот метод, чтобы установить значение поля в текущей записи.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|
property | String | Да | Нет |
value |
StringВозвращаемое значение:
Этот метод Метод не возвращает значение. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | setValue() |
---|
linenumbers | true |
---|
|
const task = new SimpleRecord('task');
task.setValue('subject', 'mail');
task.insert(); |
silentMode(enable)
Используйте этот метод для обновления записи без выполнения каких-либо элементов, связанных с этой записью, реализующих бизнес-логикулогики, например реализованной бизнес-правилаправилами, уведомленияуведомлениями, рабочие процессы рабочими процессами и т. д.другими.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|
enable | Boolean | Нет | true |
Возвращаемое значение:
Тип | Описание |
---|
Void | Метод не возвращает значение. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | silentMode() |
---|
linenumbers | true |
---|
|
const task = new SimpleRecord('task');
task.addQuery('active', false);
task.addQuery('approval_state', 'isempty');
task.query();
ss.info(task.getRowCount());
task.silentMode();
task.setMultipleValue('approval_state', 'not_requested'); // задает setзначение Defaultпо Valueумолчанию
//task.updateMultiple(); |
update()
Используйте этот метод для обновления записи базы в базе данных.
Info |
---|
Используйте этот метод для существующих записей. - Измененияя буду примененыИзменения будут применены, только если запись уже существовала.
- Если запись ранее не существовала, метдметод getErrors() вернет сообщение об ошибке:
"Невозможно обновить новую запись. Используйте для этого Ошибка при обновлении записи, используйте метод `insert()`. (record id записи: )"
|
Возвращаемое значение:
Тип | Описание |
---|
String | - Если запись не была обновлена, метод возвращает '0' и генерирует сообщение со списком ошибок.
- При отсутствии ошибок метод возвращает ID обновленной записи.
|
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | update() |
---|
linenumbers | true |
---|
|
const current = new SimpleRecord('user');
current.get(ss.getUserId());
current.timezone_id = '156076775207670452'; // UTC
ss.info(current.update());
ss.info(current.getErrors());
// InfoИнформация: 155931135900000001
// InfoИнформация: [] |
updateMultiple()
Используйте этот метод , чтобы обновить все записи выборадля обновления всех записей выборки.
Возвращаемое значение:
Void или IntegerBoolean | - Если произошли ошибки проверки и запись не была обновлена, метод возвращает
|
«0» и - false и генерирует сообщение со списком ошибок.
- При отсутствии ошибок метод
|
не - возвращает значение true.
|
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | updateMultiple() |
---|
linenumbers | true |
---|
|
const task = new SimpleRecord('task');
task.addQuery('state', '0'); // Открыто
task.query();
ss.info(task.getRowCount());
task.setMultipleValue('state', '10'); // Отменено
// task.updateMultiple(); |