Перейти к содержанию

Уведомления и индикаторы — Решение проблем

Руководство по решению проблем с уведомлениями и индикаторами 1Формы. Разделы организованы по типам проблем: симптом, что проверить, решение. Охватывает email, push, desktop-уведомления, обновление в реальном времени, фоновые задачи, повторения, счётчики и автозаполнение полей.

1. Уведомления не приходят

1.1 Не приходят уведомления на email (Outlook / почтовый клиент)

Симптом: «уведомления из 1Ф не приходят в Outlook», «перестали приходить письма-уведомления».

Что проверить:

  • Пользовательские настройки уведомлений — не отключены ли email-уведомления (Профиль → Уведомления)
  • Настройки категории — включены ли уведомления (Администрирование → Категории → Уведомления)
  • Почтовый сервер — работает ли отправка (проверить в логах ошибки SMTP)
  • Спам-фильтр — не попадают ли письма в спам
  • Очередь уведомлений — не забита ли

1.2 Напоминание о приближении срока не срабатывает

Симптом: «настроено "Напоминание о приближении срока в день окончания", но уведомления не приходят».

Что проверить:

  • Настройка в категории — включена ли, какой интервал
  • Срок задачи — задан ли
  • Фоновая задача — работает ли OverdueNotificationJob

Когда обращаться в поддержку 1Ф: если настройка есть, сроки заданы, но уведомления не приходят — проверить OverdueNotificationJob.

1.3 Push-уведомления не работают

Симптом: «ошибки push-уведомлений», «push не приходят на мобильное».

Что проверить:

  • Настройка push — настроен ли Firebase (FCM) / APNs
  • Порты — открыты ли (FCM требует порты 443, 5228-5230)
  • Токен устройства — зарегистрировано ли устройство
  • Логи — текст ошибки

Когда обращаться в поддержку 1Ф: если порты открыты, но push не работает — обратиться в поддержку 1Ф.

1.4 Desktop-уведомления не работают для чатов/вопросов

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

Симптом: «не приходят desktop-уведомления в браузере при новых сообщениях в чате», «не показываются уведомления для вопросов», «в консоли браузера ошибка TypeError при получении уведомлений».

Версии:

  • ❌ Версии до v2.266 — известная проблема
  • ✅ Версии v2.266+ — исправлено

Что проверить:

  1. Версия системы (самое важное):
  2. Если версия < 2.266 → рекомендовать обновление
  3. Если версия ≥ 2.266 → искать другие причины

  4. Настройки браузера:

  5. Разрешены ли уведомления для сайта (Settings → Site Settings → Notifications)
  6. В Chrome: иконка замка в адресной строке → Site Settings → Notifications → Allow
  7. В Firefox: иконка замка → Permissions → Receive Notifications → Allow

Разрешение уведомлений для сайта в настройках Chrome: «Конфиденциальность и безопасность» → «Уведомления»

  1. HTTPS-соединение:
  2. Desktop-уведомления работают только по HTTPS
  3. Проверить в адресной строке наличие замка 🔒

  4. Консоль браузера (F12 → Console):

  5. Нет ли JavaScript-ошибок при получении уведомлений
  6. Ошибка TypeError: Cannot spread non-iterable value = версия < 2.266

  7. Настройки пользователя:

  8. Профиль → Уведомления → "Уведомления рабочего стола" — включены ли

Известные проблемы (до v2.266):

  • TypeError при обработке событий newComment если recipients/copyRecipients = null
  • Некорректные значения enum в БД (SendPushForChats = 2)
  • Desktop-уведомления не показывались для сообщений чатов и вопросов

Решение:

Для версий < 2.266:

  1. Рекомендовать обновление до версии 2.266+ (критичное исправление)
  2. Временное решение: обновить страницу после каждого сообщения

Для версий ≥ 2.266:

  1. Проверить настройки браузера (разрешения на уведомления)
  2. Проверить HTTPS-соединение
  3. Проверить настройки пользователя в профиле
  4. Попросить пользователя кликнуть "Разрешить" при запросе браузера

Как протестировать:

1. Открыть консоль браузера (F12)
2. Выполнить: Notification.permission
   - "granted" = разрешено ✅
   - "denied" = запрещено ❌
   - "default" = не запрошено ⚠️
3. Тестовое уведомление:
   new Notification("Test", { body: "Работает!" })

Когда обращаться в поддержку 1Ф:

  • Версия < 2.266 и нельзя обновить — обращение в поддержку 1Ф
  • Версия ≥ 2.266, но уведомления всё равно не работают — проверить настройки nginx/reverse proxy (WebSocket)

2. Некорректные уведомления

2.1 Лишние уведомления

Симптом: «приходит лишнее уведомление при ответе на вопрос».

Что проверить:

  • Настройки уведомлений — какие типы включены
  • Тип события — ответ на вопрос может генерировать уведомление и автору, и получателю

2.2 Настройки systemrobot меняют настройки по умолчанию

Симптом: «изменение настроек уведомлений у systemrobot приводит к изменению настроек по умолчанию для всех».

Решение: настройки уведомлений systemrobot используются как шаблон по умолчанию для новых пользователей. Изменение настроек systemrobot не должно влиять на уже созданных пользователей, но может влиять на дефолтные значения.

Когда обращаться в поддержку 1Ф: если изменение systemrobot меняет настройки существующих пользователей — баг.

OverdueNotificationJob падает. Симптом: «OverdueNotificationJob не выполняется», «ошибка в задаче уведомлений о просрочке».

Когда обращаться в поддержку 1Ф: серверная проблема — обратиться в поддержку 1Ф с текстом ошибки из лога.


4. Обновление в реальном времени (SignalR)

4.1 Данные не обновляются в реальном времени

Симптом: «в БИ не обновляется информация при создании задач», «данные подтягиваются только после обновления страницы».

Что проверить:

  • SignalR-соединение — индикатор в нижнем правом углу (зелёный = подключён)
  • Reverse proxy — пропускает ли WebSocket-соединения
  • Браузер — поддерживает ли WebSocket
  • Обновить страницу — восстанавливается ли соединение
  • VPN или корпоративный прокси клиента — некоторые VPN/прокси-серверы блокируют или нестабильно пропускают WebSocket. Попросить пользователя проверить работу без VPN
  • Локальный брандмауэр / антивирус — могут блокировать долгоживущие WebSocket-соединения
  • Сравнение с другими пользователями той же компании — если у других сотрудников SignalR работает, проблема локальная (на стороне рабочего места)

Когда обращаться в поддержку 1Ф: если SignalR стабильно не подключается у всех пользователей — проблема инфраструктуры (nginx/IIS настройки WebSocket). Если только у одного — см. § 4.2.

4.2 SignalR не работает только у одного пользователя

Симптом: «у конкретного сотрудника интерфейс не обновляется, у остальных всё в порядке», «ошибка SignalR в консоли только у одного юзера».

Что проверить:

  • VPN — отключить и проверить (многие корпоративные VPN режут WebSocket)
  • Корпоративный прокси / firewall на стороне клиента — пропускает ли долгоживущие соединения, не фильтрует ли HTTP Upgrade-заголовки
  • Браузер — повторить в другом браузере или в режиме инкогнито (исключить расширения)
  • Сетевая стабильность рабочего места — нет ли потерь пакетов, стабильно ли подключение

Решение: если работа без VPN восстанавливает SignalR — это сетевая политика компании пользователя, не баг платформы. Передать IT-службе клиента для настройки VPN/прокси: разрешить WebSocket на домен 1Формы.

Когда обращаться в поддержку 1Ф: если VPN и прокси исключены, но проблема сохраняется только у одного пользователя — обратиться в поддержку 1Ф с указанием версии платформы, браузера и сетевой топологии рабочего места.

Где хранятся уведомления в БД. Симптом: «в какой таблице хранятся данные об уведомлениях?»

Решение: уведомления хранятся в таблице dbo.Notifications (основная) и связанных таблицах. Настройки пользователей — dbo.UserNotificationSettings.


6. Повторения — уведомления и расписания

6.1 Ошибки при создании и переносе повторений

