Имя: Пароль:
1C
1С v8
Чтение файла Excel в sql-базе
0 bvn-2005
 
01.11.17
15:51
Есть обработка, которая читает экселевский файл и грузит данные в табличную часть документа. Читает достаточно стандартно:

Попытка
   Excel = Новый COMОбъект("Excel.Application");
....
....

Исключение
   Сообщить("Загрузка не выполнена!");
КонецПопытки;

В файловой базе все работает. А вот в базе на sql (postgre, база одна и таже) COMОбъект не создается и сразу проваливается в исключение. Подскажите, как поправить...?
1 Amra
 
01.11.17
15:53
На сервере где соит сервер 1С нет Экселя
2 Волшебник
 
модератор
01.11.17
15:53
Сообщить(ОписаниеОшибки());
3 yzimin
 
01.11.17
15:59
А почему не читать в таб док без всяких ком?
4 bvn-2005
 
01.11.17
16:13
"Сообщить(ОписаниеОшибки());"
{ВнешняяОбработка.ЗагрузкаНоменклатурыИзExcel.Форма.Форма.Форма(43)}: Ошибка при вызове конструктора (COMОбъект): -2147467262(0x80004002): Интерфейс не поддерживается

"На сервере где соит сервер 1С нет Экселя"
Эксель есть. На этом же сервере с файловой базой все работает
5 arsik
 
гуру
01.11.17
16:15
(4) наверно проблема с битностью сервера
6 СамыйУмный
 
01.11.17
16:17
(4) Или зарегай на серваке ком
7 kzot
 
01.11.17
16:19
А экселевский файл где находиться ?
8 spiller26
 
01.11.17
16:20
(5) Точно битность офиса и не помню где, нужно прописать в юзерах
9 kzot
 
01.11.17
16:22
По правам от кого запущен процесс сервера 1С имеет доступ к этой папке и самому файлу ?
10 spiller26
 
01.11.17
16:23
(8) На серваке
Windows 2008 Server x64
создать папку
C:\Windows\SysWOW64\config\systemprofile\Desktop
11 bvn-2005
 
01.11.17
16:23
"А экселевский файл где находиться ?"
Да здесь же, на сервере, в отдельной папке...
12 bvn-2005
 
01.11.17
16:23
доступ есть
13 spiller26
 
01.11.17
16:25
(10) Еще
на сервере убиваем excel (taskkill /im excel.exe /f)
открываем оснастку "Службы компонентов" (Пуск->Администрирование->Службы компонентов)
в ней раскрываем ветку Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM
справа в списке находим Microsoft Excel Application, открываем Свойства, вкладка Удостоверение, выбираем "Текущий пользователь", ОК.
Готово
14 bvn-2005
 
01.11.17
16:25
"создать папку
C:\Windows\SysWOW64\config\systemprofile\Desktop"
Есть такая папка
15 spiller26
 
01.11.17
16:27
(14) Вот тут почитай http://catalog.mista.ru/public/196323/
всё расписано
16 kzot
 
01.11.17
16:28
Проверь перед созданием COMОбъект, возможность получения атрибутов или размера файлов и будешь понимать есть доступ или нет.
17 bvn-2005
 
01.11.17
16:32
"...открываем оснастку "Службы компонентов"..."
Не помогло
18 spiller26
 
01.11.17
16:33
Совет. Бойся зависших процессов, вручную придеться убивать.
19 spiller26
 
01.11.17
16:36
(17) читай тут (15) там более подробно расписано
20 d4rkmesa
 
02.11.17
10:03
(0) Если подытожить (15) , то "В итоге все взелетело с использованием ADO и успешно работает."
Установите драйвер ADO и работайте через него.
21 Cyberhawk
 
02.11.17
10:07
Переходи на xlsx, все будет работать без всяких СОМ и АДО
22 spiller26
 
02.11.17
10:10
(21) COM - зло, чисто Microsoft'овская приблуда
23 asady
 
02.11.17
10:29
(0) сохрани эксель в цсв и тупо copy mytemptable from C:\myexcell.csv delimiter ',' CSV