|
В управляемой форме на клиенте обращаюсь к excel , если запускаю | ☑ | ||
---|---|---|---|---|
0
Ivan_495
19.07.16
✎
20:36
|
В управляемой форме на клиенте обращаюсь к excel , если запускаю обработку на сервере через rdp работает без ошибок, если обращаюсь по сети со своего компьютера , выдает ошибку?
|
|||
1
jsmith
19.07.16
✎
20:37
|
Ниче не понял.
На другом компе стоит иксель, а на твоем нет? Поставь. |
|||
2
Ivan_495
19.07.16
✎
20:38
|
НаКлиенте
Процедура Команда1(Команда) // Вставить содержимое обработчика. ////////////////////////////// //////////////////////////////////////////////////////// Попытка КудаСохранитьЭксель="D:\Pas_otladka\ps.xlsx"; МассивПутейФайловXLS=Новый Массив; Паспорт.Записать("D:\Pas_otladka\p1.xlsx","xlsx"); Координаты.Записать("D:\Pas_otladka\p2.xlsx","xlsx"); Принадлежность.Записать("D:\Pas_otladka\p3.xlsx","xlsx"); Эксплуатация.Записать("D:\Pas_otladka\p4.xlsx","xlsx"); Расширенныйпаспорт.Записать("D:\Pas_otladka\p5.xlsx","xlsx"); МассивПутейФайловXLS.Вставить(0,"D:\Pas_otladka\p5.xlsx"); МассивПутейФайловXLS.Вставить(1,"D:\Pas_otladka\p4.xlsx"); МассивПутейФайловXLS.Вставить(2,"D:\Pas_otladka\p3.xlsx"); МассивПутейФайловXLS.Вставить(3,"D:\Pas_otladka\p2.xlsx"); МассивПутейФайловXLS.Вставить(4,"D:\Pas_otladka\p1.xlsx"); ДокЭксель = Новый COMОбъект("Excel.Application"); ДокЭксель.DisplayAlerts=0; ОбщаяКнига= ДокЭксель.WorkBooks.Add(); Для каждого ПутьКФайлуXLS Из МассивПутейФайловXLS Цикл Книга = ДокЭксель.WorkBooks.Open(ПутьКФайлуXLS); ЛистСДанными = Книга.Sheets(1); ЛистСДанными.Select(); ЛистСДанными.Copy(ОбщаяКнига.Sheets(1)); КонецЦикла; // удалим последние 3 пустых листа КолЛистов = ДокЭксель.Sheets.Count; ЛистОсталось= 3; Пока ЛистОсталось > 0 Цикл ДокЭксель.WorkSheets(КолЛистов).Delete(); КолЛистов = КолЛистов - 1; ЛистОсталось = ЛистОсталось - 1; КонецЦикла; ОбщаяКнига.Sheets(1).Name = "т"; ОбщаяКнига.Sheets(2).Name = "ы"; ОбщаяКнига.Sheets(3).Name = "о"; ОбщаяКнига.Sheets(4).Name = "Э"; ОбщаяКнига.Sheets(5).Name = "Р"; ОбщаяКнига.SaveAs(КудаСохранитьЭксель); ОбщаяКнига.close(); ДокЭксель.Quit(); ДокЭксель = Неопределено; Для каждого ПутьКФайлуXLS Из МассивПутейФайловXLS Цикл УдалитьФайлы(СокрЛП(ПутьКФайлуXLS)); КонецЦикла; ////////////////////////////// ДокЭксель = Новый COMОбъект("Excel.Application"); ДокЭксель.visible=1; ОбщаяКнига= ДокЭксель.WorkBooks.Open(КудаСохранитьЭксель); Исключение Сообщить("ЗАКРОЙТЕ EXCEL файл сформированный отчетом"); ОбщаяКнига.close(); ДокЭксель.Quit(); ДокЭксель = Неопределено; КонецПопытки; КонецПроцедуры код который работает |
|||
3
Ivan_495
19.07.16
✎
20:39
|
запускаю отчет по rdp на сервере - работает,
с сетевого компа, не рабатает |
|||
4
Ivan_495
19.07.16
✎
20:40
|
обычный COMОбъект("Excel.Application" почему по сети не пашет,
на локальном компе excel стоит |
|||
5
jsmith
19.07.16
✎
20:41
|
Что значит обращаешься по сети.
|
|||
6
hhhh
19.07.16
✎
20:42
|
(3) какую ошибку выдает? Секрет?
|
|||
7
jsmith
19.07.16
✎
20:42
|
А. У тебя локально тонкий клиент типа.
|
|||
8
Ivan_495
19.07.16
✎
20:42
|
(5) с локальный компа запускаю тонкий клиент 1с
|
|||
9
Ivan_495
19.07.16
✎
20:42
|
(7) да
|
|||
10
Ivan_495
19.07.16
✎
20:43
|
(6) код ошибки к сожалению щас не могу сказать
|
|||
11
Ivan_495
19.07.16
✎
20:45
|
на разных компах запускал бестолку, D:\Pas_otladka\ создан
|
|||
12
Ivan_495
19.07.16
✎
20:46
|
не пойму может &на сервере , а не на &клиенте процедура должна работать?
|
|||
13
hhhh
19.07.16
✎
20:46
|
на всех компах создал D:\Pas_otladka ???
|
|||
14
jsmith
19.07.16
✎
20:46
|
Вот те на. Чо делать терь.
|
|||
15
Ivan_495
19.07.16
✎
20:47
|
хотя как тогда пользователь к файлу доступ получит
|
|||
16
jsmith
19.07.16
✎
20:47
|
У тебя ком-объект-то создается вообще?
|
|||
17
Ivan_495
19.07.16
✎
20:47
|
(13) да
|
|||
18
Ivan_495
19.07.16
✎
20:48
|
(16) на сервере да, на клиентских машинах нет
|
|||
19
Ivan_495
19.07.16
✎
20:49
|
подход верный?
может права обрезаны на клиентских машинах? |
|||
20
hhhh
19.07.16
✎
20:52
|
(19) ну делай наСервере тогда
|
|||
21
jsmith
19.07.16
✎
20:56
|
На клиенте нужно.
|
|||
22
Ivan_495
19.07.16
✎
20:57
|
(21) да
|
|||
23
Ivan_495
19.07.16
✎
20:57
|
http://1c-pro.ru/threads/comobekt-excel-application-na-kliente-i-na-servere.50997/
А решается это так: на сервере убиваем excel (taskkill /im excel.exe /f) открываем оснастку "Службы компонентов" (Пуск->Администрирование->Службы компонентов) в ней раскрываем ветку Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM справа в списке находим Microsoft Excel Application, открываем Свойства, вкладка Удостоверение, выбираем "Текущий пользователь", ОК. Готово |
|||
24
Ivan_495
19.07.16
✎
20:58
|
(23) хотя это не про тонкгог
|
|||
25
Ivan_495
19.07.16
✎
21:01
|
Да, действительно, пользователя USR1CV8 включил в группу "Пользователи DCOM", и все завелось... Только необходимо рестартовать службу агента сервера 1С.
Спасибо. http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=633725 |
|||
26
Ivan_495
19.07.16
✎
21:06
|
v8: Проблема с Excel.Application на сервере
так же предлагаю попробовать создать папки C:\Windows\SysWOW64\config\systemprofile\Desktop C:\Windows\System32\config\systemprofile\Desktop |
|||
27
hhhh
19.07.16
✎
21:07
|
(21) на сервере тоже работает
|
|||
28
Ivan_495
19.07.16
✎
22:08
|
если на сервере, как excel на просмотр открыть для клиента?
|
|||
29
hhhh
19.07.16
✎
22:11
|
зачем его на просмотр?
|
|||
30
Ivan_495
19.07.16
✎
22:16
|
сформировал отчет, показываю его пользователю
|
|||
31
Ivan_495
20.07.16
✎
09:48
|
(27) запускаю ту же процедуру не сервер com не создается
&НаСервере Процедура Команда1(Команда) Как вам удалось , чтобы работало на сервере? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |