Для создания напоминания по задаче используется метод ProcessTaskItem.createReminder.

// Получаем объект задачи
let task = await System.processes._searchTasks().where(x => x.__id.eq(taskUUID)).first();
// Если объект задачи не найден, то заканчиваем выполнение сценария
if (!task) {
 return;
}

// Получаем текущего пользователя
const user = await System.users.getCurrentUser();

// Получаем текущую дату и прибавляем 1 день
// Временная зона берётся из поля `System.timezones.current`
let dateReminder = new Datetime();
dateReminder = dateReminder.add(new Duration(1, 'days'))

// Создаём напоминание о задаче на следующий день
await task.createReminder(dateReminder, user);

Type parameters

Hierarchy

Properties

Readonly code

code: string

Код приложения цели ссылки (код приложения).

Readonly data

data: Based<Partial<ReminderData>>

Значения полей объекта.

Readonly fields

fields: Readonly<object>

Описание полей объекта.

Readonly id

id: string

Идентификатор цели ссылки.

Readonly namespace

namespace: string

Пространство имен цели ссылки (код раздела приложения).

Methods

delete

  • delete(): Promise<void>
  • Удаление напоминания.

    В примере выполняется поиск задачи, поиск напоминаний для текущего пользователя и удаление всех напоминаний:

    // Получаем объект задачи
    let task = await System.processes._searchTasks().where(x => x.__id.eq(taskUUID)).first();
    // Если объект задачи не найден, то заканчиваем выполнение сценария
    if (!task) {
     return;
    }
    
    // Получаем текущего пользователя
    const user = await System.users.getCurrentUser();
    
    // Получаем текущую дату
    // Временная зона берётся из поля `System.timezones.current`
    let dateReminder = new Datetime();
    
    // Получаем все напоминания для пользователя по данной задаче
    const reminders = await System.reminders.search().where((f,g) => g.and(f.user.eq(user), f.__item.eq(task!))).all();
    // Удаляем все напоминания
    for (let i = 0; i < reminders.length; i++) {
     await reminders[i].delete();
    }
    

    Returns Promise<void>

fetch

normalize

  • normalize(): void
  • Удаление дублирующихся данных в массивах.

    Выполнить удаление дубликатов в полях, в которых хранятся массивы ссылок на объекты системы (пользователи, файлы, элементы приложений, документы).

    Этот метод, например, можно вызвать после массового изменения данных в объекте.

    const app1 = await Context.data.app1.fetch();
    const app2 = await Context.data.app2.fetch();
    
    app1.data.executors.push(app2.data.executors);
    app1.normalize();
    
    // Далее перебираем элементы нового массива
    app1.data.executors.forEach( ... );
    

    Returns void