Имя: Пароль:
1C
1С v8
На Эксель = ПолучитьCOMОбъект(ИмяФайла); отладка завершается и дальше не идет.
0 SkillUp
 
26.10.18
11:51
Функция, которая возвращает ТЗ (считывая эксель);

На Эксель = ПолучитьCOMОбъект(ИмяФайла); отладка завершается и дальше не идет. Не могу понять  из-за чего.

Код функции:

Функция ПолучитьНужнуюТЗ (ИмяФайла);

    Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl");
    Скрипт.language = "javascript";
    
    ВремяНачала = Формат(Скрипт.eval("new Date().getTime()"),"ЧГ=0");
    Эксель = ПолучитьCOMОбъект(ИмяФайла);
    ЛистЭксель = Эксель.WorkSheets(1);
    ВсегоСтрок = ЛистЭксель.Cells.SpecialCells(11).Row;
    ВсегоКолонок = ЛистЭксель.Cells.SpecialCells(11).Column;
    
    Сообщить("Колонок: "+ Строка(ВсегоКолонок) + " Строк: "+ Строка(ВсегоСтрок));
    
    ТЗ = Новый ТаблицаЗначений;
    Для Счетчик = 1 По ВсегоКолонок Цикл
        ТЗ.Колонки.Добавить("Колонка"+Счетчик);
    КонецЦикла;
    
    Для Счетчик = 1 По ВсегоСтрок Цикл
        НоваяСтрока = ТЗ.Добавить();
    КонецЦикла;
    
    Область = ЛистЭксель.Range(ЛистЭксель.Cells(1,1), ЛистЭксель.Cells(ВсегоСтрок,ВсегоКолонок));
    Данные = Область.Value.Выгрузить();
    
    Для Счетчик = 0 По ВсегоКолонок-1 Цикл
        ТЗ.ЗагрузитьКолонку(Данные[Счетчик], Счетчик);
    КонецЦикла;
    ЛистЭксель = Неопределено;
    Эксель = Неопределено;
    
    ВремяОкончания = Формат(Скрипт.eval("new Date().getTime()"),"ЧГ=0");
    //ОчиститьСообщения();
    Сообщить("Выполнение скрипта заняло: " + Строка(ВремяОкончания - ВремяНачала) + " мсек. " + Символы.ПС +
    "Обработано строк: " + Строка(ВсегоКолонок) + " колонок: " + Строка(ВсегоСтрок) + " итого ячеек; " + Строка(ВсегоКолонок * ВсегоСтрок));
    
    Возврат ТЗ;
    
КонецФункции
1 asady
 
26.10.18
11:52
(0) в диспетчере задач процесс экселя появляется?
2 SkillUp
 
26.10.18
11:55
(1) Нет.
3 SkillUp
 
26.10.18
11:55
(1) ОЙЙЙ, да есть аж 9 шт.
4 SkillUp
 
26.10.18
11:55
(1) Офигеть!
5 shadow_sw
 
26.10.18
12:00
Ex = новый COMОбъект("Excel.Application");

так попробуй
6 asady
 
26.10.18
12:07
(5) не поможет

там наверное модальное окошко эксель выбросил и ждет
7 SkillUp
 
26.10.18
12:10
(6) ИМЕННО ОНО! Спасибо!
8 shadow_sw
 
26.10.18
12:18
Эксель.Visible = 1;    

вот еще
Закон Брукера: Даже маленькая практика стоит большой теории.