|
Файл.Существует () - на клиенте видит, на сервере нет | ☑ | ||
---|---|---|---|---|
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$ по доменным компам под именем локального недоменного админа. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |