Skip to content

Latest commit

 

History

History
99 lines (73 loc) · 6.08 KB

JavaScript_Records_API.rst

File metadata and controls

99 lines (73 loc) · 6.08 KB

JavaScript Records API

Общее

В контексте серверного JavaScript для работы с Records API добавлен сервис Records, который доступен в глобальном контексте.

Класс сервиса: ru.citeck.ecos.records.script.RepoScriptRecordsService

В сервисе предусмотрены следующие методы:

Возвращаемое значение Название метода Аргументы (* - обязательный)
Any (в зависимости от attributes) getAtts record*: RecordRef, attributes*: RecordAttributes
Record get record*: RecordRef
QueryRes query query*: RecsQuery, attributes: RecordAttributes

Типы:

  • RecordRef - ссылка на запись. Допустимые значения: NodeRef, RecordRef, ScriptNode, String;
  • Record - инстанс записи, у которой можно запросить атрибуты или записать туда атрибуты;
  • QueryRes - результат поиска;
  • RecsQuery - запрос на поиск записей;
  • RecordAttributes - атрибуты для получения. Допустимо передавать String или String[] или Map<String, String>.

Возможные варианты:

  1. Если мы передаем string, то получаем обычное значение (строка, число и тд.).
  2. Если мы передаем массив ["aa", "bb"], то это эквивалентно объекту (Map) {"aa":"aa","bb":"cc"}
  3. Если мы передаем объект (Map), то в результате получим тот же объект, но вместо значений исходного объекта будут значения атрибутов. Пример:

Пример:

{"disp": "cm:title"} -> {"disp": "Договор №2"}
  • getAtts - получить атрибуты по заранее известной записи или записям (допускается массив);
  • get - получить инстанс записи, с которым можно проводить операции чтения/записи атрибутов;
  • query - выполнить поисковый запрос для получения записей.

Описание Record:

Возвращаемое значение Название метода Аргументы (* - обязательный)
RecordRef getRef -
String getLocalId -
Any (в зависимости от attributes) load attributes*: RecordAttributes
- att name*: String, value*: Any
Record save -
  • getRef - получить RecordRef записи;
  • getLocalId - получить локальный идентификатор записи;
  • load - загрузить атрибуты из записи. Описание аргумента RecordAttributes см выше;
  • att - установить значение некоторого атрибута в записи. Без вызова save ничего с реальной записью не происходит;
  • save - сохранить изменения, которые сделаны с записью через метод att.

Методы att и save доступны с версии ecos-community-core 4.1.0

Примеры

Поиск записей:

var result = Records.query({
  sourceId: '',
  query: 'TYPE:"cm:person"',
  language: 'fts-alfresco'
}, ['cm:userName', 'cm:firstName']).records;

Загрузка атрибутов записи:

var result = Records.getAtts(['people@admin', 'people@fet'], {'aa': 'cm:userName'});
---
var result = Records.get('people@admin').load(['cm:userName', 'cm:firstName']) ;
---
var result = Records.get('people@admin').load('cm:firstName');

Изменение записи:

var rec = Records.get('workspace://SpacesStore/c34da292-fa35-4593-a08b-0e3a2c675db7');

rec.att('idocs:note', 'Some Value');
rec.att('ecos:documentAmount', 123);

rec.save();