Имя: Пароль:
1C
 
Файл.Существует () - на клиенте видит, на сервере нет
,
0 depthzer0
 
10.10.14
17:30
Сервер 1С:Предприятия запускается из-под локальной учётной записи.

В сети есть папки общего доступа, но для доменных пользователей. Кроме того, у каждого есть своя папка, тоже доменный доступ.

Соответственно на уровне клиента файлы из этих папок видно, а на уровне сервера конечно же нет.

И не соображу, как эти файлы можно обработать?
1 Banned
 
10.10.14
17:32
Получать на клиенте, пихать в двоичные данные и передавать на сервер
2 DGorgoN
 
10.10.14
17:33
(1) + 1
3 oleg_km
 
10.10.14
17:35
Или учетке, от которой работает сервер, дать доступ ко всем файлам
4 Banned
 
10.10.14
17:36
(3) Не самая лучшая идея
5 DGorgoN
 
10.10.14
17:36
(3) А если папка не на сервере?
6 depthzer0
 
10.10.14
17:43
(1) (2) имеется в виду использование ДвоичныеДанные(Файл)?

никогда не сталкивался
7 depthzer0
 
10.10.14
17:47
попробовал вот так:

Процедура НаКлиенте()
    ФайлДанных = Новый ДвоичныеДанные(ПутьКФайлу);
    НаСервере(ФайлДанных);
КонецПроцедуры

Процедура НаСервере(Знач ФайлДанных)
    ExcelApp = Новый COMОбъект("Excel.Application");
    Книга = ExcelApp.WorkBooks.Open(ФайлДанных);
КонецПроцедуры

замечательно передаёт, но Excel ругается, говорит, что не может открыть такой файл :(
8 Banned
 
10.10.14
17:50
(7) ДД во временный файл сохраняй, потом уже его открывай
9 Ник второй
 
10.10.14
17:52
(1) Хорошее решение, но трафик гоняется.
10 DrZombi
 
гуру
10.10.14
17:52
(0) Как так О_о... Используй метод относительности :)

(7) Все делай через ВременноеХранилище :)
11 DrZombi
 
гуру
10.10.14
17:53
+(0) Сервер 1С лучше запускать из под Домменой учетки :)
12 depthzer0
 
10.10.14
17:57
(8) попробую

(10) попробую

(11) хорошая идея, но из личных папок читать всё равно не будет.
13 oleg_km
 
10.10.14
18:11
(12) Смотря какие права будет иметь доменная учетка сервера 1С
14 depthzer0
 
13.10.14
09:18
Сделал доменную учётку, файлы видит, но теперь проблема с самим Excel какая-то не ясная. Не отрабатывает Open(Файл) - думал не хватает прав, попробовал ExcelApp.WorkBooks.Add() та же беда. Подозреваю, что прав у новой учётки может быть не хватает, вот только не пойму на что именно.
15 depthzer0
 
13.10.14
09:53
(14) файлы копирует, создаёт. Т.е. права на запись есть. А вот c Excel'ем беда. Когда например использую метод Add() ругается что не хватает памяти или места на диске. Хотя и того и другого в достатке.
16 oleg_km
 
13.10.14
10:20
(15) Из под учетки пользователя 1С запусти ексель, может там какие сообщения выскакивают
17 vlandev
 
13.10.14
10:36
По возможности лучше через ADO делать ексельные операции , через COM тормознее и геморой с правами. Гарантировано будет работать когда от Администратора запускаешь , в противном случае пляски с бубном , так как йокселю требуются права на запись в чертову кучу мест плюс еще в реестре где то.
18 depthzer0
 
13.10.14
10:36
(16) к сожалению, всё в порядке, никак не ругается, файлы открывает.

в 1с же ругается на такую конструкцию:

ExcelApp = Новый COMОбъект("Excel.Application");
Книга = ExcelApp.WorkBooks.Add();
19 vlandev
 
13.10.14
10:37
Может эта тема както поможет: v8: v8: 1C Excel DCOM сложности с открытием
20 xXeNoNx
 
13.10.14
10:43
(18) Возможно, при создании файла excel ему присваиваются права excel. Сделай так, залогинься под учеткой 1С сервера(на самом серваке) Создай файл на серваке, открой этот файл в 1С
21 Naumov
 
13.10.14
10:45
(18) А Эксель на серванте установлен вообще?
22 MaxxiMiliSanM
 
13.10.14
10:55
а сервер и клиент на одном компе находятся?
23 xXeNoNx
 
13.10.14
11:07
(22) Какая разница, папки-то сетевые
24 depthzer0
 
13.10.14
11:16
(19) проблема похожая, но к сожалению пока никак не помогает

(21) да

(22) нет

(20) под учёткой захожу, всё хорошо, ексель открывается руками. файлы в нём тоже открываются

но проблема в том, что вот такая конструкция:

ExcelApp = Новый COMОбъект("Excel.Application");
Книга = ExcelApp.WorkBooks.Add();

она вообще никакий файлы не использует, просто какая-то проблема с экселем.

попробовал передать через временное хранилище, тоже странно получается. на клиенте в хранилище кладу - на сервере из него читаю, а ничего не читается.
25 DosBot
 
14.10.14
07:57
(11) чтобы служба запускалась под пользователем из домена, админ говорит, что юзверь должен в ходить в группу локальные админы...
А какие последствия от запуска 1с-ных служб от, по сути, админской учётки??
26 denk
 
14.10.14
09:06
При установке 1С на сервере было установлено COM соединение?
27 Ndochp
 
14.10.14
09:12
(24)Интерактивно войди под пользователем сервера 1С на сервере и запусть эксель. А вообще про эксель на сервере надо не 1С, а MS форумы читать.
28 Ndochp
 
14.10.14
09:15
(25) Если без домена - то создать локального пользователя на сервере с шарой с именем и паролем сервера 1С и дать ему доступ только в эти папки. Тогда будет проходить подключение на уровне одноранговой сети.
В свое время удобно и успешно бродил по шарам типа \C$ по доменным компам под именем локального недоменного админа.