Имя: Пароль:
1C
1С v8
регламентное задание и Ексель
0 LadukOpiat
 
05.07.12
17:47
Ошибка при попытке подключения Ексель в регламентном задании в серверном режиме, код:
"
Excel = Новый COMОбъект("Excel.Application");
по причине:
Интерфейс не поддерживается"
в файловом варианте все работает.

платформа 8.2.15.317, в чем может быть проблема ?
1 Живой Ископаемый
 
05.07.12
17:48
а сервер на 64-битном Линуксе?
2 LadukOpiat
 
05.07.12
17:49
win 7 x64
3 izekia
 
05.07.12
17:49
(1) а на 32-битном пройдет?
4 izekia
 
05.07.12
17:49
(2) а эксель 32бита
5 Dmitry77
 
05.07.12
17:50
правильнее сказать на клиенте все работает, на сервере нет.

соответсвенно смотри, что б на сервере бил офис + права что бы были на офис
6 Живой Ископаемый
 
05.07.12
17:50
2(2) а офис тоже 64-битный?
7 vde69
 
05.07.12
17:51
пользователь под которым запущена служба 1с должен иметь права на DCOM в целом и на ексель в частности
8 LadukOpiat
 
05.07.12
17:52
да офис тож 64
9 LadukOpiat
 
05.07.12
17:52
(7) как посмотреть права на DCOM и ексель для конкретного пользователя ?
10 vde69
 
05.07.12
17:55
(9) в целом - это группа "пользователи DCOM"
в частности екселя - у конкретного обьекта com/dcom вкладка свойств/безопасность (только эти права (при изменении) вступают в силу после перезагрузки сервера)
11 Dmitry77
 
05.07.12
17:56
(9) посмотри под кем работает служба "Агент сервера 1С:Предприятия 8.2".
Лучше всего запусти ее под доменным админом или хортябы под локальным админом.
12 Serginio1
 
05.07.12
18:49
Как вариант попробуй ADO v8: ADO 8.2 x 64. Загрузка ДБФ. Регламетное задание.
c АДОСоединение.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+СокрЛП(ИмяФайла)+";Extended Properties=""Excel 8.0;IMEX=1;""";

IMEX=1

Правда там ограничение на количество колонок но можно считывать нужную область
АДОЗапись.Open("Select * from ["+ИмяЛиста+"$A16:AI41]");
13 LadukOpiat
 
05.07.12
22:14
(11) добавил пользователя в группу Администраторы, теперь ошибка в следующей строке:
Excel.WorkBooks.Open(ВыбФайл.ПолноеИмя);
по причине:
Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу "D:\1C\DataBases\E_130612.xls". Это может быть вызвано одной из следующих причин.

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

ВыбФайл типа Файл, на Существует() проверку проходит
Не понятно какой программой он может быть открыт....
14 эцп
 
05.07.12
22:57
(13) А файл есть на СЕРВЕРЕ?
15 LadukOpiat
 
05.07.12
23:02
Файл.Существует() = Истина
16 vde69
 
05.07.12
23:38
(13) это боян...

екселю кроме файлового доступа к указаному каталогу нужен еще и доступ к временным файлам, а они лежат  (тссс не скажем где), но винда по умолчанию сильно сопротивляется именно доступу к темпам
17 LadukOpiat
 
06.07.12
09:31
На самом деле проблема была в пользователе DCOM, хотя сервер и работает под пользователем винды, в DCOM он почему то пустой, пришлось принудительно установить все запуски DCOM под определенным пользователем и все заработало.

помог партнерский форум 1С
18 vde69
 
06.07.12
10:49
(17) о чем и было написано в (7)....

еще про временные файлы почитай, там то-же засада есть
19 Serginio1
 
06.07.12
11:01
(18) Помню бился с Экселем v8: Ошибка Сохранения Ексель Регламентное задание
никак не смог победить. причем в 2003 все проходило, а в 2008 была засада.
Запускалось все под админом DCOM все было выставлено и доступ соответственно без ограничений
20 LadukOpiat
 
13.07.12
17:25
Блин, у меня на win 7 +Office 2010 все заработало, у клиента 2008 сервер и офис 2007 и опять ошибка доступа....
21 LadukOpiat
 
13.07.12
17:26
хотя DCOM установил пользователя с админ правами, где еще можно порыть по поводу пользователя DCOM ?
22 LadukOpiat
 
15.07.12
01:23
ПРава на временный файлы есть
23 LadukOpiat
 
16.07.12
17:09
Где еще можно рыть ?
24 el-gamberro
 
16.07.12
17:13
(23) ты ошибку то напиши?
25 LadukOpiat
 
16.07.12
20:52
Excel.WorkBooks.Open(ВыбФайл.ПолноеИмя);
по причине:
Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу "D:\1C\DataBases\E_130612.xls". Это может быть вызвано одной из следующих причин.

• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.
26 vde69
 
17.07.12
08:14
(25) ексель такую ошибку дает в 2х случаях

1. действительно нет доступа к указаному файлу
2. ексель не может создать ВРЕМЕННЫЙ файл (это скорее всего)
27 dk
 
17.07.12
08:28
Excel.WorkBooks.Open(ВыбФайл.ПолноеИмя, 0 , 0);
?
28 LadukOpiat
 
17.07.12
12:35
(26) доступ к файлу есть у всех пользователей win ( я проверил )
так же проверил доступ к переменным средам винды, тоже все есть.
Где ексель создает свой временный файл, может я не то проверяю ?
29 LadukOpiat
 
17.07.12
12:47
(27) ничего не изменилось в результате
30 LadukOpiat
 
17.07.12
12:49
для win 7 and office 2011 проблему решило указание конкретного пользователя для запуска DCOM, в win2008server+office 2003 провел те же действия - не помогло
31 LadukOpiat
 
17.07.12
12:55
я подозреваю что проблема все таки остается в том что DCOM запускается с пустым пользователем, но не знаю как можно это поправить
Я сделал следующее в настройках DCOM:
Администирование-СлужбыКопонентов-Компютеры-МойКомпютер-настройка DCOM-Microsoft Excel application- Свойства-Удостоверение: Указанный пользователь - выбрал администратора сервера и ввел его пароль.
32 LadukOpiat
 
17.07.12
22:00
Подсказали решение на SQL.ru
На сервере необходимо было еще установить в локальных политиках право на запуск DCOM для конкретных пользователей.
и, о чудо, все заработало :-)
33 vde69
 
18.07.12
08:21
(32) тебе еще в (10) об этом сказали... почему люди не читают то что им советуют?
34 vde69
 
18.07.12
08:22
а вообще за твои настройки - поубивать мало... по существу ты 1с сделал всемогущим на сервере и любой человек который может открыть конфигуратор - является админом сервера....
35 LadukOpiat
 
18.07.12
11:45
(33) в (10) указаны совсем другие настройки, которые помогли на win 7 но не на win server.
Там помогли только донастроки учетных политик.
36 LadukOpiat
 
18.07.12
11:48
(34) - тут согласен, буду теперь забирать права у пользователя сервера 1С
37 LadukOpiat
 
18.07.12
11:54
(33) кроме того в (10) вообще ничего не сказано про то что 1С запускает DCOM без пользователя.
я внимательно прочитал то что Вы советовали, и в результате добавил пользоваля сервера 1С в группу Пользовтелей DCOM - только это не решило проблемы из-за некорректной работы 1С с DCOM на сервере (17).
К сожалению я не настолько глубоко разбираюсь в администировании win server, что б по термину 'DCOM' понять все возможные проблемы  и где их искать, в противном случае этот вопрос не выносился бы на обсуждение в текущем форуме.