Приложению Microsoft Excel не удается получить доступ к файлу #611256


#0 by V_V_V
1С:Предприятие 8.2 (8.2.15.301), серверная, тонкий клиент, Excel 2010. Пишу обработку, добавляющую несколько листов Экселя в некую заготовку (книга Экселя) листами целиком. Если выполнять на Клиенте - добавляет, сохраняет. При запуске на Сервере - процедура начинает ругаться еще на этапе открытия заготовки: ... Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу "c:Excel1.xls"... Сервер работает под пользователем USR1CV82. Пользователю в DCOM даны права на Эксель (само-собой, без них даже COMОбъект("Excel.Application") не создавался), права локального Пользователя, на папку и файл тоже даны полные права. В чем может быть дело? Кусок кода: Гуглил. Выполнял все что находил - не работает...
#1 by Axel2009
файл то где находится?
#2 by V_V_V
Локально. c:Excel1.xls
#3 by Лоботряс
У файла вывод должен быть разрешен кажется...
#4 by Лоботряс
Если на сервере с ним работать
#5 by Axel2009
круто. а код сервера откуда запускается?
#6 by smaharbA
у сервера права как на файл так и на ком
#7 by V_V_V
Это где? В свойствах самого файла? На Клиенте добавляет без левых манипуляций...
#8 by V_V_V
На этой же машине
#9 by Axel2009
а если подумать?
#10 by V_V_V
+ На моей машине есть и сервер 1С и SQL
#11 by V_V_V
Вот не думается. Чего и спрашиваю... :)
#12 by Axel2009
ну ты запиши файл текстовый и посмотри где он создастся
#13 by V_V_V
Создастся где-то C:UsersUSR1CV82AppDataLocalTemp Только я открыть не могу, а не создать...
#14 by V_V_V
Может я неправильно сформулировал... Если я выполняю вышеприведенный код &НаКлиенте - отрабатывает без вопросов. Если &НаСервере - валится ошибка.
#15 by V_V_V
Ничего не понимаю. Уже не открываю файл-шаблон, а просто создаю новую книгу и уже в нее пытаюсь добавить листы, только что сформированные и записанные сервером 1C во временную папку - та же ошибка. По-идее все права на временные файлы у сервера 1С в этом случае точно есть: Йоксель = Новый COMОбъект("Excel.Application"); Ошибка: Приложению Microsoft Excel не удается получить доступ к файлу "C:UsersUSR1CV82AppDataLocalTemp eserve.xls"
#16 by V_V_V
+ Имеется ввиду, что ругается уже на строку ЛистРезервов = Йоксель.Workbooks.Open(ФайлРезервовДляКлиента);
#17 by DEVIce
. У компа на котором сервер предприятия крутится есть доступ до этого файла?
#18 by pumbaEO
код, как сохраняешь ФайлРезервовДляКлиента покажи.
#19 by V_V_V
Все выполняется на моей машине. В последнем варианте из файл C:UsersUSR1CV82AppDataLocalTemp eserve.xls формируется непосредственно самим сервером 1С аккурат перед добавлением в книгу. Да там кода-то - выборка, заполнение Табличного документа и сохранение этого Табличного документа в формате экселя:
#20 by V_V_V
Повторюсь из - Если я выполняю вышеприведенный код &НаКлиенте - отрабатывает без вопросов. Если &НаСервере - валится ошибка.
#21 by pumbaEO
хотя бы раз excel от имени пользователя 1С запускал?
#22 by V_V_V
+ Выполнять надо именно &НаСервере - это будет регламентное задание
#23 by V_V_V
Нет
#24 by DEVIce
Запусти в отладчике и посмотри на момент открытия файла он реально есть?
#25 by DEVIce
Т.е. перед тем как выполнится: ЛистРезервов = Йоксель.Workbooks.Open(ФайлРезервовДляКлиента); существует ли C:UsersUSR1CV82AppDataLocalTemp eserve.xls
#26 by DEVIce
Ну и может файл только на чтение? В темпе он ведь не просто так создался.
#27 by V_V_V
Файл существует, данные в нем имеются, корректные. Открывается, редактируется и тд и тп...
#28 by V_V_V
Редактируется. Хотя это мне и не нужно в данном случае. А в темп - так я его сознательно туда загоняю, через КаталогВременныхФайлов
#29 by DEVIce
Да и все-таки запусти хоть раз от имени пользователя 1С Ексель интерактивно. Ибо Ексель при первом запуске требует настройки.
#30 by pumbaEO
Если сервер 1С от своего имени запустишь, работает?
#31 by V_V_V
Спасибо за наводку. Вот пытаюсь. Ругается: выбранный режим входа для данного пользователя на этом компьютере не предусмотрен. Хорошо, что нужно сделать еще с пользователем USR1CV82 чтоб он мог работать с Экселем? В DCOM права на Эксель даны, самому пользователю членство в группах Пользователи и Пользователи DCOM назначены.
#32 by V_V_V
Наверняка заработает - у меня админские права на локальную машину. Но надо запустить в режиме приближенном к боевому, как на сервере. Там я свои права давать не буду...
#33 by pumbaEO
выбранный режим входа для данного пользователя на этом компьютере  - т.е. процессу не разрешенно работать с рабочим столом, возможно в этом проблема.
#34 by V_V_V
Пока я пользователя USR1CV82 не добавил в DCOM - вообще ругалось на  COMОбъект("Excel.Application"). С рабочим столом работа и не предполагалась. Из того что я начитался, народу было достаточно добавления в DCOM прав пользователю на запуск Экселя.
#35 by V_V_V
Кажется я упустил один момент - у меня 64-х битная Виндовс 7, Эксель 2010 тоже 64-х битный, а вот сервер 1С крутится 32-х битный. Это важно? Может в этом затыка?
#36 by izekia
да в этом проблема
#37 by izekia
куча ссылок но не на этом форуме
#38 by V_V_V
А дай хоть что-то по этой теме. Уже и так читано-перечитано, прежде чем сюда писать, но может новенькое попадется...
#39 by izekia
честно? можно считать это сливом, но поищи в инете не в плане 1с, но просто проблемы вызова через ком, от 32 бита в 64 если хочешь - напиши мне на почту завтра, я постараюсь ответить izekia@gmail.com
#40 by V_V_V
Хорошо, спасибо, гляну.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С