Имя: Пароль:
1C
1С v8
Проблема с Excel.Application на сервере
,
0 Dolphinbet
 
24.06.14
13:58
Проблема описана в теме
v8: Приложению Microsoft Excel не удается получить доступ к файлу
Может кто в курсе как решить?
1 Maxus43
 
24.06.14
14:01
если ты думаешь что я буду читать там, а потом отвечать тут, когда даже не ты автор темы той - ошибаешся...
описывай проблему тут свою
2 f_vadim
 
24.06.14
14:06
если ты думаешь что я буду читать там, тут, а потом отвечать, когда даже не ты автор темы той - ошибаешся...
описывать проблему не нужно
3 Dolphinbet
 
24.06.14
14:09
1С 8.3.5 (32-битный). Excel 2010 (64-битный).
Создаю обработку  с кодом:
&НаСервере
Процедура ТестExcel(ПутьКФайлу)
excel = Новый COMОбъект("Excel.Application");
excel.WorkBooks.Open(ПутьКФайлу);
КонецПроцедуры

Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу "c:\Excel\1.xls"...
4 f_vadim
 
24.06.14
14:09
&НаСервере
не за что
5 Dolphinbet
 
24.06.14
14:10
(4) а что с сервером не так?
6 f_vadim
 
24.06.14
14:12
(5) всё так, читай теорию, пользуйся поиском, тема обсуждается 2 раза в неделю точно.
7 Dolphinbet
 
24.06.14
14:13
(6) погуглил, много разных советов но ничего не подходит. Решения проблемы не нашел в общем
8 GreatOne
 
24.06.14
14:13
Что ты хочешь делать с этим файлом дальше? Почему на сервере?
9 Kalambur
 
24.06.14
14:13
Доступ
10 Segate
 
24.06.14
14:13
(5) у тебя код &наСервере
а файл

>>Локально.
>>c:\Excel\1.xls

Дальше объяснять?

ЗЫ и да, я прочитал тему по ссылке
11 Dolphinbet
 
24.06.14
14:14
(10) у меня локально = на сервере :)
12 Dolphinbet
 
24.06.14
14:14
Все крутится на одном компе в общем
13 Segate
 
24.06.14
14:15
(12) и у сервера есть доступ на диск C?
14 Dolphinbet
 
24.06.14
14:15
(9) доступ к файлу есть у всез пользователей
15 Dolphinbet
 
24.06.14
14:16
(13)конечно
16 GreatOne
 
24.06.14
14:16
ПИШИ НА КЛИЕНТЕ!!!
17 Dolphinbet
 
24.06.14
14:16
(15) + по крайней мере файлы создаются нормально
18 Dolphinbet
 
24.06.14
14:16
(16)мне надо в регламентном задании
19 f_vadim
 
24.06.14
14:17
(17) а если сделать &НаКлиенте ?
20 Dolphinbet
 
24.06.14
14:18
(19) все отрабатывает
21 Kalambur
 
24.06.14
14:18
(14) кроме него..
22 Dolphinbet
 
24.06.14
14:19
(21) у меня создается файл под этим же пользователем, как у него не может быть доступа на созданный файл?
23 Segate
 
24.06.14
14:20
(12) Объясню для людей которых забанили в гугле, на клиенте обращаешься к файлику, пихаешь во временное хранилище, и производишь манипуляции, данные передаешь на сервер и обрабатываешь
24 f_vadim
 
24.06.14
14:20
(22) база файловая?
или серверная?
25 Dolphinbet
 
24.06.14
14:20
(23) а смысл?
26 Dolphinbet
 
24.06.14
14:20
(24) серверная
27 Dolphinbet
 
24.06.14
14:21
кто-нибудь может сделать аналогичную простенькую обработку и проверить у себя?)
28 GreatOne
 
24.06.14
14:21
(25) нет смысла. Ты все правильно делаешь. 1С сырая еще
29 f_vadim
 
24.06.14
14:21
(26) у пользователя от которого запущен сервер не доступа к файлу
30 Dolphinbet
 
24.06.14
14:22
(29) я же говорю, что под этим же пользователем и создаю файл...
31 GreatOne
 
24.06.14
14:23
(29) на сервере))
32 GreatOne
 
24.06.14
14:24
(31) это к 30
33 f_vadim
 
24.06.14
14:24
(30) чудес не бывает
попробуй создай его 1с-кой &НаСервере
34 Dolphinbet
 
24.06.14
14:25
(32) да, создаю файл отчета в формате xls на сервере, и затем пытаюсь его открыть (на сервере)
35 Segate
 
24.06.14
14:26
(25) давай так, если я напишу твою обработку в течении сегодняшнего дня, используя гугл, и то что я тебе сказал, с пруфами конечно, то ты мне платишь 5000? Норм?
36 Dolphinbet
 
24.06.14
14:27
(35) а если нет, ты мне?)
37 f_vadim
 
