Имя: Пароль:
1C
1С v8
Проблемы с ПолучитьCOMОбъект
,
0 Солнце
 
01.08.13
09:44
Пишу так
Книга = ПолучитьCOMОбъект(Файл,"Excel.Application");
Ошибка: Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: No such interface supported

А если так
Книга = ПолучитьCOMОбъект(Файл);
Ошибка: Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: Moniker cannot open file

Код что первый что втрой в файловой базе выполняется на ура...
А в серверной не хочет...
На сервере установлен Excel.
Код выполняется на сервере....

Помогите справиться с проблемкой...
1 Лефмихалыч
 
модератор
01.08.13
09:46
(0) на сервере нет нужных COM-объектов. Установить MSOffice на сервер.
2 Солнце
 
01.08.13
09:50
MSOffice Установлен...
3 Солнце
 
01.08.13
09:54
Эксель = Новый COMОбъект("Excel.Application");
Книга = Эксель.WorkBooks.Open(Файл);

К Excel подключается а к открытию файла говорит:
Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу Это может быть вызвано одной из следующих причин.

• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.

Хотя доступ есть к нему... Файл нигде не используется и он закрыт!
4 Солнце
 
01.08.13
10:03
Никто не может помочь?...((
5 Лефмихалыч
 
модератор
01.08.13
10:05
(2) он установлен на клиенте, а не на сервере. Установите офис на сервер
7 Лефмихалыч
 
модератор
01.08.13
10:06
а, ну или файла нет на сервере.
В переменной "Файл" поди путь относительно твоей клиентской машины?
9 Солнце
 
01.08.13
10:07
(7) сетевой путь такие же ошибки делает
10 lEvGl
 
гуру
01.08.13
10:07
а что значит "выполняется на сервере" - регламентное задание?
11 Солнце
 
01.08.13
10:08
Нет процедура выполняется &НаСервере
12 Лефмихалыч
 
модератор
01.08.13
10:09
(9) а у пользователя, под которым сервер 1С предприяти запущен, права-то на шару есть?
13 Солнце
 
01.08.13
10:09
(12) Конечно
14 Serginio1
 
01.08.13
10:09
15 Лефмихалыч
 
модератор
01.08.13
10:10
(13) не верю
16 wowik
 
01.08.13
10:10
Лефмихалыч, +100. Сам недавно с этой ерундой занимался. Все по делу.
17 Солнце
 
01.08.13
10:11
(15) Все права настроены. Права на все даны!
18 Лефмихалыч
 
модератор
01.08.13
10:13
(17) Ты имя пользователя, под которым служба сервера запущена-то хоть знаешь?
19 Лефмихалыч
 
модератор
01.08.13
10:14
да и не через шару надо на сервер файлы передавать, а через временное хранилище
20 lEvGl
 
гуру
01.08.13
10:14
(15) если права точно есть, тогда попробуйте через ADODB

Connection = Новый COMОбъект ("ADODB.Connection");
    Connection.Open ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Файл + ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""");

    Catalog = Новый COMОбъект ("ADOX.Catalog");
    Catalog.ActiveConnection = Connection;
    ИмяЛиста = Catalog.Tables.Item(0).Name;
    
    String = "Select * from [" + ИмяЛиста + "]";
    Recordset = Новый COMОбъект ("ADODB.Recordset");
    Recordset.Open (String, Connection, 2, 3);
Пока НЕ Recordset.EOF() Цикл
Строка = СокрЛП(Строка(Recordset.Fields(1).Value));
КонецЦикла;
21 Солнце
 
01.08.13
10:15
USR1CV82
22 lEvGl
 
гуру
01.08.13
10:16
(21) возможно админ менял пользователя, из под которого rphost запускается
23 Лефмихалыч
 
модератор
01.08.13
10:16
(21) тебе эксель русским языком все сказал в (3)
24 Галахад
 
гуру
01.08.13
10:17
Права можно так проверить:

Файл = Новый Файл(ИмяФайла);
Файл.Удалить()
25 Serginio1
 
01.08.13
10:18
(17) Посмотри права DCOM
26 Солнце
 
01.08.13
10:18
(22)Не менял
27 Солнце
 
01.08.13
10:18
(25) Дали
28 Лефмихалыч
 
модератор
01.08.13
10:20
как вариант - на клиентской тачке висит срежи процессов excel.exe, созданный при отладке ы файловом варианте и корректно не закрытый при завершении обработки. Этот процесс залочил файл.
29 lEvGl
 
гуру
01.08.13
10:20
(26) может процесс экселя на сервере висит - занял файл. проверьте - (24)
30 Солнце
 
01.08.13
10:21
(28)Это тоже проверяла
31 Солнце
 
01.08.13
10:21
(29) НЕТУ
32 Солнце
 
01.08.13
10:21
(24) есть права)
33 Лефмихалыч
 
модератор
01.08.13
10:21
(30) тогда я знаю ответ - не твой день
34 lEvGl
 
гуру
01.08.13
10:21
ПРОВЕРЬТЕ через удаление
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший