Имя: Пароль:
1C
 
Не получается передать файл в другую базу.
0 vv2304
 
01.05.24
20:20
Из текущей базы запускаю обработку которая в нескольких других базах или обновит или создаст дополнительные внешние печатные формы(обработки).
ДвоичныеДанные = Объект.СсылкаНаОБъект.ПолучитьОбъект().ХранилищеОбработки.Получить();
    ДвоичныеДанные.Записать(ИмяВременногоФайла);
    
двДанные = ИБ8х.NewObject("ДвоичныеДанные",ИмяВременногоФайла);

До недавнего времени прекрасно работало. Теперь перестало.
Полез смотреть, валится на нижней строчке с ошибкой доступа к файлу. И, что странно, изменился пользователь от которого идет запуск 1С сервера. Раньше был USR1CV8, а теперь 1c_service.
Соответственно и каталогВременныхФайлов теперь
C:\Users\1c_service\AppData\Local\Temp\
Других изменений вроде нет.
В самом каталоге временных файлов обработка создается.
Не могу понять почему валится на вот этой строке
ИБ8х.NewObject("ДвоичныеДанные",ИмяВременногоФайла)
1 Hmster
 
01.05.24
20:56
Полез смотреть, валится на нижней строчке с ошибкой доступа к файлу. И, что странно, изменился пользователь от которого идет запуск 1С сервера.
И что здесь написано не так?
2 vv2304
 
01.05.24
21:08
Раньше был USR1CV8, а теперь 1c_service
Других изменений вроде нет.
А обработка работать перестала.
Почему ?
3 Ёпрст
 
01.05.24
21:17
>>> Объект.СсылкаНаОБъект.ПолучитьОбъект()
Тут, явно не хватает:

Объект.СсылкаНаОБъект.ПолучитьОбъект().ССылка.ПолучитьОбъект.ССылка.ПолучитьЕщеРазОбъект().ХранилищеОбработки.Получить()
4 Ёпрст
 
01.05.24
21:18
(2) прав нет у юзверя на работу с файлами, под которым служба запущена
5 vv2304
 
01.05.24
21:58
(4) Права 1c_service смотрел, есть.
6 Garykom
 
01.05.24
22:31
(0) Может уже пора COM/OLE оставить в прошлом?
Используй http-сервисы
7 vv2304
 
02.05.24
07:47
(6) Для этого ведь надо в других базах добавлять этот сервис в конфигурацию или в расширение ?
У меня обработка которая запускается из одной базы, подключается к списку удаленных баз и там создает объекты.
8 Chai Nic
 
02.05.24
08:35
А кто вам сказал, что каталог временных файлов вообще обязан быть одним и тем же для разных баз? Это вообще не гарантируется. Гарантируется, что он есть. Если надо обмениваться данными между базами, то явно задавайте каталог.
9 vv2304
 
02.05.24
08:41
Все базы на одном сервере. Поэтому каталоги временных файлов одинаковые. Хотя не в этом дело, путь к файлу указан
Это в базе-источнике
ДвоичныеДанные.Записать(ИмяВременногоФайла);
А это в базе-приемнике    
двДанные                         = ИБ8х.NewObject("ДвоичныеДанные",ИмяВременногоФайла);
10 Chai Nic
 
02.05.24
08:59
(9) Ничто не мешает в очередном релизе платформы начать создавать отдельный подкаталог временных файлов для каждого рабочего процесса. Нельзя изначально завязываться на недокументированные фичи.
11 vv2304
 
02.05.24
09:08
КаталогВременныхФайлов-это документированная фича.
И сам каталог в удаленной базе я проверял
ИБ8х.КаталогВременныхФайлов()
Тут засада именно с правами после того как админы поменяли пользователя под кем запускается 1с-сервер. Платформа осталась та же.
12 Смотрящий
 
02.05.24
09:12
(11) Чпокай одминов - накосячили, пусть и справляют
13 vv2304
 
02.05.24
09:40
Странно, посмотрел список локальных пользователей.
USR1CV8 там есть, а 1c_service нету.
14 Chai Nic
 
02.05.24
10:03
(13) Может там доменный пользователь? Сделали, например, чтобы сервер 1с мог иметь доступ к сетевым ресурсам.
15 vv2304
 
02.05.24
11:17
(14) А у доменного нет доступа к каталогу временных файлов ?
16 vv2304
 
02.05.24
11:22
(14) Точно, не дали права.
Спасибо.