Имя: Пароль:
1C
1С v8
v8: Не работает COM-объект Excel на стороне 64х сервера 1С
0 RomaH
 
naïve
12.03.12
12:20
v8: Куда копать - не открывает файл Excel

может кто сталкивался и решил?
в кратце:

   

&НаСервереБезКонтекста
Процедура ЗагрузитьИзФайлаНаСервере(АдресХранилища)
   
   ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресХранилища);
   
   ИмяФайла = ПолучитьИмяВременногоФайла("xlsx");
   
   ДвоичныеДанные.Записать(ИмяФайла);
   
   ЗагрузитьФайл(ИмяФайла);
   
   
   УдалитьФайлы(ИмяФайла);
   
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ЗагрузитьФайл(ИмяФайла)
   
   Ексель = Новый COMОбъект("Excel.Application");
   
   Ексель.Workbooks.Open(ИмяФайла);



говорит что либо файла не существует, либо занят другим приложением, либо имя книги совпадает с открытым в данный момент

уникалльный временный файл, сушествует (я его на точке останова могу открыть интерактивно)
создается сервером и удалается без проблем
1 vmv
 
12.03.12
12:21
перед опен через Файл проверить валидность имени не судьба?
2 vmv
 
12.03.12
12:23
зачем его открывать на точке останова, а потом спрашивать почему блокировка
3 vmv
 
12.03.12
12:25
ну и последний вариант, имя книги созданного в во временных уже существует - убираем за собой да.

больше вариантов нет, только от лукавого
4 RomaH
 
naïve
12.03.12
14:21
(1) перед открытием файл создается - он реально создается в темпах, я его могу открыть
(2) он хоть на точке хоть без точки - результат одиин
(3)  ИмяФайла = ПолучитьИмяВременногоФайла("xlsx"); - знаешь как работает?
5 RomaH
 
naïve
12.03.12
14:24
про валидность имени - делаем по другому - создаю файл сам - интерактивно, сохраняю его в каталог с полным доступом
пытаюсь открыть - результат тот же

аналогично не может сохранить пустой файл

при работе через скрипт - создание книги и сохранение - все ок

да - сервер 64х
6 RomaH
 
naïve
12.03.12
14:31
хм, решили, обращайтесь если что
7 sprog
 
12.03.12
15:15
А решается это так:
на сервере убиваем excel (taskkill /im excel.exe /f)
открываем оснастку "Службы компонентов" (Пуск->Администрирование->Службы компонентов)
в ней раскрываем ветку Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM
справа в списке находим Microsoft Excel Application, открываем Свойства, вкладка Удостоверение, выбираем "Текущий пользователь", ОК.
Готово
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn