Обсуждения в 1С:Предприятие — удобный инструмент для командной работы, но многие пользователи и администраторы сталкиваются с вопросом: где физически хранятся эти сообщения? Ответ зависит от версии платформы, типа информационной базы и настроек обмена данными. В файловом варианте это могут быть таблицы внутри .1CD, в клиент-серверном — записи в СУБД, а в облачных решениях — данные на удалённых серверах 1С.
В этой статье разберём все возможные сценарии хранения, включая скрытые папки, системные таблицы и нюансы работы с 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), таблицы могут называться иначе. Проверьте актуальность через Конфигуратор → Справка → О программе.
Как найти сообщения в базе данных: пошаговая инструкция
Если вам нужно вручную извлечь сообщения (например, для резервной копии или анализа), следуйте этому алгоритму:
- Откройте Конфигуратор от имени администратора. Для этого запустите
1cv8.exeс ключом/Config. - Перейдите в режим "Все функции" через меню
Сервис → Параметры(галочка "Отображать команды "Все функции"). - Используйте поиск по метаданным: введите в строку поиска
ОбсуждениеилиСообщение. - Экспортируйте данные через
Файл → Сохранить данные(формат.xmlили.mxl).
Для клиент-серверного варианта подключитесь к СУБД через SQL Server Management Studio (или аналоги) и выполните запрос:
SELECT TOP 100 *
FROM _Document12345 -- замените на актуальный номер таблицы
WHERE _Fld12346 LIKE '%текст сообщения%'
Знаете ли вы тип базы (файловая/клиент-серверная)?
Есть ли доступ к Конфигуратору с правами администратора?
Сделан ли бэкап базы перед ручными манипуляциями?
Проверены ли логи на ошибки (журнал регистрации 1С)?
-->
Если обсуждения ведутся в 1С:Документооборот, используйте стандартный отчёт Анализ обсуждений (Отчёты → Обсуждения). Он показывает все сообщения с фильтрацией по дате, автору и документу.
Облачные решения: 1С:Fresh и другие сервисы
В 1С:Fresh и аналогичных облачных продуктах (1С:Такском, 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С могут ограничивать доступ к сырым данным. Например, в 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 |
Папка экспорта | Экспортированные данные | Да (если экспорт был сделан) |
Как экспортировать обсуждения для резервной копии
Чтобы сохранить сообщения отдельно от базы, используйте один из методов:
- Стандартный экспорт:
- Откройте
Конфигуратор → Администрирование → Выгрузка данных. - Выберите объект "Обсуждения" (или "СообщенияОбсуждений" в новых версиях).
- Укажите формат
.xmlили.mxl.
- Откройте
- Запрос через API (для облака):
GET https://api.fresh.1c.ru/v1/discussions/{id}/messagesHeaders: Authorization: Bearer {токен}
- Ручной дамп SQL-таблиц:
pg_dump -U postgres -t "_Document12345" dbname > discussions_backup.sql - 🔄 Файловая база: используйте утилиту 1C:Repair или откат к резервной копии.
- 🗄️ SQL-сервер: проверьте таблицу
_DeletedObjects(если включено ведение истории). - ☁️ Облако: обратитесь в техподдержку 1С:Fresh с указанием ID обсуждения.
Для автоматизации резервного копирования настройте регламентное задание в 1С:
Процедура ЭкспортОбсуждений()
Выгрузка = Новый ВыгрузкаДанныхXML;
Выгрузка.Выгрузить("Обсуждения", "C:\Backups\discussions.xml");
КонецПроцедуры
Если обсуждения привязаны к документам (например, в 1С:ERP), экспортируйте их вместе с родительскими объектами. Для этого в настройках выгрузки отметьте галочку "Включать связанные данные".
Восстановление удалённых сообщений: возможно ли?
Восстановить удалённые сообщения можно, но успех зависит от типа базы и настроек журналирования:
Для 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С
Можно ли перенести обсуждения из одной базы в другую?
Да, для этого:
- Экспортируйте сообщения в
.xmlчерезКонфигуратор. - В новой базе импортируйте файл с заменой ссылок (обработка ЗагрузкаДанныхXML).
Для облачных баз используйте API 1С:Fresh (метод POST /v1/discussions/import).
Где хранятся вложения в сообщениях (файлы, картинки)?
Вложения хранятся:
- В файловой базе — внутри
.1CDв бинарном виде. - В SQL-базе — в таблице
_FileStorageили_BinaryData. - В облаке — на отдельном хранилище (URL вида
https://storage.fresh.1c.ru/...).
Чтобы извлечь вложение, используйте запрос:
ВЫБРАТЬ
ДанныеФайла КАК Вложение
ИЗ
Документ.Обсуждение.Вложения
ГДЕ
Ссылка = &СсылкаНаСообщение
Как ограничить доступ к старым обсуждениям?
Настройте права доступа:
- В
Конфигуратореоткройте ветку "Обсуждения" в дереве метаданных. - Для ролей (например, "Пользователь") установите ограничение по дате в свойстве "ОграничениеДоступа".
- Используйте код:
Если ТекущаяДата() - ДатаСообщения > 365 ТогдаПравоДоступа = Ложь;
КонецЕсли;
Можно ли интегрировать обсуждения 1С с внешними мессенджерами (Telegram, Slack)?
Да, для этого:
- Настройте HTTP-сервис в 1С для приёма вебхуков.
- Используйте 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Соединение().ОтправитьЗапрос(Запрос);
Как очистить историю обсуждений, не удаляя сами сообщения?
Для архивации (без удаления):
- Создайте обработку с кодом:
Выборка = Обсуждения.Выбрать();Пока Выборка.Следующий() Цикл
Если Выборка.Дата < НачалоГода(ТекущаяДата()) Тогда
Выборка.Архивировать();
КонецЕсли;
КонецЦикла;
- Запустите её в
Конфигураторес правами администратора.
В облаке используйте метод API PATCH /v1/discussions/{id}/archive.