Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

1С: Собственные программы

Войти
Регистрация
Восстановить пароль
 
jediAlex
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 260
#1

Ошибка при создании объекта Excel.Application - 1С

14.12.2016, 10:26. Просмотров 365. Ответов 8
Метки нет (Все метки)

Здравствуйте. Делаю собственную конфигурацию в 1С8.3. Есть несколько обработок, которые выводят результат выборки данных в таблицу значений на форме и надо выгрузить эти данные в Excel. Проблема начинается с самой первой строки процесса выгрузки:
1C
1
ОтчетВExcel= Новый СОМОБъект("Excel.Application") ;
Вываливается ошибка "Недопустимая строка с указанием класса". Что не так? помогите пожалуйста. Во вложении скриншот сообщения об ошибке.
0
Миниатюры
Ошибка при создании объекта Excel.Application  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2016, 10:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при создании объекта Excel.Application (1С):

Ошибка при создании нового документа: Поле объекта не обнаружено (srcElement) - 1С
Здравствуйте. Создаю программно новый документ ЭлектронноеПисьмо. Нужно передать текст письма, который заполняется в элементе формы...

Ошибка при создании COM объекта - 1С
Подскажите пожалуйста в чем может быть причина. Connector = Новый COMОбъект(ОбщегоНазначения.ИмяCOMСоединителя()); Я пытаюсь создать СОМ...

