You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 9 Next »
Этот серверный класс представляет собой методы для работы с записями базы данных.
SimpleRecord(tableName)
Этот метод создает объект класса SimpleRecord для конкретной таблицы.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
tableName | String | Да | Нет |
Пример:
const taskRecord = new SimpleRecord('task');
REM attribute object
В классе SimpleRecord имеется отдельный объект Record Extended Models – rem_attr, который содержит информацию о REM attributes. Используйте его для чтения и редактирования значений атрибута REM текущей записи с помощью других методов класса, как в примере ниже.
rem_attr имеет несколько методов аналогичных методам SimpleRecord:
Например:
record.rem_attr.getValue('my_rem_attribute');
Параметр:
Name | Type | Обязательный | Значение по умолчанию |
---|---|---|---|
property | String | Да | Нет |
Возвращаемое значение::
Тип | Описание |
---|---|
SimpleRecord object | Метод возвращает значение SimpleRecord object из определенной модели расширенной записи. Метод возвращает "null", если запись не имеет модели расширенной записи. |
Пример:
const record = new SimpleRecord('task'); record.get('160638931615274614'); if (record.getReModelId()) { ss.info(record.rem_attr.description); }
addOrCondition(property, operator, value)
Этот метод добавляет параметр 2 или 3, или условие к существующему запросу. Он работает в сочетании с любым из методов addQuery(). В этом методе вы можете использовать любой предпочитаемый оператор из списка операторов условий, указанный либо в нижнем, либо в верхнем регистре. Обратите внимание, что необходимо использовать системное имя оператора в скриптах.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
property | String | Да | Нет |
operator | String (больше информации в статье Операторы условий) | Нет | Нет |
value | Integer / String / Boolean / Array / SimpleRecord object | Да | Нет |
Возвращаемое значение::
Тип | Описание |
---|---|
SimpleRecord | Запрос содержащий объект SimpleRecord или условие, добавленное к этому объекту |
Пример:
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)
В качестве значения для метода addOrCondition() вместо ID записи может быть передано значение из Reference поля в формате current.{reference_field_name}. Пример скрипта
const task = new SimpleRecord('task'); 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()); // Info: Tasks count: 122
addQuery(property, operator, value)
Используйте этот метод, чтобы добавить условие для выбора записей из базы данных. В этом методе позволяет использовать любой предпочитаемый оператор из списка Операторы условия, указанный либо в нижнем, либо в верхнем регистре. Обратите внимание, необходимо использовать системное имя оператора в скриптах.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
property | String | Да | Нет |
operator | String (refer to the Condition Operators article for more information) | Нет | Нет |
value | Integer / String / Boolean / Array | Да | Нет |
Возвращаемое значение::
Тип | Описание |
---|---|
SimpleRecord | Условие запроса добавленое в объект SimpleRecord. |
Пример:
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()); // Info: Count: 0
В качестве значения для метода addQuery() вместо ID записи может быть передано значение из Reference поля в формате current.{reference_field_name}. Пример скрипта:
const task = new SimpleRecord('task');
task.setLimit(1);
task.query();
task.next();
const user = new SimpleRecord('user');
user.addQuery('sys_id', task.caller);
user.query();
user.next();
addEncodedQuery(condition)
Используйте данный метод, чтобы добавить закодированный запрос и применить его к текущему методу запроса.
Допустимо использование декодированного запроса.
Параметр:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
condition | String | Да | Нет |
Возвращаемое значение::
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
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))
canCreate()
Используйте этот метод, чтобы проверить, удовлетворяет ли добавление новых записей в указанную таблицу правилу управления доступом (ACL).
Так же используйте этот метод в UI Actions, чтобы оптимизировать видимость записей.
Возвращаемое значение::
Тип | Описание |
---|---|
Boolean | Метод возвращает значение "true", если действие разрешено, если нет, метод возвращает "false". |
Пример:
current.canCreate();
canDelete()
Используйте этот метод, чтобы проверить, удовлетворяет ли удаление записей из указанной таблицы правилу управления доступом (ACL).
Так же используйте этот метод в UI Actions, чтобы оптимизировать видимость записей.
Возвращаемое значение:
Тип | Описание |
---|---|
Boolean | Метод возвращает значение "true", если действие разрешено, если нет, метод возвращает "false". |
Пример:
current.canDelete();
canRead()
Используйте этот метод, чтобы проверить, удовлетворяет ли чтение записей в указанной таблице правилу управления доступом (ACL).
Так же используйте этот метод в UI Actions, чтобы оптимизировать видимость записей.
Возвращаемое значение::
Тип | Описание |
---|---|
Boolean | Метод возвращает значение "true", если действие разрешено, если нет, метод возвращает "false". |
Пример:
current.canRead();
canUpdate()
Используйте этот метод, чтобы проверить, удовлетворяет ли обновление записей в указанной таблице правилу управления доступом (ACL).
Так же используйте этот метод в UI Actions, чтобы оптимизировать видимость записей.
Возвращаемое значение::
Тип | Описание |
---|---|
Boolean | Метод возвращает значение "true", если действие разрешено, если нет, метод возвращает "false". |
Пример:
current.canUpdate();
deleteMultiple()
Используйте этот метод, чтобыудалить несколько записей в выборке запроса. Обратите внимание, что вложения не могут быть удалены с помощью этого метода.
Не используйте этот метод для таблиц с зависимостями. Всегда удаляйте каждую запись по отдельности.
Возвращаемое значение::
Тип | Описание |
---|---|
Boolean | Метод возвращает "true", если записи успешно удалены, в случае ошибки метод возвращает значение "false". |
Пример:
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()
Используйте этот метод для удаления текущей записи.
Возвращаемое значение:
Тип | Описание |
---|---|
Boolean | Метод возвращает значение "true", если запись успешно удалена, в случае ошибки метод возвращает значение "false". |
Пример:
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 записи или имени свойства. Если значение равно имени свойства, второй параметр value является обязательным. Передача значения 'NULL' или пустой строки в качестве значения параметра propertyOrValue ведет к исключению: "Аргумент 1 переданный в "get()" не может быть пустым". | Да | Нет |
value | String | Нет | NULL |
Возвращаемое значение:
Тип | Описание |
---|---|
SimpleRecord object | Этот метод возвращает объект SimpleRecord из таблицы, указанной в запросе. |
Пример:
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); }
В качестве значения для метода get() вместо ID записи может быть передано значение из Reference поля в формате current.{reference_field_name}. Пример скрипта:
const task = new SimpleRecord('task');
task.setLimit(1);
task.query();
task.next();
const user = new SimpleRecord('user');
user.get(task.caller);
getAttributes()
Данный метод возвращает объект со свойствами текущей записи в качестве ключей и значения свойств как значения ключей.
Возвращаемое значение:
Тип | Описание |
---|---|
Object | Массив атрибутов |
Пример:
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()
Данный метод возвращает заголовок таблицы. Если он не установлен, то метод возвразает системное имя таблицы.
Возвращаемое значение:
Тип | Описание |
---|---|
String | Заголовок или название |
Пример:
const current = new SimpleRecord('task'); current.get('163663310116371174'); ss.info(current.getClassDisplayValue()); // Инфо: Задача
getConditionQuery()
Метод возвращает текущее условие запроса.
Возвращаемое значение:
Тип | Описание |
---|---|
String | Условие запроса |
Пример:
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)
Данный метод возвращает значение поля display_by_ref или значение записи. Например, для поля reference возвращается название сущности, а не ID.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
Property | String | Нет | NULL |
Возвращаемое значение:
Type | Описание |
---|---|
String | Поле или значение записи |
Пример:
const current = new SimpleRecord('task'); current.get('163663310116371174'); ss.info(current.getDisplayValue('caller')); ss.info(current.getValue('caller')); // Инфо: Иван Иванов // Инфо: 155931135900000001
getErrors()
Этот метод отображает сообщение об ошибке в случае сбоя при создании, обновлении или удалении записи.
Используйте этот метод в целях контроля, если в ваших скриптах есть какие-либо ошибки проверки.
Настоятельно рекоментдуется использовать данный метод, так как некоторые ошибки проверки могут не отображаться в процессе отладки.
Например, ошибки в запросах условия, переданных методом addEncodedQuery(condition) или аналогичным, можно отобразить, вызвав этот метод.
Возвращаемое значение:
Тип | Описание |
---|---|
Array | Значение ошибки |
Пример:
const record = new SimpleRecord('user'); const insertedRecordId = record.insert(); if (insertedRecordId == 0) { ss.info(record.getErrors()); } // Инфо: ["Поле \"\"First Name\" [first_name]\" является обязательным. (record id: )",...
getLabel(property)
Используйте этот метод, чтобы получить заголовок поля.
Метод getLabel() не используется с атрибутами REM. Вместо этого используйте метод getTitle().
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
property | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
String | Название поля |
Пример:
const current = ss.getUser(); const fieldLabel = current.getLabel('username'); ss.addErrorMessage('Поле "' + fieldLabel + '" должно быть заполнено'); // Поле "Логин"должно быть заполнено
getReModelId()
Используйте этот метод, чтобы извлечь ID расширенной модели записи, относящейся к текущей записи. Используйте метод setReModelId, чтобы установить новый ID модели .
Возвращаемое значение:
Тип | Описание |
---|---|
String | Метод возвращает ID модели. Если модель не найдена, метод возвращает значение 'null'. |
Пример:
(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()
Используйте этот метод, чтобы получить количество элементов в ряду.
Возвращаемое значение:
Тип | Описание |
---|---|
Integer | Количество элементов в ряду |
Пример:
const task = new SimpleRecord('task'); task.query(); ss.addInfoMessage('Количество всех задач: ' + task.getRowCount()); //Количество всех задач: 2
getTableName()
Используйте этот метод, чтобы получить системное название текущей страницы.
Возвращаемое значение:
Тип | Описание |
---|---|
String | Системное название текущей таблицы |
Пример:
const current = ss.getUser(); ss.info('/list/' + current.getTableName() + '/' + current.sys_id); // Info: /list/user/155931135900000001
getTitle(attribute)
Метод возвращает заголовок, определенный атрибутом расширенной модели записи.
Параметр:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
column | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
String | Метод возвращает заголовок атрибута. |
Пример:
const current = new SimpleRecord('task'); current.get('163638951512716126'); if (current.sys_id) { ss.info(current.rem_attr.getTitle('reviewed')); } // Инфо: Ревью завершено
Чтобы вернуть колонки, заголовки которых не являются частью модели расширенной записи, используйте метод getLabel().
getValue(property)
Этот метод возвращает значение свойства объекта на основе его имени.
Если поле относится к типу "Reference" или "List", возвращается его значение sys_id.
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 | Значение строки свойства объекта. |
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()
Используйте этот метод, чтобы проверить, имеет ли указанная запись вложение.
Возвращаемое значение:
Тип | Описание |
---|---|
Boolean | Метод возвращает "true", если в записи есть вложение, если нет, метод возвращает "false". |
Пример:
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 | Метод не возвращает значение. |
Пример:
const taskRecord = new SimpleRecord('task'); ss.info(taskRecord.getAttributes().caller); taskRecord.initialize(); ss.info(taskRecord.getAttributes().caller); // Инфо: // Инфо: 155931135900000001
insert()
Этот метод использует значения полей текущей записи для вставки в новую запись.
Если запись не вставлена, метод возвращает «0» (ноль) и выводит сообщение об ошибке, которое можно получить с помощью метода getErrors().
Возвращаемое значение:
Тип | Описание |
---|---|
String |
|
Пример:
const newTask = new SimpleRecord('task'); newTask.subject = 'Subtask'; const inserterTaskID = newTask.insert(); ss.info(`/record/task/${inserterTaskID}`); // Инфо: /record/task/163675231910113745
isTableVcsEnabled()
Используйте этот метод, чтобы проверить был ли атрибут VCS enabled включен для указанной таблицы.
Возвращаемое значение:
Тип | Описание |
---|---|
Boolean | Метод возвращает значение атрибута is_vcs_enabled таблицы записи. |
Пример:
const current = new SimpleRecord('user'); ss.info(current.isTableVcsEnabled()); // Инфо: false
matchesCondition(condition)
Используйте этот метод, чтобы проверить, соответствует ли текущая запись условию в текущем статусе.
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
condition | String | Нет | '' |
Возвращаемое значение:
Тип | Описание |
---|---|
Boolean | Метод возвращает "true", если запись соответствует указанным условиям, в противном случае метод возвращает "false". |
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 Boolean | При первом вызове, метод возвращает первую запись в запросе. Если запрос пуст, метод возвращает "false". |
Пример:
const user = new SimpleRecord('user'); user.setLimit(1); user.query(); user.next(); ss.info(user.sys_id); // Инфо: 100000000000000000
Пока метод не вызван, значения объекта SimpleRecord недоступны., и появляется сообщение «Текущая запись не установлена». См. пример:
const task = new SimpleRecord('task'); task.setLimit(1); task.query(); // task.next(); ss.info(task.number); // Ошибка: Текущая запись не установлена.
orderBy(column)
Используйте этот метод, чтобы отсортировать записи в порядке возрастания.
Исползуйте этот метод, чтобы отсортировать записи по нескольким колонкам.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
column | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
const firstLog = new SimpleRecord('sys_log'); firstLog.orderBy('sys_created_at'); // oldest record first firstLog.addQuery('message', 'like', 'Connection'); firstLog.setLimit(1); firstLog.selectAttributes(['message', 'sys_created_at']); firstLog.query(); firstLog.next(); ss.info(firstLog.sys_created_at + ' - ' + firstLog.message); // Info: 2021-06-03 06:34:02 - IMAP IMAP (Default): Connection error: ...
orderByDesc(column)
Используйте этот метод, чтобы отсортировать записи в порядке убывания.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
column | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
const lastComment = new SimpleRecord('sys_activities_stream_field'); lastComment.orderByDesc('sys_created_at'); // newest record first lastComment.setLimit(1); lastComment.selectAttributes(['value', 'sys_created_by']); lastComment.query(); lastComment.next(); ss.info(lastComment.sys_created_by.display_name + ': ' + lastComment.value); // Info: John Doe: test
query()
Используйте этот метод, чтобы применить запрос к выбору базы данных. После этого метод заполняет набор записей.
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
const tasks = new SimpleRecord('task'); tasks.addQuery('sys_created_at', '>', '2020-01-01'); tasks.orderBy('sys_created_at'); tasks.setLimit(2); tasks.query(); while (tasks.next()) { ss.info('Task number: ' + tasks.number); } // Info: Task number: TSK0000001 // Info: Task number: TSK0000003
selectAttributes(attributes)
Используйте этот метод для оптимизации запросов к базе данных, особенно когда необходимо получить только несколько полей объекта, а не весь объект.
Не используйте этот метод для выбора записей, которые можно обновить или удалить после выбора. В противном случае некоторые значения полей записи могут быть потеряны при их обновлении или удалении. Выполненное действие также может вызвать исключение, подобное следующему:
Заполните запись, чтобы сохранить.
Параметр:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
attributes | String / Array | Да | Нет |
Рекомендуется передавать значение одного атрибута в качестве строки. Для передачи большего количества название аттрибутов, используйте массив, как в примере ниже.
Возвращаемое значение:
Тип | Описание |
---|---|
SimpleRecord object | Метод возвращает объект SimpleRecord object, содержащий атрибуты и значения. Независимо от исходного содержимого набора атрибутов, возвращаемый объект всегда содержит атрибут sys_id. Смотрите пример ниже. |
Пример:
const record = new SimpleRecord('user'); record.selectAttributes('email'); record.query(); record.next(); ss.info(record.getAttributes()); // Инфо: {"email":"john.doe@email.com","sys_id":"162423321917274937"}
Пример:
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)
Используйте этот метод в бизнес-правилах для настройки флажка, обозначающего прерванность текущей операции (добавить/обновить/удалить).
Важно, что код не выполняется, если он написан после вызова данного метода в теле скрипта.
Не рекомендуется использовать этот метод с бизнес-правилами async, так как это может привести к непредсказуемому поведению системы.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
flag | Boolean | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
const current = new SimpleRecord('task'); current.get('163663310116371174'); const hasAttach = current.hasAttachment(); if (!hasAttach) { ss.addErrorMessage('File should be attached!'); current.setAbortAction(true); } current.state = '2'; // Open current.update();
setLimit(maxNumRecords)
Используйте этот метод, чтобы ограничить количество записей, выбранных при помощи методов запроса SimpleRecord.
Параметр:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
maxNumRecords | Integer | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
const record = new SimpleRecord('user'); record.setLimit(3); record.query(); ss.info(record.getRowCount()); // Info: 3
setMultipleValue(property,value)
Используйте этот метод, чтобы установить значения свойств для каждой записи в текущей выборке.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
property | String | Да | Нет |
value | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
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)
Используйте этот метод, чтобы установить ID определенной модели расширенной записи. Чтобы получить ID модели, используйте метод getReModelId.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
reModelId | String | Да | Нет |
Если параметр reModelId равен "null", модель расширенной записи, относящейся к записи, будет отвязана.
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
Пример:
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();
При вызове данного метода на экземпляре SimpleRecord(), значения его атрибутов, привязанных к предыдущей модели, будут сброшены.
После вызова данного метода и обновления текущей записи значения атрибута, привязанного к предыдущей модели будут утеряны.
setValue(property, value)
Используйте этот метод, чтобы установить значение поля в текущей записи.
Параметры:
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
property | String | Да | Нет |
value | String | Да | Нет |
Возвращаемое значение:
Тип | Описание |
---|---|
Void | Этот метод не возвращает значение. |
Пример:
const task = new SimpleRecord('task'); task.setValue('subject', 'mail'); task.insert();
silentMode(enable)
Используйте этот метод для обновления записи без выполнения каких-либо элементов, связанных с этой записью, реализующих бизнес-логику, например бизнес-правила, уведомления, рабочие процессы и т. д.
Название | Тип | Обязательный | Значение по умолчанию |
---|---|---|---|
enable | Boolean | Нет | true |
Тип | Описание |
---|---|
Void | Метод не возвращает значение. |
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()
Используйте этот метод для обновления записи базы данных.
Используйте этот метод для существующих записей.
- Измененияя буду применены, если запись уже существовала.
- Если запись ранее не существовала, метд getErrors() вернет сообщение об ошибке:
"Невозможно обновить новую запись. Используйте для этого `insert()`. (record id: )"
Возвращаемое значение:
Тип | Описание |
---|---|
String |
|
Пример:
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 или Integer |
|
const task = new SimpleRecord('task'); task.addQuery('state', '0'); // Открыто task.query(); ss.info(task.getRowCount()); task.setMultipleValue('state', '10'); // Отменено // task.updateMultiple();
- No labels