Для создания напоминания по задаче используется метод ProcessTaskItem.createReminder.
// Получаем объект задачи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();
dateReminder = dateReminder.add(new Duration(1, 'days'))
// Создаём напоминание о задаче на следующий деньawait task.createReminder(dateReminder, user);
Пространство имён цели ссылки (код раздела приложения).
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();
}
Объект Напоминания
Для создания напоминания по задаче используется метод
ProcessTaskItem.createReminder.// Получаем объект задачи 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(); dateReminder = dateReminder.add(new Duration(1, 'days')) // Создаём напоминание о задаче на следующий день await task.createReminder(dateReminder, user);Type parameters
I: Item<ItemData>
Hierarchy
Properties
Readonly code
Код приложения цели ссылки (код приложения).
Readonly data
Значения полей объекта.
Readonly fields
Описание полей объекта.
Readonly id
Идентификатор цели ссылки.
Readonly namespace
Пространство имён цели ссылки (код раздела приложения).
Methods
delete
Удаление напоминания.
В примере выполняется поиск задачи, поиск напоминаний для текущего пользователя и удаление всех напоминаний:
// Получаем объект задачи 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
Запрос полных данных объекта-ссылки.
Returns Promise<ReminderItem>
normalize
Удаление дублирующихся данных в массивах.
Выполнить удаление дубликатов в полях, в которых хранятся массивы ссылок на объекты системы (пользователи, файлы, элементы приложений, документы).
Этот метод, например, можно вызвать после массового изменения данных в объекте.
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
Ваш отзыв успешно отправлен!
Спасибо за обратную связь.