Имя: Пароль:
1C
1С v8
v8: Зависание функции ПолучитьCOMОбъект при работе с файлом Excel
0 KKrKKdd
 
14.01.14
05:57
Привет всем неравнодушным!
ситуация такая, процедура выполняется на сервере, на клиент перенести не могу, так как бд крутится на веб.

Сперва записываю ТабДок в XLS, тут все отлично и никаких проблем

ТабДок.Записать("C:\blabla\Al.XLS",ТипФайлаТабличногоДокумента.XLS);

//Теперь мне необходимо поработать с формулами в этом файле и
//перезаписать его. для начала мне бы его получить.
Попытка
    Док = Новый COMОбъект("Excel.Application");
    Док.Workbooks.Open("C:\blabla\Al.XLS");
    // вот тут выходит ошибка error calling context method open...
Исключение
    Попытка
        // а вот здесь
        Док = ПолучитьCOMОбъект("C:\blabla\Al.XLS");
        //вовсе зависает навсегда и никаких сообщений.
    Исключение
    КонецПопытки;
КонецПопытки;
2 Андрюха
 
14.01.14
06:12
Если уж 1С не может создать Новый COMОбъект("Excel.Application"), то ПолучитьCOMОбъект и подавно не сможет. Не?
3 KKrKKdd
 
14.01.14
06:13
в момент зависания в процессах появляется excell но отладчик дальше не идет. если процесс снять, то идет.
4 KKrKKdd
 
14.01.14
06:14
Новый COMОбъект("Excel.Application") он создает. он на второй сточке сбивается Док.Workbooks.Open("C:\blabla\Al.XLS");
5 Андрюха
 
14.01.14
06:19
А открываемый файл он точно экселевский? Может его в актуальную версию переписать.
6 KKrKKdd
 
14.01.14
06:20
думала может с файлом что то не так... заменила во время отладки этот файл на совершенно новый пустой. та же ситуация
7 Андрюха
 
14.01.14
06:22
Офис какой установлен
8 KKrKKdd
 
14.01.14
06:23
2007
9 KKrKKdd
 
14.01.14
06:25
попробовала все поменять на xlsx то же самое.
10 MiniMuk
 
14.01.14
06:31
Исключение
  ФайлЛога = Новый ЗаписьТекста(("C:\blabla\log.XLS", КодировкаТекста.UTF8, ,Истина,);  
  ФайлЛога.ЗаписатьСтроку ОписаниеОшибки());
  ФайлЛога.Закрыть();
11 MiniMuk
 
14.01.14
06:33
(0) Так у тебя же фотки нет! Вот и не получается
12 MiniMuk
 
14.01.14
06:34
поправочка
  ФайлЛога.ЗаписатьСтроку("" + ТекущаяДата() + ОписаниеОшибки());
13 KKrKKdd
 
14.01.14
06:36
как только решу проблему обязательно сфотографируюсь.
14 KKrKKdd
 
14.01.14
06:42
первая попытка выдает {Обработка.Roster.Форма.Форма.Форма(2538)}: Error calling context method (Open): An exception has occurred (Microsoft Office Excel): Нет доступа к файлу 'C:\SAS\Week2014_01_13\Invoice\AL\AL27.XLS'. Это может быть вызвано одной из следующих причин.

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

хотя на момент начала работы нет процессов excel, а доступ к папке стоит для всех полные права.

воторая попытка  Док = ПолучитьCOMОбъект("C:\blabla\Al.XLS","Excel.Application"); выдает
{Обработка.Roster.Форма.Форма.Форма(2556)}: Error calling context method (ПолучитьCOMОбъект): Error getting COM object: -2147467262(0x80004002): Интерфейс не поддерживается
15 MiniMuk
 
14.01.14
06:45
(13) Фотка всяко, нужна. Есть предположение что там у тебя может быть
16 Андрюха
 
14.01.14
06:54
Попробуй офис переставить
17 skunk
 
14.01.14
06:56
в общем проблема в том, что есть некоторые особенности работы 1с с комом на серверах

часть решения есть тут ... читай с (30)
v8: регламентное задание и Ексель
18 Ranger_83
 
14.01.14
06:58
Может дело в расширении для работы с файлами
19 ICWiner
 
14.01.14
06:59
Не поверите, но нужно сделать следующее:
Необходимо создать папку
•для Windows Server x64

C:\Windows\SysWOW64\config\systemprofile\Desktop

•для Windows Server x86

C:\Windows\System32\config\systemprofile\Desktop

Данное расположение папок указано для Office 2007. Для Office 2010 не зависимо от разрядности платформы необходимо создавать папку C:\Windows\System32\config\systemprofile\Desktop (данный факт так же потратил не мало моего времени). В общем, если создали папку, а ошибки не исчезли, создайте вторую. Так же необходимо дать права на созданную папку пользователю USR1CV82. Практика показала, что достаточно прав, выдаваемых системой по умолчанию.
20 ICWiner
 
14.01.14
07:10
Я вообще непонятно каким чудом нашел эту фигню... Пол дня не мог понять какого фига фоновое задание с рабочим кодом не работает
21 KKrKKdd
 
14.01.14
07:11
(19) Невероятно! получилось... как же так?
22 KKrKKdd
 
14.01.14
07:13
Спасибо огромное! всем!!! особенно (19)!! называется что-то сделала, а что не знаю)