Имя: Пароль:
1C
1С v8
ПолучитьФайлы и Файл.Существует()
0 Nesh
 
01.02.12
18:48
ДанныеФайла = ПрисоединенныеФайлы.ПолучитьДанныеФайла(тСтр.Ссылка,УникальныйИдентификатор);
       ПолучаемыйФайл = Новый ОписаниеПередаваемогоФайла(КаталогФайла+тСтр.ИмяФайла, ДанныеФайла.СсылкаНаДвоичныеДанныеФайла);
       ПолучаемыеФайлы = Новый Массив;
       ПолучаемыеФайлы.Добавить(ПолучаемыйФайл);
       ПолученныеФайлы = Новый Массив;
       Если НЕ ПолучитьФайлы(ПолучаемыеФайлы, ПолученныеФайлы, , Ложь) Тогда
           Продолжить;
       КонецЕсли;

Есть такой код, далее смотрю полученные файлы.

ПутьКФайлу = ПолученныеФайлы[0].ПутьКФайлу;
Файл = Новый Файл();
ФайлСущестсвует = Файл.Существуе();

сам файл физически создан, но блин доступа на чтение к нему нету.
На папке где файлы доступ на чтение всем.
Сервер 1с на одном компе, сервер БД на другому.

Подскажите, в чем может быть проблема?
1 Wobland
 
01.02.12
18:51
не заметил имени файла во втором куске кода
2 Wobland
 
01.02.12
18:51
+(1) так понимаю, опущено из-за "и так ясности"?
3 Nesh
 
01.02.12
18:52
да, Файл(ПутьКФайлу)
4 Wobland
 
01.02.12
18:56
а вот Новый ОписаниеПередаваемогоФайла конструируется по двум строкам...
ПС первый раз это вижу
5 Nesh
 
01.02.12
18:59
(4) там все ок.
проблема в другому. почему я файл создал физически, а потом прочитать его не могу?
6 aleks-id
 
01.02.12
19:01
не закрыл?
7 Nesh
 
01.02.12
19:03
та нет, я ж его только создал. и не открывал.
8 Nesh
 
01.02.12
19:04
ппц, проблема решена. юзер, под которым запускается служба Агента не имел прав вообще на ту папку. Но почему тогда Метод ПолучитьФайлы их записал, я просто хз.
9 Wobland
 
01.02.12
19:05
(8) в качестве эксперимента. попробуй его сразу же из 1Ски открыть или почитать
10 Nesh
 
01.02.12
19:08
читает. скорее всего, это моя догадка, на клиенте все ок, т.к. доступ к папке получает совсем другой пользователь, а вот на сервере ломится именно под юзером, который запустил агент, но почему тогда два, по своей логике, похожие методы работают по разному: ПолучитьФайлы получает доступ под одним юзером, Файл.Существует() под другим.
11 Господин ПЖ
 
01.02.12
19:10
>но почему тогда два

а сколько? откуда вызвано - тот и работает
12 Wobland
 
01.02.12
19:10
ничего они не похожие. ПолучитьФайлы() грубо говоря, пишет в файл, а Файл к содержимому не обращается
13 Nesh
 
01.02.12
19:12
(11) не совсем понял. оба метода вызываются НаСервере
14 Господин ПЖ
 
01.02.12
19:13
если сервер вращается от localsystem а папка хз где - то есть пичалька... localsystem по сетке ходить не умеет...
15 Nesh
 
01.02.12
19:14
(14), да Вы правы. так оно и есть
16 Nesh
 
01.02.12
19:16
(14) но вопрос не решен.
Два метода: ПолучитьФайлы(), Файл.Существует(), в одном контексте сработали под разными пользователями?
17 Господин ПЖ
 
01.02.12
19:22
(16) хз... надо смотреть процесс-эксплориером - кто и куда лезет на самом деле...

Два метода: ПолучитьФайлы(), Файл.Существует()

это же некие обертки над api - что там на самом деле дергается я не знаю