Общие сведения
Надёжность и безопасность
Покупка лицензии
Начало работы
Роли в системе
Проекты
Концепции
Компоненты
Инструкции
Задачи
Финансы
Ресурсы
Таймшиты
Клиенты
Вики
Затраты
Отчёты и аналитика
FAQ
Типы отчётов
Тип отчёта «Акты»
Тип отчёта «Баланс отсутствий»
Тип отчёта «Бронирование»
Тип отчёта «Биллинг»
Тип отчёта «Версии проектов»
Тип отчёта «Задачи»
Тип отчёта «Задачи проектов»
Тип отчёта «Затраты»
Тип отчёта «Заявки на затраты»
Тип отчёта «Заявки на отсутствия»
Тип отчёта «История ставок пользователей»
Тип отчёта «Запросы ресурсов»
Тип отчёта «Навыки пользователей»
Тип отчёта «Пользователи»
Тип отчёта «Проводки»
Тип отчёта «Ресурсный план»
Тип отчёта «Ресурсный план (по версиям)»
Тип отчёта «Проекты»
Тип отчёта «Сертификаты пользователей»
Тип отчёта «Счета»
Тип отчёта «Счета (строки)»
Тип отчёта «Таймшиты»
Тип отчёта «Таймшиты детально»
Тип отчёта «Финансы»
Тип отчёта «Структура работ»
Тип отчёта «Центры затрат проектов»
Тип отчёта «Задания воркфлоу»
Тип отчета Клиенты
Тип отчета «Контакты»
Тип отчёта «Сделки»
Тип отчёта «История состояний сделок»
Тип отчёта «Взаимодействия»
Использование отчётов
Группировка данных источника
Группировка данных в отчёте
Типы виджетов
Общие отчёты и шаблоны
Настройка отчёта
Экспорт отчётов
Пользовательские настройки отчёта
Вычисляемые поля
Особые колонки отчётов с временными рядами
Использование панелей мониторинга
Публикация панелей
Фильтры источников данных
Настройка и администрирование
Типовой порядок настройки системы
Язык формул и выражений
On-premises
API
История изменений
Термины и определения

NotificationService

Обновлено: 13.03.2026

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

var notificationService = context.GetNotificationService();

Сервис позволяет отправлять пользовательские уведомления конкретным пользователям системы.

SendCustomNotificationAsync

Task SendCustomNotificationAsync(
    Guid userId,
    string message,
    string subject = null,
    EntityInfo entityInfo = null
)

Отправляет пользовательское уведомление указанному пользователю.

Уведомление отправляется через внутреннюю очередь событий системы и отображается в интерфейсе пользователя.

Параметры

  • userId — идентификатор пользователя, которому будет отправлено уведомление;
  • message — текст уведомления;
  • subject (необязательный) — заголовок уведомления;
  • entityInfo (необязательный) — информация о сущности, связанной с уведомлением. Используется для перехода пользователя к соответствующей записи в системе.

EntityInfo

public record EntityInfo(string EntityType, Guid EntityId);

Описание сущности, связанной с уведомлением.

Параметры:

  • EntityType — тип сущности;
  • EntityId — идентификатор сущности.

Если EntityInfo передан, уведомление будет связано с соответствующей сущностью.

Пример

Пример отправки уведомления пользователю:

var notificationService = context.GetNotificationService();

await notificationService.SendCustomNotificationAsync(
    userId,
    "Проект был обновлён",
    "Обновление проекта"
);

Пример с привязкой к сущности

var notificationService = context.GetNotificationService();

await notificationService.SendCustomNotificationAsync(
    userId,
    "Проект был обновлён",
    "Обновление проекта",
    new EntityInfo("Project", project.Id)
);

В этом случае уведомление будет связано с указанной сущностью, и пользователь сможет перейти к ней из интерфейса уведомления.

Особенности

  • уведомление отправляется асинхронно через очередь событий;
  • отправителем уведомления автоматически становится текущий пользователь.

Метод не блокирует выполнение бизнес-логики и может безопасно использоваться в обработчиках динамического кода.

Предыдущая
 SafeHttpClient
Следующая
Примеры кода 

Содержание

SendCustomNotificationAsync Параметры EntityInfo Пример Пример с привязкой к сущности Особенности
Ничего не найдено

Перейти на русскую версию?