24.06.14
14:28
курить права на каталог и файл
проверить, может файл захвачен в момент открытия
38 Dolphinbet
 
24.06.14
14:30
(37) это все проверено. У меня встречное предложение, чтобы кто-нибудь потратил 5 минут и написал подобную обработку и отписался о результатах :)
39 f_vadim
 
24.06.14
14:32
(38) написать не проблема - проверить негде )

а текстовый файл без COMа прочитает?
40 Dolphinbet
 
24.06.14
14:34
Полный код:

&НаСервере
Функция СформироватьОтчет()
    
    ОтчетПоЦенам = Отчеты.ОтчетПоЦенамГоризонтальный.Создать();
    
    
    ТабДок = Новый ТабличныйДокумент;
    ОтчетПоЦенам.СкомпоноватьРезультат(ТабДок);
    
    ПутьКФайлуотчета= ПутьКОтчету + "\" + "ОтчетПоЦенам_" + Формат(ТекущаяДата() , "ДФ=yyyy-MM-dd") + ".XLSX";
    
    ТабДок.Записать(ПутьКФайлуотчета, ТипФайлаТабличногоДокумента.XLSX);
    
    excel = Новый COMОбъект("Excel.Application");
    excel.DisplayAlerts = 0;
    excel.EnableEvents = 0;
    excel.WorkBooks.Open(ПутьКФайлуотчета);
    
КонецФункции
41 Dolphinbet
 
24.06.14
14:37
(39) да, читает
42 f_vadim
 
24.06.14
14:38
(41) а если паузу сделать перед

excel.WorkBooks.Open(ПутьКФайлуотчета);

?
43 Segate
 
24.06.14
14:39
(38) я уже написал, у меня все работает.
А тебе я советую читать гугл. У тебя 100 пудов 32 разрядный ексель и 64 разрядный 1с или наоборот, так что у меня все отработало без проблем, и это не значит что проблемы нет, но беглый гуглинг кинул меня на сайт где описан подобный метод:

To resolve this issue follow these steps
1. Login to the server as a administrator.
2. Go to "Start" -> "Run" and enter "taskmgr"
3. Go to the process tab in task manager and check "Show Processes from all users"
4. If there are any "Excel.exe" entries on the list, right click on the entry and select "End Process"
5. Close task manager.
6. Go to "Start" -> "Run" and enter "services.msc"
7. Stop the service automating Excel if it is running.
8. Go to "Start" -> "Run" and enter "dcomcnfg"
9. This will bring up the component services window, expand out "Console Root" -> "Computers" -> "DCOM Config"
10. Find "Microsoft Excel Application" in the list of components.
11. Right click on the entry and select "Properties"
12. Go to the "Identity" tab on the properties dialog.
13. Select "The interactive user."
14. Click the "OK" button.
15. Switch to the services console
16. Start the service automating Excel
17. Test you application again.
44 hhhh
 
24.06.14
14:39
(40) но реально проверил пользователя usr1cv8?
45 Segate
 
24.06.14
14:40
(40) и вообще... есть тонна ВК, котоыре работают лучше и быстрее, чем ексель поднятый по ком, задумайтесь об этом.
46 Segate
 
24.06.14
14:42
+(44)так же предлагаю попробовать создать папки

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

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



Хз зачем, может пользователь из службы excel их исползует... не разбирался
47 Kalambur
 
24.06.14
14:43
ПутьКФайлуотчета неправельный
48 Dolphinbet
 
24.06.14
15:16
(45) Какие?)
49 Dolphinbet
 
24.06.14
15:19
(43) ну у меня вроде все так и есть.. только в службах у меня нет "service automating Excel"
50 Dolphinbet
 
24.06.14
15:20
(43) а com-объект запускается под "запускающим пользователем"
51 Dolphinbet
 
24.06.14
15:22
(50) о, поставил запускать под текущим пользователем и заработало!
52 Dolphinbet
 
24.06.14
15:26
Segate, спасибо!
53 Segate
 
24.06.14
15:28
Не за что.
Как я и говорил - 30 секунд гугла решило проблему. с тебя 5к )))
54 Dolphinbet
 
24.06.14
15:28
и все-таки что за ВК которые лучше excel?)
55 Dolphinbet
 
24.06.14
15:31
мне и самому не нравится excel по кому, но надо кое-что подправить в отчете...
56 Segate
 
24.06.14
15:40
(54) http://infostart.ru/public/197777/

К примеру
57 Dolphinbet
 
24.06.14
16:00
(56) это чисто чтение, отформатировать содержимое документа там нельзя...
58 Segate
 
24.06.14
16:05
(57) не, тебя что, правда в гугле забанили? Ну поищи чуть чуть, найди нужную... может не нативную, но все же
59 Dolphinbet
 
24.06.14
16:07
(58) :)
Основная теорема систематики: Новые системы плодят новые проблемы.