Как включить возможность прикрепления файлов в Системе взаимодействия 1С на собственном сервере

Системный администратор 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием IT и автоматизация бизнеса
← На главную

При внедрении «Системы взаимодействия» (Collaboration System) в среде 1С:Предприятие пользователи часто сталкиваются с ситуацией, когда основной функционал чатов работает исправно, но отсутствует возможность передачи файлов. На панели сообщений попросту нет привычной иконки «скрепки», а попытки перетащить файл в окно или вставить изображение из буфера обмена (Ctrl+C / Ctrl+V) не приносят результата. Проанализируем, почему это происходит и как настроить систему для полноценной работы.

Выясним причину отсутствия кнопки прикрепления файлов

Для начала разберем архитектурную особенность «Системы взаимодействия». В отличие от многих других подсистем 1С, сервер взаимодействия сам по себе не является хранилищем бинарных данных. Файлы, которые пользователи прикрепляют к сообщениям, должны передаваться во внешнее объектное хранилище. Если вы используете публичный сервер 1С (1с-work.com), это хранилище предоставляется вендором автоматически. Однако, если развернут собственный (локальный) сервер взаимодействия, администратор обязан самостоятельно настроить и подключить внешнее хранилище, поддерживающее протокол Amazon S3.

Если в настройках сервера взаимодействия не указаны параметры подключения к S3, клиентское приложение (1С:ERP, 1С:УТ и др.) скрывает кнопку прикрепления файлов, так как системе физически некуда их загружать. Таким образом, появление «скрепки» напрямую зависит от успешной интеграции с хранилищем.

Выбор и развертывание хранилища MinIO

Рассмотрим наиболее популярное и надежное решение для локальной установки — MinIO. Это высокопроизводительное хранилище с открытым исходным кодом, которое полностью совместимо с API Amazon S3. Оно идеально подходит для работы с системой взаимодействия 1С.

После установки MinIO нам необходимо выполнить следующие действия:

  1. Создать специальный bucket (корзину), в которой будут физически лежать файлы сообщений. Назовем его, например, 1c-files.
  2. Сгенерировать Access Key и Secret Key — это логин и пароль, по которым сервер взаимодействия будет авторизоваться в хранилище.
  3. Настроить политику доступа (Access Policy). Для корректной работы системы в некоторых версиях требуется установить политику Public для бакета или настроить специфические правила, чтобы сервер взаимодействия мог беспрепятственно записывать и считывать данные.

Регистрация хранилища с помощью утилиты ring

Теперь перейдем к самому важному этапу — настройке связи между сервером взаимодействия и MinIO. Настройка выполняется через командную строку с помощью утилиты ring, которая входит в комплект поставки сервера взаимодействия. Проанализируем пример команды для регистрации хранилища:


ring cs --instance default storage-s3 register --url http://адрес_хранилища:9000 --bucket 1c-files --access-key ваш_ключ --secret-key ваш_секрет --region us-east-1

Разберем параметры подробнее:

Проблемы версий протокола и синхронизации времени

Иногда даже после выполнения команды register кнопка не появляется. Посмотрим на ситуацию глубже. Одной из неочевидных причин может быть разница в версиях подписи (Signature Version). Современные версии MinIO по умолчанию используют V4. Если ваш сервер взаимодействия устарел, могут возникнуть ошибки аутентификации. Рекомендуется использовать актуальные версии обоих программных продуктов.

Критически важно: проверьте синхронизацию времени. Протокол S3 крайне чувствителен к расхождениям. Если время на сервере 1С, сервере взаимодействия и сервере хранилища отличается более чем на 5–15 минут, запросы будут отклоняться с ошибкой безопасности, и файлы не будут загружаться.

Настройка SSL и доверенных сертификатов

Если в вашей организации принято использовать защищенное соединение HTTPS для всех внутренних ресурсов, разберем особенности работы с сертификатами. Если для MinIO используется самоподписанный сертификат, сервер взаимодействия (работающий на Java) не сможет установить соединение, так как не доверяет этому сертификату. В этом случае необходимо добавить ваш сертификат в хранилище доверенных сертификатов Java (cacerts). При возникновении сложностей с настройкой окружения или сертификатов безопасности можно использовать справочник по администрированию систем и 1С.

Проанализируем шаги по добавлению сертификата:

  1. Экспортируйте сертификат вашего S3-хранилища в формате .cer.
  2. Используйте утилиту keytool для импорта:

keytool -import -alias s3-storage -keystore "C:\Program Files\Java\jre...\lib\security\cacerts" -file your_cert.cer

Без этой процедуры сервер взаимодействия просто «не увидит» хранилище, и функционал прикрепления файлов останется заблокированным.

Особенности работы веб-клиента и CORS

Если пользователи работают с 1С через браузер (веб-клиент), необходимо настроить CORS (Cross-Origin Resource Sharing). Браузеры по умолчанию блокируют запросы к другому домену (из 1С в хранилище S3). Чтобы файлы загружались корректно, в настройках MinIO (или через Nginx/IIS, если они стоят перед хранилищем) нужно разрешить заголовки от домена, на котором опубликована база 1С. В противном случае пользователь будет нажимать на «скрепку», выбирать файл, но загрузка будет обрываться с ошибкой в консоли браузера.

Диагностика через логи сервера

Если после всех манипуляций «скрепка» так и не появилась, не стоит гадать. Выясним причину, обратившись к первоисточнику — логам сервера взаимодействия. Обычно они располагаются в каталоге установки, в папке logs. Ищите записи, содержащие ключевые слова S3, Storage или Amazon. Там будут зафиксированы конкретные ошибки: «Invalid Access Key» (ошибка в ключах), «Bucket not found» (ошибка в имени бакета) или «Connection Refused» (проблемы с сетью или портами). Только анализ логов даст 100% понимание того, почему интеграция не взлетела.

Таким образом, для включения прикрепления файлов недостаточно просто нажать галочку в интерфейсе 1С. Требуется системный подход к настройке инфраструктуры: поднятие S3-хранилища, его регистрация через ring и обеспечение сетевой доступности всех компонентов системы.

← На главную