Обсуждения в 1С:Предприятие — удобный инструмент для командной работы, но многие пользователи и администраторы сталкиваются с вопросом: где физически хранятся эти сообщения? Ответ зависит от версии платформы, типа информационной базы и настроек обмена данными. В файловом варианте это могут быть таблицы внутри .1CD, в клиент-серверном — записи в СУБД, а в облачных решениях — данные на удалённых серверах .

В этой статье разберём все возможные сценарии хранения, включая скрытые папки, системные таблицы и нюансы работы с 1С:Документооборот или 1С:Корп. Также объясним, как найти сообщения вручную, экспортировать их или восстановить после сбоев — без обращения в техподдержку.

Файловый и клиент-серверный варианты: где искать сообщения

В файловом режиме все обсуждения хранятся внутри самого файла базы данных — 1Cv8.1CD (или 1Cv8.DT для старых версий). Это бинарный файл, который нельзя открыть текстовым редактором, но его можно анализировать через Конфигуратор или специализированные утилиты вроде 1C:Repair.

В клиент-серверном режиме сообщения распределяются по таблицам СУБД (обычно Microsoft SQL Server, PostgreSQL или IBM DB2). Основные данные лежат в таблицах с префиксом _Document или _InfoRg, но точные имена зависят от конфигурации. Например, в 1С:Документооборот это таблица _InfoRg4612 (для версии 2.1).

  • 📁 Файловый режим: сообщения в 1Cv8.1CD, доступ через Конфигуратор → Все функции → Поиск и замена.
  • 🗃️ Клиент-сервер: таблицы СУБД, например _Document12345 (номер зависит от конфигурации).
  • ☁️ Облако 1С: данные на серверах 1С:Fresh, доступ только через API или веб-интерфейс.

Чтобы точно определить таблицу хранения в клиент-серверном варианте, используйте запрос к метаданным:

ВЫБРАТЬ

ТаблицыМетаданных.Имя КАК Таблица,

ТаблицыМетаданных.ПолноеИмя КАК ПолноеИмя

ИЗ

ИнформационнаяБаза.Метаданные.Таблицы КАК ТаблицыМетаданных

ГДЕ

ТаблицыМетаданных.ПолноеИмя ПОДОБНО "%Обсуждение%"

⚠️ Внимание: В версиях 1С:Предприятие 8.3.20+ структура хранения обсуждений изменилась. Если вы работаете с унаследованными конфигурациями (например, 1С:Управление торговлей 10.3), таблицы могут называться иначе. Проверьте актуальность через Конфигуратор → Справка → О программе.

