
При настройке внешней обработки Sbis1C_UF.epf в клиент-серверной 1С можно столкнуться с ошибкой:
Недостаточно прав доступа к каталогу или файлу
Не удалось проверить наличие каталога
На первый взгляд сообщение указывает на проблемы с правами Windows или доступом к папке. В нашем случае каталог существовал, пользователь мог создавать в нём файлы, а отключение защиты Windows ничего не меняло.
Конфигурация была следующая:
- тонкий клиент 1С под Windows;
- сервер 1С под Linux;
- платформа 1С 8.3.27;
- внешняя обработка Saby Sbis1C_UF.epf.
В настройках обработки каталог выбирается через стандартный диалог на клиентском компьютере. Например:
C:\Users\pyuvi.os\Documents\Sbis1C\БУХ3Папка существует и доступна пользователю, однако обработка всё равно возвращает ошибку проверки каталога.
Причина
Проблема оказалась не в NTFS-правах.
Диалог выбора каталога выполняется на стороне тонкого клиента, а проверка существования каталога — в серверном контексте 1С.
В результате получается следующая схема:
Windows, тонкий клиент
|
| пользователь выбирает папку
v
C:\Users\...\Documents\Sbis1C\БУХ3
|
| путь передаётся обработке
v
Linux-сервер 1С
|
| сервер пытается проверить Windows-путь
v
каталог не существуетТо есть интерфейс предлагает выбрать локальную папку Windows, хотя фактически обработка проверяет путь на сервере 1С.
Именно поэтому проверка локальных прав пользователя, антивируса и Controlled Folder Access результата не дала.
Решение
На Linux-сервере 1С был создан отдельный каталог:
sudo mkdir -p /var/lib/sbis1c/buh3Каталогу были назначены права для пользователя, под которым работают серверные процессы 1С:
sudo chown -R usr1cv8:grp1cv8 /var/lib/sbis1c
sudo chmod -R 750 /var/lib/sbis1cПосле этого в настройках обработки был указан серверный путь:
/var/lib/sbis1c/buh3После замены Windows-пути на путь Linux-сервера обработка начала работать корректно.
В чём ошибка обработки
Проблема не в том, что обработка использует серверный каталог. Для клиент-серверной архитектуры это вполне допустимо.
Проблема в интерфейсе и логике работы с путём.
Если каталог должен находиться на сервере 1С, стандартный диалог выбора локальной папки Windows вводит пользователя в заблуждение. Логичнее было бы либо явно указывать, что требуется путь на сервере 1С, либо выполнять дальнейшую работу с выбранной директорией в клиентском контексте.
Фактически в Sbis1C_UF.epf смешиваются два контекста:
- выбор каталога → клиент;
- проверка каталога → сервер.
Особенно явно проблема проявляется в связке:
Windows тонкий клиент → Linux сервер 1С
Итог
Если внешняя обработка Saby для 1С выдаёт:
Не удалось проверить наличие каталога
а локальная папка точно существует и доступна пользователю, стоит проверить не только права Windows, но и то, где именно обработка пытается проверить этот путь.
В клиент-серверной 1С с Linux-сервером рабочим решением оказался серверный каталог:
/var/lib/sbis1c/buh3с правами для пользователя, под которым выполняются серверные процессы 1С.
Причина ошибки — не отсутствие доступа к локальной папке, а проверка выбранного Windows-пути на стороне Linux-сервера 1С.