Оповещения в 1С:Предприятие 8.3 — полезный инструмент для отслеживания важных событий: от напоминаний о просроченных задолях до системных предупреждений о блокировках или ошибках обмена. Однако со временем их количество может вырасти до сотен, затрудняя работу с программой. Забитый журнал уведомлений замедляет загрузку интерфейса, отвлекает пользователей ненужной информацией и даже может привести к ошибкам производительности при работе с большими базами.

В этой статье мы разберём все актуальные способы очистки оповещений — от ручного удаления через интерфейс до программных методов для администраторов. Особое внимание уделим скрытым уведомлениям, которые не отображаются в стандартном журнале, но продолжают занимать место в базе данных. Материал будет полезен как рядовым пользователям, так и IT-специалистам, поддерживающим инфраструктуру 1С.

Почему оповещения накапливаются и чем это грозит

Система уведомлений в устроена так, что каждое событие (даже прочитанное) по умолчанию сохраняется в базе данных. Основные причины заполнения журнала:

  • 📅 Автоматические напоминания о задачах, документах или отчётах, которые никто не отключил
  • ⚠️ Системные предупреждения о блокировках, ошибках регламентных заданий или превышении лимитов
  • 🔄 Уведомления об обмене данными (например, при интеграции с сайтом или другими системами)
  • 👥 Пользовательские сообщения, отправленные через механизм "Оповещения" (включая тестовые)

Последствия игнорирования проблемы:

⚠️ Внимание: В базах с более чем 10 000 неудалённых уведомлений время открытия журнала оповещений может увеличиваться до 30+ секунд. Это связано с тем, что 1С загружает все записи в оперативную память для отображения.
Количество уведомлений Время загрузки журнала Риск ошибок
До 1 000 1-2 секунды Низкий
1 000–5 000 3-10 секунд Средний (возможны зависания)
5 000–10 000 10-30 секунд Высокий (риск падения сеанса)
Более 10 000 30+ секунд или ошибка Критический (требуется очистка через SQL)

Особенно критична ситуация для файловых баз, где большой объём уведомлений может привести к фрагментации файла 1Cv8.1CD и замедлению всех операций. В клиент-серверных базах проблема проявляется реже, но тоже требует внимания.

📊 Как часто вы очищаете оповещения в 1С?
Никогда не очищал
Раз в месяц
Раз в квартал
Только когда система начинает тормозить

Способ 1: Ручная очистка через интерфейс 1С

Самый простой метод, доступный любому пользователю без прав администратора. Подходит для удаления до 500-1000 уведомлений.

Инструкция:

  1. Откройте главное меню 1С и перейдите в раздел Все функции (если его нет — включите через Сервис → Параметры → Отображать команду "Все функции").
  2. В строке поиска введите Оповещения и выберите Журнал оповещений.
  3. Нажмите Ещё → Удалить помеченные (или используйте горячие клавиши Ctrl+Shift+Del).
  4. В открывшемся окне выберите период (например, За всё время) и подтвердите удаление.

Ограничения метода:

  • ❌ Не удаляет системные уведомления, созданные регламентными заданиями
  • ❌ Не очищает скрытые оповещения, которые не отображаются в журнале
  • ❌ Может занять много времени при большом количестве записей

Закройте все активные сеансы 1С кроме текущего|

Создайте резервную копию базы (для файловых версий)|

Проверьте, что у вас есть права на удаление оповещений|

Отключите автоматическое создание уведомлений в настройках пользователя-->

Способ 2: Массовое удаление через обработку "Управление оповещениями"

Для баз с тысячами уведомлений ручной метод неэффективен. В этом случае поможет стандартная обработка УправлениеОповещениями.epf, которая входит в поставку 1С.

Как использовать:

  1. Скачайте обработку с диска ИТС или из каталога шаблонов вашей конфигурации (обычно лежит в C:\Program Files\1cv8\templates\{ВашаКонфигурация}\Ext\Reports).
  2. Откройте её через Файл → Открыть → Выбрать файл обработки.
  3. В обработке перейдите на вкладку Оповещения и нажмите Загрузить.
  4. Отметьте галочками типы уведомлений для удаления (например, Просроченные задачи или Системные сообщения).
  5. Нажмите Удалить отмеченные и подтвердите действие.

Преимущества метода:

  • ✅ Работает в 10-20 раз быстрее ручного удаления
  • ✅ Позволяет фильтровать уведомления по типу, дате и отправителю
  • ✅ Может удалять скрытые системные оповещения, недоступные в журнале
💡

Если обработка не находит уведомления, попробуйте обновить её версию. В старых редакциях (до 8.3.18) отсутствует поддержка некоторых типов оповещений.

Способ 3: Очистка через SQL-запрос (для клиент-серверных баз)

Для администраторов баз данных, работающих на MS SQL Server или PostgreSQL, самый эффективный способ — прямой запрос к таблице уведомлений. Внимание: этот метод требует прав на изменение структуры базы и может привести к потере данных при некорректном выполнении.

