Запуск приложений под Линюкс

1. mpzflame 21.12.23 08:39 Сейчас в теме
Доброго времени суток!
Упрощённо: стоит задача при нажатии кнопки в 1С (8.3 УПП) открыть файл ассоциированным в системе приложением. Файл лежит в сети \\server\folder\file.pdf

Под Windows использую команду:
ЗапуститьПриложение("explorer \\server\folder\file.pdf);
При этом запускается Adobe Acrobat и отображает нужный файл.

Теперь нужно сделать всё то-же самое но под Linux.

Аналогичным образом удаётся открыть локальный файл:
ЗапуститьПриложение("xdg-open ""/home/domen.ru/user/Загрузки/file.pdf"");
Но никак не получается открыть файл из сетевой папки!

Вот таким образом получается открыть окно папки с файлами:
ЗапуститьПриложение("smb:\\server\folder\");
Но не сам файл.

Помогите, кто знает как!
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. vladimir_korshun 87 21.12.23 09:51 Сейчас в теме
Получиться?
sh название-файла



ooffice filename.pdf

чтобы открыть ваш файл в open office.

Если по сети не получается открыть, значит нет прав на файл у программы 1с.
Пользователю oc, под которым запущена служба 1с дай права 777 (шутка, это слишком много прав, можно меньше).
4. user1880116 21.12.23 10:26 Сейчас в теме
(2)
Пользователю oc, под которым запущена служба 1с дай права
Зачем службе 1С интерактивно открывать файлы?
5. mpzflame 21.12.23 10:44 Сейчас в теме
(2)

У пользователя службы 1С права к файлу в сети имеется.
Проблема, видимо, не в этом.
6. mpzflame 21.12.23 10:48 Сейчас в теме
Стал пробовать сначала скопировать файл локально, потом открыть из 1С.

В командной строке успешно выполняю такую команду:
/usr/bin/smbclient ""//server/folder"" -U=user@domen.ru%password --command ""get file.pdf file_local.pdf""

из 1С не выполняется, код возврата 1
Ума не приложу, в чём проблема.
7. starik-2005 3088 21.12.23 10:50 Сейчас в теме
Описание:
Выполняет запуск внешнего приложения либо открытие файла с использованием ассоциированного с ним приложения.
Не надо никаких эксплореров - просто имя файла. Если в ОС есть связанное с ним приложение, то оно запустится. Если нет, то попросит выбрать.
8. vladimir_korshun 87 21.12.23 11:33 Сейчас в теме
1. При обращении из кода конфигурации к файлам и каталогам файловой системы следует иметь в виду, что доступ к ним ограничен правами пользователя операционной системы, от имени которого запущено приложение.

1.1. Если доступ к файловой системе осуществляется из кода, выполняемого на клиенте, то он выполняется под правами пользователя, от имени которого запущено приложение (тонкий, толстый или веб-клиент). Как правило, это текущий пользователь операционной системы.

1.2. Если доступ к файловой системе осуществляется из кода, выполняемого на сервере, то:

при использовании клиент-серверной информационной базы, доступ ограничен правами пользователя, от имени которого запущен сервер 1С:Предприятия (*);
при использовании файловой базы, опубликованной на веб-сервере, доступ ограничен правами пользователя, от имени которого запущен веб-сервер.
* Рабочие процессы могут быть также запущены от имени другого пользователя, отличного от того, под которым запускается агент сервера.
9. mpzflame 21.12.23 11:51 Сейчас в теме
(8)

Сейчас и клиент 1С, и сервис 1С запущены от пользователя, имеющего права на этот файл в сети.

Если открывать этот файл не через 1С, а только средствами Линукса - всё работает.
10. mpzflame 21.12.23 12:00 Сейчас в теме
Отмечу ещё один нюанс.
Домен на Windows. Клиент под Линуксом успешно входит в домен со своим доменным логином/паролем.
Но при запуске 1С, 1С-ка не распознаёт клиента посредством аутентификации операционной системы и приходится выбирать пользователя из списка и вводить пароль.
Возможно с этим как-то связано...

Если кто-то подскажет как настроить в этой конфигурации аутентификацию пользователя операционной системой - буду благодарен, т.к. поиск пока не помог.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот