|
ActiveX в управляемых формах | ☑ | ||
---|---|---|---|---|
0
vSobolev
18.10.12
✎
16:14
|
Еще раз об ActiveX на управляемых формах. По Инету гуляет замечательная тема как выложить на УФ WMP (http://devtrainingforum.v8.1c.ru/forum/getfile.jsp?name=1Cv8_WMP.cf). У меня схожая задача. Надо на управляемую форму выложить таблицу из Excel. Делаю все как в вышеупомянутом примере (естественно, CLSID подменяю, пробую через Excel и через SpadSheet). Но в обоих случаях натыкаюсь на то, что в ActivX объекте должно быть свойство ContentDocument (тип COMОбъект), и для воспроизведения в ActivX какой-либо информации, необходимо работать со свойствами этого COMОбъекта (FileOpen, URL или XMLData). Но у меня в обоих ActivX объектах свойство ContentDocument = НеОпределено.
Вопрос: Как вывести информацию в этих ActivX объектах? Привожу код как я работаю с формой: Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) SpeadSheet = "<HTML> |<OBJECT id=SpeadSheet classid=CLSID:0002E559-0000-0000-C000-000000000046 width=""100"" height=""100""> |</OBJECT> |</HTML>"; Excel = "<HTML> |<OBJECT id=Excel classid=CLSID:00024500-0000-0000-C000-000000000046 width=""100"" height=""100""> |</OBJECT> |</HTML>"; КонецПроцедуры // Воспроизвести в окне данные &НаКлиенте Процедура Команда1(Команда) Элемент = Элементы.SpeadSheet.Документ.getElementById("SpeadSheet"); // Элемент.ContentDocument = НеОпределено Элемент = Элементы.Excel.Документ.getElementById("Excel"); // Элемент.ContentDocument = НеОпределено КонецПроцедуры У кого есть опыт работы с этими компонентами? Буду благодарен за любые советы. |
|||
1
aleks-id
18.10.12
✎
16:16
|
а зачем эти потуги в процедуре на сервере?
|
|||
2
vSobolev
18.10.12
✎
16:20
|
МОжно и не на сервере, если есть другие варианты прописать код ПриСоздании
|
|||
3
aleks-id
18.10.12
✎
16:31
|
(2) откуда classid брал?
|
|||
4
vSobolev
18.10.12
✎
16:32
|
Из регистра
|
|||
5
drcrasher
18.10.12
✎
16:33
|
(3) классид лежит в реестре
(0) может что-то с ид-ами напутал? |
|||
6
olegves
18.10.12
✎
16:33
|
(0) а не проще на форме УФ поместить табличный документ, а в него грузить из файла mxl?
|
|||
7
vSobolev
18.10.12
✎
16:38
|
ID - не более, чем идентификатор класса. С CLSID можно было напутать, но я смотрел по инету, что не я один через такие CLSID вызываю классы. Для SpeadSheet даже примеры кода видел. Но не встречал ни одной работающей обработки. Если у кага есть - поделитесь (обработкой или ссылкой на нее).
|
|||
8
vSobolev
18.10.12
✎
16:39
|
а не проще на форме УФ поместить табличный документ, а в него грузить из файла mxl?
Для меня было бы проще. Можно просто Excel открыть, но хотят этот Excel видеть в окне 1С. |
|||
9
drcrasher
18.10.12
✎
16:42
|
(8) ну я кагбэ открывал и ворд и эксель в 1Се как приложения. Но это на толстеньком было.
Ща попробую скрин найти |
|||
10
AaNnDdRrEeYy
18.10.12
✎
16:47
|
создай текстовый документ кинь в него этот текст
<HTML> <OBJECT id=Excel classid=CLSID:00024500-0000-0000-C000-000000000046 width=""100"" height=""100""> </OBJECT> </HTML> , измени расширение на html и открой файл браузером. у меня нифига не вывилось, это точно у тебя работает без 1С? |
|||
11
vSobolev
18.10.12
✎
16:57
|
(10) Пусто. Но еще не один файл Экселем не открыт, может просто пока нечего показывать? Я просто первый раз этим занимаюсь, даже не знаю как сам объект без данных должен выглядеть.
SpeadSheet на форме 1С отображается рамкой с крестиком, но сейчас попробовал этот объект записать в файл и файл открыть IE - тоже пустая страница. |
|||
12
drcrasher
18.10.12
✎
17:00
|
(11) а версия офиса какая?
|
|||
13
vSobolev
18.10.12
✎
17:01
|
2010
|
|||
14
aleks-id
18.10.12
✎
17:31
|
у меня с 2003 офисом получилось открыть форму с экселем на ней с такой строкой:
"<HTML><OBJECT ID=""Spreadsheet1"" WIDTH=""100%"" HEIGHT=""100%"" CLASSID=""CLSID:0002E541-0000-0000-C000-000000000046""></OBJECT></HTML>"; |
|||
15
aleks-id
18.10.12
✎
17:34
|
получить правильный класс для своего компа поможет вот эта прога http://download.cnet.com/Microsoft-ActiveX-Control-Pad/3000-2070_4-127950.html
|
|||
16
drcrasher
18.10.12
✎
17:36
|
http://content.screencast.com/users/drcrasher/folders/Snagit/media/a3bd5f69-6125-4d79-9197-4cbb5c813fd9/03.30.2012-15.30.53.png - типа такого хочешь?
CLSID Excel = 00020812-0000-0000-С000-000000000046 |
|||
17
vSobolev
18.10.12
✎
17:43
|
Да. КРоме CLSID еще что-то надо менять в моем коде? Как файл открыть компоненой ActiveX?
|
|||
18
vSobolev
18.10.12
✎
17:44
|
А как ссылку ставить, кому я отвечаю?
|
|||
19
aleks-id
18.10.12
✎
17:51
|
файл компонентой не открыть. можно втащить туда данные запросом
|
|||
20
aleks-id
18.10.12
✎
17:53
|
надо бы в базу знаний потом темку.
|
|||
21
aleks-id
18.10.12
✎
17:54
|
(16) у тебя обычные формы а не управляемые
|
|||
22
vSobolev
18.10.12
✎
17:54
|
(19)Мне надо из Excel-я данные отобразить в этой компоненте. И как их туда передать? Куда и в каком формате записывать?
|
|||
23
aleks-id
18.10.12
✎
19:07
|
(22) я попробовал через CSS. но до конца не разобрался как делать
|
|||
24
vSobolev
19.10.12
✎
10:24
|
(23) За прогу спасибо. Я продолжаю с этим ковыряться, вопрос остается открытым. Если какой-нибудь WEB сайт сохранить в файл, то достаточно в свойство DOCUMENT.URL записать полное имя файла. Но Excel не умеет выгружать данные в формате HTML. Если еще какие соображения появятся - поделись.
|
|||
25
vSobolev
19.10.12
✎
13:44
|
(16)Можешь выложить обработку, которая на скриншоте?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |