Имя: Пароль:
1C
1С v8
Интерфейс не поддерживается
,
0 fantomask
 
22.05.12
08:20
Добрый день!
Есть клиент серверная база 1С 8.2 при загрузке эксель файла, на моменте создания соm объекта выходит ошибка "no such interface supported" или по русски интерфейс не поддерживается.

Док = новый COMОбъект("Excel.Application");
   Сообщить("Создан объект");
   Док.Workbooks.Open(файл);
   Сообщить("Файл открыт");

Причем в файловом варианте все работает! версия платформы 8.2.15.294

Поискал на форуме, но ответа так и не нашел.
1 andrewks
 
22.05.12
08:22
эксель на сервере установлен? права на ком-объекты есть?
2 fantomask
 
22.05.12
08:31
(1) ексель установлен
а как проверить права на ком объекты? странно ведь в файловом варианте на сервере то работает...
3 Klesk
 
22.05.12
08:32
проверь права пользователя от которого сервер 1с стартует
4 shuhard
 
22.05.12
08:33
(2)[странно ведь в файловом варианте на сервере то работает..]
странно, что ты не нашёл ответа на этот вопрос на форуме
5 andrewks
 
22.05.12
08:38
сервер 1с х64?
6 fantomask
 
22.05.12
08:40
(5) да
7 andrewks
 
22.05.12
08:42
а эксел х32
8 fantomask
 
22.05.12
08:43
(7) да
9 andrewks
 
22.05.12
08:45
(8) это был не вопрос
10 fantomask
 
22.05.12
08:46
(9) так что можно сделать с этим?
11 MSII
 
22.05.12
08:49
А зачем ком на сервере создавать? Читать/писать в эксельный файл чисто клиентская задача.
12 Ranger_83
 
22.05.12
08:49
(0)создать COMОбъект("Excel.Application") на клиенте?
13 Ranger_83
 
22.05.12
08:49
(11):)
14 fantomask
 
22.05.12
08:50
(12) на &сервере
15 Ranger_83
 
22.05.12
08:52
(14)это был не вопрос
16 andrewks
 
22.05.12
08:54
(10) где-то в инете валялась инструкция, как сделать х64 стаб для х32 объекта. лично не пробовал, но вроде говорят, что работает
17 fantomask
 
22.05.12
09:00
Дал права на USR1CV82 теперь ругается на строке Док.Workbooks.Open(файл); на путь файла
18 andrewks
 
22.05.12
09:00
19 Пеппи
 
22.05.12
09:01
(17) какой путь у файла?
20 fantomask
 
22.05.12
09:02
на рабочем столе. Вызываю диалог выбора файла
21 Пеппи
 
22.05.12
09:04
(20) извини, но файлу не место быть на конкретном рабочем столе. )
22 fantomask
 
22.05.12
09:05
(21) я вызываю диалог выбора файла, пользователь сам выбирает путь к файлу
23 andrewks
 
22.05.12
09:07
(22) шо, прямо на сервере?
24 andrewks
 
22.05.12
09:10
(16) по-ходу, тут я загнался, это не ком, а оле
25 fantomask
 
22.05.12
09:12
(23),(21) Вот полный код
&НаКлиенте
Процедура ЗагрузитьИзФайла(Команда)
   Режим = РежимДиалогаВыбораФайла.Открытие;
   Длг = новый ДиалогВыбораФайла(Режим);
   Фильтр = "Файл excell (*.xls)|*.xls";
   ДЛГ.Фильтр = Фильтр;
   ДЛГ.Выбрать();
   Файлик = ДЛГ.ПолноеИмяФайла;
   Если ЗначениеЗаполнено(файлик) Тогда
       ЗагрузитьДанныеИзФайла(Файлик);
   КонецЕсли;
КонецПроцедуры                              
&НаСервере
Процедура ЗагрузитьДанныеИзФайла(Файл)
   СчСтроки = 2;
   ТекНомер=1;
   Док = новый COMОбъект("excel.Application");

   Сообщить("Создан объект");
   Док.Workbooks.Open(файл);
   Сообщить("Файл открыт");
     Пока ТекНомер=1 ЦИкл
       Если Док.Sheets(1).Cells(счСтроки,1).Value = Неопределено Тогда
           Прервать;
       КонецЕсли;
26 andrewks
 
22.05.12
09:14
(25) прав нет на файл у USR1CV82
27 fantomask
 
22.05.12
09:15
Вообще есть мысль что путь к файлу между клиентом и сервером передавать нельзя или нужно как то иначе это дело реализовать
28 shuhard
 
22.05.12
09:16
(27) т.е. файл на рабочем столе юзера - феерично
29 andrewks
 
22.05.12
09:16
(25) и вообще, сама идея плоха
30 ДенисЧ
 
22.05.12
09:17
мда....
Файл лежит на компе у пользователя... Путь передаётся на другой комп... И странно, почему это он не открывается...
31 fantomask
 
22.05.12
09:17
(26) в таком случае возникает трудности. USR1CV82 пользователь локальной машины и у него нет админских прав на домен
(29) а как можно сделать лучше?
32 Ranger_83
 
22.05.12
09:18
(31)на клиенте открывай
33 Wobland
 
22.05.12
09:18
(25) немного не в тему. что случится, если юзер откажется от выбора файла?
34 fantomask
 
22.05.12
09:20
(33) ничего
(32) А на клиенте будет работать   Док.Workbooks.Open(файл);?
35 el-gamberro
 
22.05.12
09:21
феерично просто
36 el-gamberro
 
22.05.12
09:21
(34) будет конечно
37 el-gamberro
 
22.05.12
09:22
Когда это будет переносится на промышленную базу ТС будут ждать новые сюпризы
38 fantomask
 
22.05.12
09:24
(37) какие сюрпризы?
39 Ranger_83
 
22.05.12
09:25
(38)Для чего файл прогонять через сервер?Количество вызовов сервера лучше минимизировать
40 el-gamberro
 
22.05.12
09:25
41 Ranger_83
 
22.05.12
09:28
Еще добавлю,что если не нужные данные формы,то лучше использовать внеконтекстный(&НаСервереБезКонтекста)серверный  вызов
42 fantomask
 
22.05.12
09:38
блин, не получается. Я на сервере создаю ком объект, потом его передаю на клиент, чтобы открыл файл и начал его обрабатывать.
Вот на моменте передачи ком объекта из сервера на клиент вылетает ошибка
43 fantomask
 
22.05.12
09:49
оказывается ком объекты можно создавать на клиенте. всё сделал, работает! Всем спасибо за участие и помошь!
44 Ranger_83
 
22.05.12
09:53
(43)Тебе об ентом еще с (11) еще намекали