Настройка синхронизации между конфигурациями 1С:Управление торговлей 11 и 1С:Розница 2.3 — стандартная задача при автоматизации торговых точек. Однако при использовании файлового варианта работы баз данных системные администраторы часто сталкиваются с парадоксальной ситуацией: тест подключения в настройках проходит успешно, но реальный обмен завершается ошибкой: Ошибка записи файла в каталог обмена информацией. Проверьте права пользователя на доступ к каталогу. В этой статье мы подробно разберем, почему это происходит и как правильно настроить права доступа и расписание обмена.
Проанализируем ситуацию, в которой оказывается администратор. Настройка обмена обычно выполняется под учетной записью Windows с правами администратора. Когда вы нажимаете кнопку «Проверить соединение», 1С выполняет проверку непосредственно в вашем текущем сеансе. Поскольку у вашей учетной записи Windows есть полные права на папку, тест проходит успешно.
Однако в файловом режиме 1С механизм ФоновыеЗадания работает иначе, чем в клиент-серверном. Здесь нет отдельного сервера приложений, который выполнял бы задачи от имени специальной системной службы. В файловой базе роль «исполнителя» фоновых заданий берет на себя один из активных пользовательских сеансов. Чаще всего это сеанс того пользователя, который первым вошел в программу.
Представим ситуацию: первым в систему зашел кассир под учетной записью Windows «Cashier». У этой учетной записи нет прав на запись в сетевой каталог обмена на сервере. Когда срабатывает регламентное задание синхронизации, оно запускается «внутри» сеанса кассира. Система пытается записать файл, обращается к операционной системе от имени «Cashier» и получает отказ в доступе. Именно поэтому обмен «горит красным», хотя у администратора все проверки проходят.
Первым делом проанализируем, как указан путь к папке обмена. Одной из частых ошибок является использование подключенных сетевых дисков (например, Z:\Exchange). Рассмотрим, почему это плохо:
Z:, а у менеджера — нет, то программа просто не найдет путь.\\ИмяСервера\ИмяПапки.Чтобы предоставить необходимые права, выполните следующие действия в операционной системе:
Выясним причину нестабильности обмена: зависимость от «первого зашедшего пользователя» делает синхронизацию непредсказуемой. Чтобы решить эту проблему в профессиональной среде, мы рекомендуем использовать метод выделенного технического сеанса. Суть метода заключается в следующем:
1C_Robot, и дайте ей полные права на папку обмена.ПолныеПрава или специально выделенной ролью ВыполнениеСинхронизацииДанных.Рассмотрим вопрос частоты обмена. В исходном сообщении автор указал интервал в 5 минут. Проанализируем риски такого решения для файловой базы:
Оптимальным для файловых баз считается интервал 15–20 минут. Если требуется большая оперативность, стоит задуматься о переходе на клиент-серверный вариант работы (SQL).
Если после настройки прав ошибка сохраняется, нам необходимо выяснить точную причину. Для этого используем ЖурналРегистрации:
System.UnauthorizedAccessException, значит, проблема на 100% в правах Windows.
Помимо прав в ОС, убедитесь, что в самой конфигурации 1С для пользователей, инициирующих обмен, настроены соответствующие права. Проверьте следующие настройки:
В настройках синхронизации данных (НСИ и администрирование — Синхронизация данных) загляните в пункт «Параметры синхронизации». Там можно указать конкретного пользователя, под которым будет выполняться автоматический обмен. У этого пользователя обязательно должна быть включена роль ВыполнениеСинхронизацииДанных.
Также обратите внимание на настройки UAC (User Account Control). Если папка обмена находится в корне диска C:\ или в папке Program Files, механизмы защиты Windows могут блокировать запись даже для администратора, если 1С запущена без явного права «От имени администратора». Мы рекомендуем создавать папку обмена в нейтральном месте, например: C:\1C_Exchange\.
Для успешной синхронизации УТ 11 и Розницы 2.3 в файловом режиме мы должны обеспечить:
Соблюдение этих шагов позволит создать надежную систему обмена данными, которая не будет требовать постоянного вмешательства администратора.