Инструкция для MS SQL:

-- Удаление всех оповещений старше 30 дней

DELETE FROM [dbo].[_NotificationBase]

WHERE [CreationDate] < DATEADD(day, -30, GETDATE())

-- Очистка таблицы получателей (если нужна полная очистка)

DELETE FROM [dbo].[_NotificationRecipient]

-- Пересчёт счётчиков (опционально)

EXEC [dbo].[sp_UpdateNotificationCounters]

Для PostgreSQL:

-- Удаление просроченных уведомлений

DELETE FROM "_notificationbase"

WHERE "creationdate" < (CURRENT_DATE - INTERVAL '30 days');

-- Очистка связей с получателями

DELETE FROM "_notificationrecipient"

WHERE "notification" NOT IN (SELECT "id" FROM "_notificationbase");

⚠️ Внимание: Перед выполнением SQL-запросов обязательно создайте резервную копию базы. Некоторые конфигурации (например, 1С:ERP) могут использовать дополнительные таблицы для уведомлений, не покрытые стандартным запросом.
Что будет если удалить все уведомления через SQL?

При полном удалении из таблиц _NotificationBase и _NotificationRecipient пропадут:

- Все пользовательские напоминания (включая актуальные)

- История системных сообщений (может понадобиться для аудита)

- Связи уведомлений с документами (в некоторых конфигурациях это нарушает целостность данных)

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

Способ 4: Автоматическая очистка через регламентное задание

Чтобы избежать ручной очистки, можно настроить автоматическое удаление устаревших уведомлений. Для этого:

  1. Перейдите в Администрирование → Регламентные и фоновые задания.
  2. Создайте новое задание с типом Очистка оповещений (в некоторых конфигурациях может называться Удаление устаревших данных).
  3. Настройте параметры:
    • 📅 Периодичность: раз в неделю
    • 🗑️ Удалять уведомления старше: 30 дней
    • 🔄 Время выполнения: в нерабочие часы (например, 3:00)
  4. Сохраните и активируйте задание.
  5. Особенности метода:

    • ⚙️ Работает только для клиент-серверных баз (в файловом варианте регламентные задания не поддерживаются)
    • 🔒 Требует прав Администратор или Полные права
    • ⏳ Может замедлять работу базы во время выполнения (рекомендуется запускать ночью)
💡

Автоматическая очистка через регламентные задания — оптимальный вариант для крупных компаний с сотнями пользователей. Она исключает человеческий фактор и поддерживает базу в чистоте без ручного вмешательства.

Способ 5: Очистка через конфигуратор (для опытных пользователей)

Если у вас есть доступ к Конфигуратору 1С, можно воспользоваться встроенными инструментами для управления оповещениями. Этот метод подходит для технических специалистов, так как требует понимания структуры метаданных.

Пошаговая инструкция:

  1. Откройте базу в режиме Конфигуратор (с правами администратора).
  2. Перейдите в меню Администрирование → Поддержка и обслуживание → Управление оповещениями.
  3. В открывшемся окне выберите вкладку Все оповещения.
  4. Используйте фильтры по дате, типу или пользователю, чтобы отобрать ненужные уведомления.
  5. Нажмите Удалить отмеченные и подтвердите действие.

Преимущества метода:

  • 🔧 Позволяет удалять оповещения выборочно по меткам (например, только системные или только пользовательские)
  • 🛠️ Доступна проверка целостности после очистки
  • 📊 Можно экспортировать список уведомлений в Excel перед удалением
⚠️ Внимание: В конфигураторе доступна опция Удалить все оповещения без возможности восстановления. Её использование приведёт к полной потере истории уведомлений, включая актуальные напоминания о задачах. Рекомендуется предварительно экспортировать данные.

Как очистить скрытые оповещения, которые не видны в журнале

В некоторых конфигурациях (например, 1С:ERP или 1С:Управление холдингом) часть уведомлений хранится в служебных таблицах и не отображается в стандартном журнале. Их можно обнаружить через:

  • 🔍 Отчёт "Анализ использования дискового пространства" (показывает объём данных в таблицах уведомлений)
  • 📊 Запрос к базе данных на наличие записей в _NotificationBase без связей с _NotificationRecipient
  • 🛠️ Тестирование и исправление базы через конфигуратор (опция Проверить логическую целостность)

Для удаления скрытых уведомлений:

  1. Используйте SQL-запрос (см. Способ 3), но с дополнительным условием:
    DELETE FROM [dbo].[_NotificationBase]
    

    WHERE [Id] NOT IN (SELECT [Notification] FROM [dbo].[_NotificationRecipient])

  2. Или воспользуйтесь обработкой ЧисткаБазы.epf (доступна на ИТС или форумах 1С).

Признаки наличия скрытых уведомлений:

