Примеры запросов 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 (подходит только для небольших файлов).