Как найти сообщения в базе данных: пошаговая инструкция

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

  1. Откройте Конфигуратор от имени администратора. Для этого запустите 1cv8.exe с ключом /Config.
  2. Перейдите в режим "Все функции" через меню Сервис → Параметры (галочка "Отображать команды "Все функции").
  3. Используйте поиск по метаданным: введите в строку поиска Обсуждение или Сообщение.
  4. Экспортируйте данные через Файл → Сохранить данные (формат .xml или .mxl).

Для клиент-серверного варианта подключитесь к СУБД через SQL Server Management Studio (или аналоги) и выполните запрос:

SELECT TOP 100 *

FROM _Document12345 -- замените на актуальный номер таблицы

WHERE _Fld12346 LIKE '%текст сообщения%'

Знаете ли вы тип базы (файловая/клиент-серверная)?

Есть ли доступ к Конфигуратору с правами администратора?

Сделан ли бэкап базы перед ручными манипуляциями?

Проверены ли логи на ошибки (журнал регистрации 1С)?

-->

Если обсуждения ведутся в 1С:Документооборот, используйте стандартный отчёт Анализ обсуждений (Отчёты → Обсуждения). Он показывает все сообщения с фильтрацией по дате, автору и документу.

Облачные решения: 1С:Fresh и другие сервисы

В 1С:Fresh и аналогичных облачных продуктах (1С:Такском, 1С:Бухобслуживание) сообщения хранятся на удалённых серверах . Доступ к ним возможен только через:

  • 🌐 Вeb-интерфейс (раздел "Обсуждения" в личном кабинете).
  • 🔌 API 1С:Fresh (документация: https://api.fresh.1c.ru).
  • 📧 Экспорт через техподдержку (запрос на выгрузку данных в формате .json или .csv).

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

GET https://api.fresh.1c.ru/v1/discussions

Headers:

Authorization: Bearer {ваш_токен}

Accept: application/json

⚠️ Внимание: Облачные сервисы могут ограничивать доступ к сырым данным. Например, в 1С:Fresh нельзя напрямую подключиться к базе PostgreSQL — только через официальный API. Это прописано в пользовательском соглашении (раздел 4.3).

В файловой базе (.1CD)

На SQL-сервере

В облаке (1С:Fresh и др.)

Не используем обсуждения

-->

Скрытые папки и временные файлы: где 1С кэширует сообщения

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

  • 📂 Папка временных файлов: C:\Users\<Пользователь>\AppData\Local\1C\1Cv8\ (файлы с расширением .tmp или .lgp).
  • 🗄️ Журналы регистрации: C:\Program Files\1cv8\srvinfo\reg_1541\ (логи с упоминанием обсуждений).
  • 💾 Резервные копии: если включено автоматическое резервирование, ищите файлы 1Cv8.bak в папке базы.

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

Файл → Открыть → Выбрать файл .tmp

Критическая информация: В файлах .lgp (логи) могут сохраняться фрагменты сообщений, если в настройках включена детализация "Отладка". Это единственный способ восстановить текст обсуждений после физического повреждения базы.

Тип файла Путь Что содержит Можно ли восстановить сообщения?
.1CD Папка базы (например, C:\Bases\MyBase\) Все данные, включая обсуждения Да (через Конфигуратор)
.tmp %LocalAppData%\1C\1Cv8\ Временные копии объектов Частично (если не перезаписаны)
.lgp %ProgramFiles%\1cv8\srvinfo\reg_XXXX\ Логи с упоминанием действий Только фрагменты
.mxl Папка экспорта Экспортированные данные Да (если экспорт был сделан)

Как экспортировать обсуждения для резервной копии

Чтобы сохранить сообщения отдельно от базы, используйте один из методов:

  1. Стандартный экспорт:
    • Откройте Конфигуратор → Администрирование → Выгрузка данных.
    • Выберите объект "Обсуждения" (или "СообщенияОбсуждений" в новых версиях).
    • Укажите формат .xml или .mxl.
  2. Запрос через API (для облака):
    GET https://api.fresh.1c.ru/v1/discussions/{id}/messages
    

    Headers: Authorization: Bearer {токен}

  3. Ручной дамп SQL-таблиц:
    pg_dump -U postgres -t "_Document12345" dbname > discussions_backup.sql
  4. Для автоматизации резервного копирования настройте регламентное задание в :

    Процедура ЭкспортОбсуждений()
    

    Выгрузка = Новый ВыгрузкаДанныхXML;

    Выгрузка.Выгрузить("Обсуждения", "C:\Backups\discussions.xml");

    КонецПроцедуры

    💡

    Если обсуждения привязаны к документам (например, в 1С:ERP), экспортируйте их вместе с родительскими объектами. Для этого в настройках выгрузки отметьте галочку "Включать связанные данные".

    Восстановление удалённых сообщений: возможно ли?

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

    • 🔄 Файловая база: используйте утилиту 1C:Repair или откат к резервной копии.
    • 🗄️ SQL-сервер: проверьте таблицу _DeletedObjects (если включено ведение истории).
    • ☁️ Облако: обратитесь в техподдержку 1С:Fresh с указанием ID обсуждения.

Для SQL-баз выполните запрос:

SELECT *

FROM _DeletedObjects

WHERE _Type = 'СообщениеОбсуждения'

AND _DateTime > '2026-01-01'

Если сообщения были удалены давно, проверьте архивные логи (файлы .lgp старше 30 дней обычно архивируются в %ProgramFiles%\1cv8\srvinfo\archive\). Для их анализа используйте утилиту 1C:LogViewer.

⚠️ Внимание: В облачных тарифах 1С:Fresh стандартный срок хранения удалённых данных — 30 дней. После этого восстановление возможно только из резервной копии (платно). Уточните условия в своём договоре.
Как восстановить сообщения из логов

1. Откройте файл .lgp в 1C:LogViewer.

2. Найдите строки с текстом "Обсуждение" или "Сообщение" (фильтр по ключевым словам).

3. Скопируйте дату, время и ID сообщения.

4. Восстановите базу на эту дату через Конфигуратор → Администрирование → Восстановление.

Проблемы с обсуждениями: типичные ошибки и решения

Если сообщения не отображаются или исчезают, проверьте:

Ошибка Причина Решение
Сообщения не сохраняются Недостаточно прав у пользователя Назначьте роль "Администратор обсуждений" в Администрирование → Пользователи
Пустой список обсуждений Сбой индексации Выполните Тестирование и исправление базы в Конфигураторе
Ошибка "Объект не найден" Удален родительский документ Восстановите документ из архива или через _DeletedObjects
Медленная загрузка сообщений Большой объём данных Оптимизируйте запросы или архивируйте старые обсуждения

Для диагностики включите расширенное журналирование:

// В Конфигураторе:

ЖурналРегистрации.УстановитьПараметры(

Новый ПараметрыЖурналаРегистрации(

УровеньДетализации.Отладка,

Истина, // Регистрировать события

1000 // Максимальный размер файла (МБ)

)

);

💡

Если обсуждения пропали после обновления платформы, проверьте совместимость конфигурации. В версиях 8.3.20+ изменилась структура хранения — может потребоваться перенос данных через обработку 1C:Migration.

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

Можно ли перенести обсуждения из одной базы в другую?

Да, для этого:

  1. Экспортируйте сообщения в .xml через Конфигуратор.
  2. В новой базе импортируйте файл с заменой ссылок (обработка ЗагрузкаДанныхXML).

Для облачных баз используйте API 1С:Fresh (метод POST /v1/discussions/import).

Где хранятся вложения в сообщениях (файлы, картинки)?

Вложения хранятся:

  • В файловой базе — внутри .1CD в бинарном виде.
  • В SQL-базе — в таблице _FileStorage или _BinaryData.
  • В облаке — на отдельном хранилище (URL вида https://storage.fresh.1c.ru/...).

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

ВЫБРАТЬ

ДанныеФайла КАК Вложение

ИЗ

Документ.Обсуждение.Вложения

ГДЕ

Ссылка = &СсылкаНаСообщение

Как ограничить доступ к старым обсуждениям?

Настройте права доступа:

  1. В Конфигураторе откройте ветку "Обсуждения" в дереве метаданных.
  2. Для ролей (например, "Пользователь") установите ограничение по дате в свойстве "ОграничениеДоступа".
  3. Используйте код:
    Если ТекущаяДата() - ДатаСообщения > 365 Тогда
    

    ПравоДоступа = Ложь;

    КонецЕсли;

Можно ли интегрировать обсуждения 1С с внешними мессенджерами (Telegram, Slack)?

Да, для этого:

  • Настройте HTTP-сервис в для приёма вебхуков.
  • Используйте 1C:Enterprise Development Tools (EDT) для создания обработчика событий.
  • Для Telegram подключите бота через API (https://api.telegram.org/bot{token}/sendMessage).

Пример кода для отправки сообщения в Telegram:

Запрос = Новый HTTPЗапрос(

"https://api.telegram.org/bot12345:ABCDEF/sendMessage",

"POST"

);

Запрос.УстановитьТекст(

"{

""chat_id"": ""-1001234567890"",

""text"": ""Новое сообщение в 1С: " + ТекстСообщения +""

}"

);

Ответ = Новый HTTPСоединение().ОтправитьЗапрос(Запрос);

Как очистить историю обсуждений, не удаляя сами сообщения?

Для архивации (без удаления):

  1. Создайте обработку с кодом:
    Выборка = Обсуждения.Выбрать();
    

    Пока Выборка.Следующий() Цикл

    Если Выборка.Дата < НачалоГода(ТекущаяДата()) Тогда

    Выборка.Архивировать();

    КонецЕсли;

    КонецЦикла;

  2. Запустите её в Конфигураторе с правами администратора.

В облаке используйте метод API PATCH /v1/discussions/{id}/archive.