Симптом Вероятная причина
Журнал оповещений открывается более 10 секунд, но в нём мало записей Наличие "сиротских" уведомлений в _NotificationBase
Ошибка "Нарушение ссылочной целостности" при обновлении конфигурации Повреждённые связи между таблицами уведомлений
Файл базы (1Cv8.1CD) не уменьшается после ручной очистки Скрытые уведомления занимают место в служебных таблицах

FAQ: Частые вопросы по очистке оповещений в 1С

Можно ли восстановить удалённые оповещения?

Нет, после очистки через любой из описанных методов восстановление невозможно. Исключение — если у вас есть резервная копия базы, сделанная до удаления. В этом случае можно восстановить базу из бэкапа, но это приведёт к потере всех изменений, сделанных после создания копии.

Для критически важных уведомлений (например, напоминаний о платежах) рекомендуем экспортировать их в Excel перед очисткой:

  1. Откройте журнал оповещений.
  2. Нажмите Ещё → Выгрузить в Excel.
  3. Сохраните файл на случай необходимости восстановления данных.
Почему после очистки оповещения появляются снова?

Это происходит по двум причинам:

  1. Автоматическое воссоздание — некоторые уведомления (например, о просроченных задачах) генерируются заново при открытии соответствующих документов. Чтобы это остановить, нужно закрыть задачу или удалить документ, который её создаёт.
  2. Регламентные задания — если в базе настроены задания по рассылке уведомлений (например, о низком остатке на складе), они будут создавать новые записи. Проверьте список регламентных заданий в разделе Администрирование.

Чтобы избежать повторного появления, после очистки:

  • 🔧 Отключите ненужные рассылки в настройках пользователей.
  • 📅 Закройте или удалите задачи, по которым приходят напоминания.
  • ⚙️ Настройте фильтры в регламентных заданиях, чтобы они не отправляли уведомления по устаревшим данным.
Как очистить оповещения для конкретного пользователя?

Если нужно удалить уведомления только для одного сотрудника (например, при уходе из компании), используйте:

  1. Ручной метод:
    • Откройте журнал оповещений.
    • В фильтре выберите Отправитель/Получатель и укажите нужного пользователя.
    • Удалите отмеченные записи.
  2. SQL-запрос (для администраторов):
    -- Удаление уведомлений, где получатель — пользователь с ID 123
    

    DELETE FROM [dbo].[_NotificationRecipient]

    WHERE [Recipient] = '123'

    -- Удаление "сиротских" уведомлений (опционально)

    DELETE FROM [dbo].[_NotificationBase]

    WHERE [Id] NOT IN (SELECT [Notification] FROM [dbo].[_NotificationRecipient])

    Чтобы узнать ID пользователя, выполните запрос:

    SELECT [Id], [Name] FROM [dbo].[_Users]
  3. ⚠️ Внимание: При удалении пользователя из базы его уведомления не удаляются автоматически и продолжают занимать место. Их нужно чистить отдельно.
Можно ли отключить оповещения совсем?

Да, но это не рекомендуется, так как вы потеряете важные системные предупреждения (например, о блокировках или ошибках обмена). Если оповещения мешают работе, лучше:

  • 🔕 Отключить ненужные типы:
    • Перейдите в Сервис → Настройки пользователя → Оповещения.
    • Снимите галочки с ненужных категорий (например, Напоминания о задачах или Сообщения от пользователей).
  • 📵 Настроить фильтры:
    • В журнале оповещений нажмите Ещё → Настроить список.
    • Добавьте фильтр по дате (например, показывать только за последние 7 дней).
  • 🚫 Запретить массовые рассылки:
    • В настройках регламентных заданий отключите задачи с типом Рассылка оповещений.

Если всё же нужно полностью отключить уведомления, выполните SQL-запрос (только для клиент-серверных баз):

-- Отключение механизма оповещений (требует перезапуска 1С)

UPDATE [dbo].[_Subsystems]

SET [Enabled] = 0

WHERE [Name] = 'Notifications'

После этого все новые уведомления создаваться не будут, но старые останутся в базе.

Как очистить оповещения в 1С:Зарплата и Управление Персоналом?

В конфигурациях 1С:ЗУП и 1С:ERP оповещения делятся на:

  • 📋 Кадровые уведомления (истечение сроков договоров, медицинских осмотров)
  • 💰 Расчётные уведомления (ошибки при начислении зарплаты)
  • 📅 Напоминания о задачах (просроченные поручения)
  • Для очистки:

    1. Используйте стандартный журнал оповещений (Кадры → Оповещения или Зарплата → Оповещения).
    2. Для массового удаления кадровых уведомлений воспользуйтесь обработкой КадровыеОповещения.epf (доступна на ИТС).
    3. Чтобы удалить уведомления о ошибках расчёта, предварительно исправьте документы, их вызвавшие (иначе они появятся снова).

    Особенность ЗУП: уведомления о просроченных медицинских осмотрах или истекающих договорах будут создаваться заново до тех пор, пока не будет внесена обновляемые материалы в карточку сотрудника.