Примеры запросов ECOS Records
Оргструктура
Добавление в группу
let rec = Records.get('emodel/person@someuser'); // пользователь или группа, которого(ую) нужно добавить в группу
rec.att('att_add_authorityGroups', 'emodel/authority-group@accountant'); // группа, в которую нужно добавить
rec.save();
Удаление из группы
let rec = Records.get('emodel/person@someuser'); // пользователь или группа, которого(ую) нужно удалить из группы
rec.att('att_rem_authorityGroups', 'emodel/authority-group@accountant'); // группа, из которой нужно удалить
rec.save();
Пример работы с рекордами из javascript
Можно вызвать в консоле разработчиков в браузере.
Скрипт меняет статус для всех объектов с типом данных deal и статусом new на old (такие статусы должны быть заданы для типа deal).
var typeId = 'deal';
var typeRef = "emodel/type@" + typeId;
var sourceId = await Records.get(typeRef).load('sourceId');
var queryResult = await Records.query({
sourceId,
query: { t: 'eq', att: '_type', val: typeRef },
language: 'predicate',
page: { maxItems: 4000 }
});
var records = queryResult.records;
console.log("Found " + records.length);
var newStatus = 'old';
for (let i = 0; i < records.length; i++) {
let record = Records.get(records[i]);
let currentStatus = await record.load('_status?str', true);
if (currentStatus == 'new') {
console.log('change status for ' + record.id + " from " + currentStatus + " to " + newStatus);
record.att('_status', newStatus);
await record.save();
}
}
Формы
Поиск формы
Журналы
Работа с объектами
Работа с файлами из UI возможна либо через загрузку контента, как base64 строка:
await Records.get('emodel/ecos-contract@3a4e11cf-4227-44f4-98dd-1eeefba30e28').load('_content.bytes')
Либо через получение URL для скачивания:
await Records.get('emodel/ecos-contract@3a4e11cf-4227-44f4-98dd-1eeefba30e28').load('_content.url')
Можно или загрузить файл в виде formData по адресу:
/gateway/emodel/api/ecos/webapp/content
или через base64 (подходит только для небольших файлов).