Симптом: «ошибка при повторном создании повторения», «при переносе задачи не учитываются настройки повторений категории».

Что проверить:

  • Настройки повторений в категории — заданы ли, совместимы ли с целевой категорией при переносе
  • Повторение уже существует — попытка создать дубль может вызывать ошибку
  • Логи — текст ошибки при создании

Когда обращаться в поддержку 1Ф: если ошибка воспроизводится стабильно — баг, обратиться в поддержку 1Ф с шагами воспроизведения.

6.2 Смарт-расписания: баги UI и подстановки времени

Симптом: «не подставляется время из смарт-выражения "Дата окончания"», «странно ведёт себя выбор времени в установке повторения», «при отклонении повторения пресеты становятся некликабельными».

Что проверить:

  • Версия системы — проблемы фронта могут быть версионными
  • Тип смарт-выражения — какое именно используется
  • Браузер — воспроизводится ли в другом браузере
  • Шаги воспроизведения — точная последовательность (создать повторение → отклонить → попробовать снова)

Когда обращаться в поддержку 1Ф: UI-баги фронта — обратиться в поддержку 1Ф со скриншотами и шагами воспроизведения.


7. Автоматическое заполнение полей (робот/SmartScript)

7.1 Робот не заполняет исполнителя автоматически

Симптом: «робот не заполняет исполнителя автоматически при создании задачи».

Что проверить:

  • Настройка SmartScript/робота — привязан ли к категории, на какое событие срабатывает
  • Условия срабатывания — выполняются ли (тип задачи, состояние, значения ДП)
  • Логи SmartScript — есть ли ошибки выполнения
  • Права робота — имеет ли робот права на изменение поля «Исполнитель»

Когда обращаться в поддержку 1Ф: если SmartScript настроен корректно, но не срабатывает — обратиться в поддержку 1Ф с ID категории и названием скрипта.


8. Счётчики категорий — уведомления и обновление

8.1 Проблемы с уведомлениями счётчиков

Симптом: «проблема с уведомлениями счётчиков категорий», «счётчики не обновляются», «некорректные значения счётчиков».

Что проверить:

  • SignalR-соединение — счётчики обновляются через SignalR (см. секцию 4.1)
  • Настройки категории — включены ли счётчики
  • Кеш — попробовать очистить кеш браузера и обновить страницу
  • Один пользователь или все — если все, проблема серверная

Связанные документы: runbook-tickers-counters.md — детальный рунбук по счётчикам.

Когда обращаться в поддержку 1Ф: если счётчики стабильно некорректны после обновления страницы — обратиться в поддержку 1Ф.


Чеклист для первичной диагностики

Что зафиксировать при первичном разборе:

  1. Тип проблемы — не приходят, лишние, push, desktop, SignalR, фоновые задачи, повторения, счётчики, автозаполнение
  2. Канал уведомления — email, push (mobile), desktop (браузер), SignalR
  3. Один пользователь или все
  4. Версия системы (критично для desktop-уведомлений: < 2.266 = известная проблема; для повторений — UI-баги могут быть версионными)
  5. Текст ошибки из лога или консоли браузера (для desktop)
  6. Настройки — пользовательские и категории
  7. Для desktop: разрешения браузера, HTTPS, консоль (F12)
  8. Для повторений: какое смарт-выражение, шаги воспроизведения, скриншоты

Когда обращаться в поддержку 1Ф

Обращаться в поддержку 1Ф стоит в следующих случаях:

  • OverdueNotificationJob падает (серверная проблема)
  • Push не работает при открытых портах
  • Настройки systemrobot меняют настройки существующих пользователей (баг)
  • SignalR стабильно не подключается (инфраструктура)
  • Desktop-уведомления не работают на версии < 2.266 и нельзя обновить (критичный баг)
  • Повторения: ошибка создания/переноса воспроизводится стабильно (баг)
  • Повторения: UI пресетов/смарт-расписаний сломан (фронт-баг)
  • SmartScript/робот не срабатывает при корректной настройке
  • Счётчики категорий стабильно некорректны после обновления страницы