Имя: Пароль:
1C
1С v8
v8: Подключение к Excel на сервере - ошибка
,
0 IKSparrow
 
02.06.14
16:08
Код такой:
    Попытка
        Коннектор = ПолучитьCOMОбъект(Объект.ИмяФайла);
    Исключение
        ЗаписьЖурналаРегистрации(
            "#COM",
            УровеньЖурналаРегистрации.Ошибка,
            ЭтотОбъект,
            "Коннектор = ПолучитьCOMОбъект(Объект.ИмяФайла): "+Объект.ИмяФайла,
            ОписаниеОшибки());
        Возврат;
    КонецПопытки;

Ошибка такая: Ошибка получения объекта COM: -2147221014(0x800401EA): Не удается открыть файл при помощи специального имени

Платформа вот такая: 8.3.4.482

Где ошибка?
1 1cVandal
 
02.06.14
16:11
Объект.ИмяФайла что там?
2 IKSparrow
 
02.06.14
16:11
(1) D:\Книга1.xls
3 1cVandal
 
02.06.14
16:14
Коннектор = ПолучитьCOMОбъект(Объект.ИмяФайла,"Excel.Application");
а так?
4 1cVandal
 
02.06.14
16:15
да и прежде чем его обрабатывать,попробуй закрой его
5 IKSparrow
 
02.06.14
16:16
(3) Неа, теперь так Ошибка получения объекта COM: -2147221005(0x800401F3): Недопустимая строка с указанием класса. Вроде же всю жизнь было Excel.Application.
6 salvator
 
02.06.14
16:20
(5) Эксель не установлен?
7 1cVandal
 
02.06.14
16:20
(5) а он у тебя установлен? может код на сервере выполняется?
8 IKSparrow
 
02.06.14
16:24
(6) Excel установлен.
Балин.... Ну да... В процедуре формы с директивой &НаСервере
9 IKSparrow
 
02.06.14
16:25
А на сервере Excel'я нет. А у меня тонкий клиент. Стало быть мне только Excel на сервак ставить и без вариантов, да?
10 RomaH
 
naïve
02.06.14
16:27
(9) почему? - читаешь таблицу на клиенте
пишешь её в формат 1С - любая коллекция
передаешь её на сервер
11 IKSparrow
 
02.06.14
16:32
(10) ТЬфу, не в тот раздел СП посмотрел и не на тот метод "ПолучитьCOMОбъект" =)))
Всем спасибо =)
12 IKSparrow
 
02.06.14
16:33
Ну вот же гадство. Теперь Ошибка в получении объекта COM (0x80004002) Интерфейс не поддерживается. Что за фигня.
13 IKSparrow
 
02.06.14
16:34
Процедура теперь на клиенте выполняется.
14 1cVandal
 
02.06.14
17:00
наКлиенте
Режим = РежимДиалогаВыбораФайла.Открытие;
    ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
    ДиалогОткрытияФайла.ПолноеИмяФайла = "";
    Фильтр = "Таблица(*.xlsx)|*.xlsx";
    ДиалогОткрытияФайла.Фильтр                = Фильтр;
    ДиалогОткрытияФайла.МножественныйВыбор    = Ложь;
    ДиалогОткрытияФайла.Заголовок            = "Выберите файл c описью вложения";
    
    Если ДиалогОткрытияФайла.Выбрать() Тогда
        ПутьКФайлу = ДиалогОткрытияФайла.ПолноеИмяФайла;
    Иначе
        Возврат;
    КонецЕсли;
    
    Тз = объект.ТЗ;
    Тз.Очистить();
    //Тз.Колонки.Добавить("ШК");
    //Тз.Колонки.Добавить("Сумма");
    
    
    
    Попытка
        Excel = Новый COMОбъект("Excel.Application");
        Excel.WorkBooks.Open(ПутьКФайлу);
        ExcelЛист = Excel.Sheets(1);
    Исключение
        Сообщить("Не установлено приложение MS Excel!");
        Возврат;
    КонецПопытки;