Почему при синхронизации в файловой базе 1С возникает ошибка доступа к временной папке другого пользователя?

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

При настройке автоматической синхронизации данных по расписанию в файловом режиме 1С:Предприятия можно столкнуться с ошибкой доступа вида «Ошибка доступа к файлу 'C:\Users\admin\AppData\Local\Temp\...'». Данная ситуация возникает, даже если клиентский сеанс 1С запущен под обычным пользователем Windows, а не от имени администратора.

Рассмотрим причины такого поведения платформы и разберем способы решения этой проблемы.

Причины возникновения ошибки

В файловом режиме работы регламентные и фоновые задания выполняются внутри запущенного клиентского сеанса 1С. Однако если в настройках обмена выбрано прямое подключение к базе-приемнику, платформа обращается к механизму COM-соединения через объект V83.COMConnector.

Проанализируем, почему процесс обращается к каталогу admin:

  1. Контекст COM+ приложения (dllhost.exe): В 64-разрядных операционных системах или при межпроцессном вызове COM-соединение выполняется в контексте системного процесса dllhost.exe. Если компонента COM+ регистрировалась или впервые запускалась под учетной записью администратора, системные переменные окружения %TEMP% и %TMP% для этого процесса содержат путь к папке admin.
  2. Аутентификация операционной системы: Если в параметрах прямого подключения выбрана аутентификация Windows вместо авторизации 1С, фоновый процесс может наследовательно использовать права и контекст пользователя, создавшего соединение.

Способ 1. Изменение метода синхронизации (отказ от прямого подключения)

В файловом варианте наиболее надежным решением является отказ от прямого COM-соединения в пользу обмена через файлы. Это полностью исключает обращение к системным COM-компонентам Windows.

Выполним следующие шаги:

  1. Перейдем в раздел Администрирование -> Синхронизация данных.
  2. Откроем настройки существующего подключения.
  3. Изменим способ подключения с прямого соединения на «Синхронизация через локальный или сетевой каталог» (либо через FTP-сервер/веб-сервис).
  4. Укажем каталог обмена, к которому предоставлены полные права доступа (чтение и запись) для всех пользователей базы.

Способ 2. Явное указание пользователей 1С в настройках прямого подключения

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

  1. Откроем настройки прямого подключения в мастере синхронизации.
  2. Отключим флаг использования аутентификации операционной системы (Windows).
  3. Зададим имя пользователя и пароль базы-приемника вручную.

Способ 3. Переопределение временного каталога через ключ запуска 1С

Чтобы перенаправить временные файлы 1С в общую папку с открытым доступом, зададим параметр /TEMP при запуске платформы.

Разберем порядок действий:

  1. Создадим папку на диске, например C:\1C_Temp.
  2. Настроим права доступа к папке C:\1C_Temp, предоставив пользователям права на запись и изменение.
  3. Добавим в ярлык запуска 1С ключ /TEMP C:\1C_Temp.

Пример строки запуска:

1cv8.exe enterprise /F "C:\Bases\Trade" /TEMP "C:\1C_Temp"

Способ 4. Настройка прав и учетной записи в оснастке COM+

Если фоновое задание вызывает COM-объект на уровне операционной системы, настроим контекст выполнения приложения COM+:

  1. Откроем оснастку «Службы компонентов», выполнив команду dcomcnfg в командной строке.
  2. Перейдем по пути: Службы компонентов -> Компьютеры -> Мой компьютер -> Приложения COM+.
  3. Найдем зарегистрированное приложение (например, V83_COMConnector).
  4. Откроем свойства приложения и на вкладке Учетная запись (Identity) укажем пользователя Windows, у которого есть доступ к его собственным временным папкам, либо настроим необходимые разрешения на папку AppData\Local\Temp администратора.
← На главную