Имя: Пароль:
1C
1С v8
Под кем работает COM-соединение?
,
0 Garry1010
 
12.08.19
14:22
Под каким пользователем работает COM-соединение? Клиент-сервер.

Почему возник вопрос: требуется по com'у вызвать обработку в другой базе, а там она должна сохранить результат в файл. Так вот пока обработка работала в регламентном задании, всё было окейно. А стали пытаться вызывать её по com'у - облом с доступом к вышеуказанному файлу. Переделал на обращение к локальному (было - к сетевому) файлу - пофик, всё равно нет доступа.
Настраивал comexp.msc - что-то не влияет...
1 Kigo_Kigo
 
12.08.19
14:24
предполагаю, что под тем же пользователем от имени которого запущена программа из которой вызывается ком-соеденение
2 Провинциальный 1сник
 
12.08.19
14:28
Если на сервере 1с - то под тем пользователем, от имени которого запущен сервер 1с. Если на клиенте - то от имени клиента.
3 Garry1010
 
12.08.19
14:34
(2) Про сервер - ТОЧНО?
Потому что там стоит типовой USR1CV82. У этого же пользователя есть доступ к папке, куда я собираюсь писать файл, но Винда - не даёт доступа.

Там такая цепочка получается: на сервере вызывается регламентное задание, запускается фоновое задание, из него(!) вызывается создание COM-соединения, по этому КОМу запускается обработка, которая получает данные и пытается записать их в файл - где и происходит облом. До попытки записи всё проходит успешно.

А не работает ли COM-соединение под каким-то своим пользователем, который где-то ещё прописан?
4 ДенисЧ
 
12.08.19
14:36
Запусти в своём фоновом задании КомандаСистемы("set > какой-токаталог, куда есть доступ\set.txt")
а потом на это файлик руками глянь, там всё есть
5 Garry1010
 
12.08.19
14:44
(4) А что именно смотреть в результатах команды SET? Там много чего будет... или не будет.
6 Skylark
 
12.08.19
14:47
Дать USR1CV82 права на запуск СОМ32
7 Skylark
 
12.08.19
14:48
comexp.msc /32
8 ДенисЧ
 
12.08.19
14:49
(5) например username
9 Garry1010
 
12.08.19
14:56
(8) А-а-а... Это бы хорошо, но как узнать что это за пользователь, чтобы знать какие куда доступы у него есть? ;))
10 Garry1010
 
12.08.19
15:10
(6) Это в ролях в comexp.msc? Есть там этот юзер. Может, сервер перезагрузить, конечно...
11 Garry1010
 
13.08.19
08:55
Результат: пока не создал папку с полными правами для группы Users, оно не хотело работать.:((
Так и непонятно, кто же был нужный юзер?
12 ДенисЧ
 
13.08.19
08:57
(11) А теперь создай файл из своего фонового и посмотри в свойства оного файла. На создателя.
13 Сияющий в темноте
 
13.08.19
09:22
Сервер 64,соединение 32,используется Com+,чтобы работало,и вот о  имени этого Com+ и создается соединение.
но нн все так просто,службы умеют имперсонацию,то есть действия от имени другого пользователя,и очень большой вопрос-чей токен идет для имперсонации.
14 Cyberhawk
 
13.08.19
09:44
Еще косвенно зависит от способа активации СОМ-компоненты (внутрипроцессная или внепроцессная).
15 Garry1010
 
13.08.19
09:53
(12) Хммм... Почему-то LOCAL SERVICE.:(
16 ДенисЧ
 
13.08.19
09:59
(15) О чём тебе твердили ещё с утки назад
17 Garry1010
 
13.08.19
10:04
А этот LOCAL SERVICE разве не имеет доступ сразу ко всему и вся? Это же, вроде, круть какая встроенная!?
18 Cyberhawk
 
13.08.19
10:07
(17) Путаешь с локал систем походу
19 ДенисЧ
 
13.08.19
10:14
(17) Он на сеть не имеет правов
20 Garry1010
 
13.08.19
10:16
На сеть - это я понимаю. Но с локальным диском почему сбои были... Странно.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн