При работе в 1С:Управление нашей фирмой (УНФ) пользователи часто сталкиваются с ситуацией, когда старые файлы, прикрепленные к чатам или обсуждениям, перестают открываться. Вместо документа система выдает критическую ошибку: «Файл был удален из-за превышения ограничения по сроку или объему хранения файлов». В этой статье мы подробно разберем, как устроена архитектура хранения данных в Системе взаимодействия, почему происходят удаления и какие шаги необходимо предпринять, чтобы данные не пропадали бесследно.
Для начала проанализируем ключевое отличие механизма обсуждений от стандартного прикрепления файлов к справочникам или документам. В обычных случаях (например, прикрепление скана к «Заказу покупателя») 1С использует механизм ПрисоединенныеФайлы. Эти данные хранятся либо непосредственно в информационной базе (таблицы SQL), либо в специальных «Томах на диске», путь к которым прописан в настройках программы.
Однако Система взаимодействия работает иначе. Она использует внешний компонент — Сервер системы взаимодействия (через который можно подключить WhatsApp к 1С), также известный как Collaboration System Server. Рассмотрим два варианта его размещения:
Выясним причину ошибки: если вы используете бесплатное облако 1cDialog.com, на ваши данные накладываются жесткие регламентные ограничения. Сообщения и файлы в бесплатном режиме хранятся только 90 дней. По истечении этого срока система автоматически очищает хранилище, и восстановить эти данные стандартными средствами 1С невозможно.
Рассмотрим вопрос автора о получении файлов через Запрос. Посмотрим на структуру данных: так как файлы системы взаимодействия не находятся в основной базе 1С, они отсутствуют в таблицах, к которым мы привыкли обращаться через СхемаКомпоновкиДанных или консоль запросов.
Проанализируем программный доступ. Работа с этими данными возможна только через специализированный объект МенеджерСистемыВзаимодействия. Даже если мы попытаемся программно обратиться к сообщению, тело которого уже удалено с сервера по сроку давности, мы получим пустую ссылку или ошибку доступа к ресурсу. Тело файла физически стирается с носителей облачного сервера для освобождения места под новые данные других пользователей.
Пример обращения к сообщениям через код (только для существующих файлов):
Отбор = Новый Структура;
Отбор.Вставить("Обсуждение", НужноеОбсуждение);
Сообщения = СистемаВзаимодействия.ПолучитьСообщения(Отбор);
Для Каждого Сообщение Из Сообщения Цикл
Для Каждого Вложение Из Сообщение.Вложения Цикл
// Если срок хранения истек, здесь возникнет ошибка при попытке чтения данных
ДанныеФайла = СистемаВзаимодействия.ПолучитьДанныеВложения(Вложение.Идентификатор);
КонецЦикла;
КонецЦикла;
Если данные уже удалены с сервера 1cDialog.com, вернуть их, к сожалению, не получится. Однако мы можем рассмотреть несколько шагов для изменения ситуации в будущем.
Шаг 1: Переход на собственный сервер системы взаимодействия.
Это наиболее надежный способ. Вы устанавливаете сервер взаимодействия на свой компьютер или сервер в локальной сети. В этом случае лимиты на объем данных и срок хранения будут зависеть только от свободного места на ваших жестких дисках. Вы сами сможете настраивать регламентные задания по очистке или вовсе отключить их.
Шаг 2: Использование платных тарифов облака.
Для пользователей 1С:Фреш или тех, кто готов платить за расширенный сервис, существуют коммерческие подписки на систему взаимодействия. В платных версиях срок хранения сообщений не ограничен 90 днями, а доступный объем дискового пространства значительно выше.
Шаг 3: Изменение бизнес-процесса работы с файлами.
Рассмотрим ситуацию, когда файл критически важен для учета (например, утвержденное ТЗ или спецификация). В таком случае не рекомендуется оставлять его только в чате обсуждения. Проанализируем правильный алгоритм действий:
Данные, сохраненные таким образом, попадут в общую систему резервного копирования вашей информационной базы и никогда не будут удалены автоматически по «сроку давности».
Посмотрим, где можно увидеть текущие настройки, хотя они и не всегда позволяют вернуть удаленное, но помогут сориентироваться. Перейдем в раздел Администрирование — Обсуждения (или Настройки системы взаимодействия). Здесь отображается адрес сервера, к которому подключена ваша база. Если там указан адрес 1cdialog.com, значит, вы находитесь под действием стандартных ограничений облака.
Также важно не путать настройки из раздела «Настройка работы с файлами». Как правильно заметили участники обсуждения на форуме, параметры «Хранить файлы в томах на диске» или «Максимальный размер файла» в этом разделе относятся к стандартным присоединенным файлам конфигурации, но не влияют на поведение чатов в Системе взаимодействия.
Подведем итог нашего анализа. Система взаимодействия — это мощный инструмент для коммуникации, но в бесплатном облачном исполнении она является временным хранилищем. Для обеспечения сохранности важных документов на годы вперед необходимо либо внедрять локальный сервер системы взаимодействия, либо дублировать файлы в карточки объектов 1С. Помните, что данные из чатов, которым более трех месяцев, в облаке 1С считаются устаревшими и подлежат безвозвратному удалению.