1C 8.x Ошибка при создании формы журнала - 1С
Доброго времени суток! При создании формы журнала программа зависает и вылетает. Попробовал создать эту форму на другом компьютере (под...

1C 8.x Ошибка при создании временной таблицы - 1С
Доброго времени суток. Обучаюсь 1С по книге . Дошел до главы с временными таблицами и наткнулся на ошибку в своей конфигурации. При...

1C 7.x Ошибка при создании контрагента в 1С под Win 7 - 1С
Недавно перенес бази 1С с Win XP на ноут Win 7 конфигурация ABBYY 7.70.286 При введении нового контрагента или номенклатури (товара)...

1C 8.x Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка записи! - 1С
Доброго всем времени суток! подскажи пожалуйста как исправить ошибку: Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
OrkVasya
о_____О
217 / 217 / 33
Регистрация: 19.11.2010
Сообщений: 1,046
Завершенные тесты: 1
14.12.2016, 13:44 #2
jediAlex, а excel установлен?

Добавлено через 1 минуту
comcntr.dll зареган в системе?
0
jediAlex
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 260
14.12.2016, 13:51  [ТС] #3
все есть, все установлено. Попробовал на локальной версии конфигурации - работает. Залил БД на SQL сервер и такое выскочило...
0
OrkVasya
о_____О
217 / 217 / 33
Регистрация: 19.11.2010
Сообщений: 1,046
Завершенные тесты: 1
14.12.2016, 13:58 #4
Код где работает? На клиенте или сервере?
0
jediAlex
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 260
15.12.2016, 09:13  [ТС] #5
код на сервере работает
0
GreenkA
Модератор
Эксперт 1С
1677 / 1170 / 393
Регистрация: 25.06.2009
Сообщений: 2,952
15.12.2016, 09:15 #6
jediAlex, надо на клиенте.
0
jediAlex
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 260
15.12.2016, 10:19  [ТС] #7
вот полный код процедуры на сервере:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
&НаСервере
Процедура ВыгрузитьОтчетВExcelНаСервере()
    // Вставить содержимое обработчика.
    ОтчетВExcel=Новый COMОбъект("Excel.Application");
Книга=ОтчетВExcel.Workbooks.Add();
Лист=Книга.Worksheets(1);
    Лист.Cells(1, 1).Value = СокрЛП("Отчет о выполнении календарногоплана(дата начала работ)");
    Лист.Cells(2, 1).Value = СокрЛП("Отчетная дата:");
    Лист.Cells(2, 2).Value=Объект.ОтчетнаяДата;
    Лист.Cells(3, 1).Value = СокрЛП("Наименование договора");
Лист.Cells(3, 2).Value = СокрЛП("Номер этапа") ;
 Лист.Cells(3, 3).Value = СокрЛП("Дата начала работ план");
 Лист.Cells(3, 4).Value = СокрЛП("Дата начала работ факт");
 Лист.Cells(3, 5).Value = СокрЛП("Отклонение, дней");
  Лист.Rows(1).Font.Bold=Истина;
   Лист.Rows(2).Font.Bold=Истина;
     Лист.Rows(3).Font.Bold=Истина;
    //Попытка
        
        Для Стр = 0 По ТаблицаВыгрузки.Количество()-1 Цикл
            
            Для Кол = 1 По ТаблицаВыгрузки.Колонки.Количество()-2 Цикл
                
                Если ТипЗнч(ТаблицаВыгрузки[Стр][Кол]) = Тип("Число") Тогда
                    // Установним формат для типа Число
                    //Лист.Cells(Стр + 2, Кол + 1).NumberFormat = "0,00";
                    Лист.Cells(Стр + 4, Кол).Value = ТаблицаВыгрузки[Стр][Кол];
                Иначе 
                    // Для всех других типов установим формат "Текстовый"
                    Лист.Cells(Стр + 4, Кол).NumberFormat = "@";
                    Если ЗначениеЗаполнено(ТаблицаВыгрузки[Стр][Кол]) Тогда
                    Лист.Cells(Стр + 4, Кол).Value = Строка(ТаблицаВыгрузки[Стр][Кол]);
                КонецЕсли;
                КонецЕсли;
            КонецЦикла;
        КонецЦикла;
        ОтчетВExcel.Visible=Истина;
        //ExcelПриложение.DisplayAlerts = False;
        //Книга.SaveAs(ПолноеИмяФайла); 
        //ExcelПриложение.ActiveWorkbook.Close();
        //ExcelПриложение.Quit();
 
//КонецПопытки;
    
КонецПроцедуры
Добавлено через 1 минуту
вызов процедуры на клиенте:
1C
1
2
3
4
&НаКлиенте
Процедура ВыгрузитьОтчетВExcel(Команда)
    ВыгрузитьОтчетВExcelНаСервере();
КонецПроцедуры
Добавлено через 17 минут
вот полный код ошибки:
1C
1
2
3
4
{Обработка.ВыполнениеКалендарногоПланаПоДатеНачала.Форма.Форма.Форма(42)}: Ошибка при вызове конструктора (COMОбъект)
    ОтчетВExcel=Новый COMОбъект("Excel.Application");
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса
Причем обработок, в которых данные выгружаются в Excel 4. В одной код срабатывает, объект excel создается, а в других - нет. Во всех делал создание объекта Excel на сервере.
0
Joker_vad
Эксперт 1С
455 / 396 / 49
Регистрация: 26.09.2012
Сообщений: 1,723
15.12.2016, 10:58 #8
Когда ваш код выполняется на сервере, то и эксель с дллкой смотрятся на сервере и еще два миллиона параметров доступа. И судя по ошибке нет у вас экселя на сервере.

А почему все не выгрузить в табличный документ, а потом его сохранить как файл эксель?
0
jediAlex
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 260
15.12.2016, 13:49  [ТС] #9
Спасибо, разобрался.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2016, 13:49
Привет! Вот еще темы с ответами:

1C 8.x Ошибка 1С 8.2 Communication error between application and local LM (possibly HASP SRM driver is not installed) - 1С
Доброго времени суток уважаемые жители форума. Опишу ситуацию: на работе имеются 14 машин работающих в 1С8 10 из них работают в...

1C 8.x Изменение формы документа при создании - 1С
Други! Подмогите кто может! В конфе есть документ "Поступоение товаров и услуг". На форма этого документа есть элемент "Панель", на ней...

1C 8.x Ошибка: Поле объекта не обнаружено - 1С
Ругается на параметр макета,типа его нет... хотя в отладчике в параметрах области его видно!! Уже и макет новый сделал, и наименование...

1C 8.x Виснет программа при создании новго элемента справочника - 1С
Перегружаю справочник из одной программы в другую через веб, и по непонятной причине система намертво виснет при вызове...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.12.2016, 13:49
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru