Имя: Пароль:
1C
 
Работа с HTML полем, запустить скрипты страницы как?
0 Варвар
 
02.02.10
09:52
Есть HTML поле в 1С, соответственно можно получить доступ к элементам HTML страницы.
А как запустить функцию java scripts которая есть на странице?
1 Hipernate
 
02.02.10
10:04
Попробуй переформулировать вопрос, приходится много додумывать на какой странице, для чего.. (Форма, табличное поле или еще что?)
2 asady
 
02.02.10
10:05
тупо

ЭлементыФормы.ТвоёПолеHTMLДокумента.Document.MyFunction();

сработает?
3 Варвар
 
02.02.10
10:11
(2) так нет.
4 Варвар
 
02.02.10
10:11
(1) Поле HTML документа на форме.
5 Варвар
 
02.02.10
11:24
вообще где бы почитать про взаимодействи с IE по OLE.
Нагуглить не получилось.
6 cleaner
 
02.02.10
11:32
Пример из 8.2 приведу:

   ДокументHTML = Элементы.ПолеHTMLДокумента.Документ;
   Куб = ДокументHTML.getElementById("OLAP");
   Если Куб = Неопределено Тогда
       Сообщить("Не найден объект компоненты!");
       Возврат;
   КонецЕсли;

getElementById - функция javascript, значит таким образом вызывать можно.
7 Варвар
 
02.02.10
11:40
(6) странно, у меня так не получилось. Сейчас еще потренируюсь.
8 cleaner
 
02.02.10
11:41
кхм. тогда код HTML еще покажу

<HTML>
<head>
</head>
<body>
   <OBJECT ID="OLAP" classid="clsid:EC44F215-054A-4682-BF47-B7B62AABC4A6" CODEBASE = "ActiveFormProj1.CAB"
        <!--Загрузка компоненты произойдет из файла ActiveFormProj1.CAB, -->
        <!--находящегося в каталоге с HTML-страницей-->
        width="100%" height="100%"
   </OBJECT>
</body>
</HTML>
9 Варвар
 
02.02.10
11:45
Так, getElementById таки работает, хотя до этого пытался, возвращало мне Неопределено. Даже догадуюсь где я лопухнулся :))
Правда getElementById - это функция самого java script, свою функцию описаную в <SCRIPT> вызвать не получается, говорит что не определен данный метод.
Буду пытаться мудрить както по другому с событиями :))
10 Варвар
 
02.02.10
11:48
инетерсно, есть идеи как такое можно через OLE сделать? :)
var obj = new MyObject();
11 cleaner
 
02.02.10
12:04
А что тебе нужно-то?

Куб = ДокументHTML.getElementById("OLAP");

- получает доступ к элементу страницы, потом с ним работай как с объектом
12 cleaner
 
02.02.10
12:05
я после этого использую такой код, и все ОК

   Куб.AddDimension("Измерение1","Измерение 1",101,"");
   Куб.AddDimension("Измерение2","Измерение 2",50,"Измерение1");
   Куб.AddDimension("Измерение3","Измерение 3",50,"");
   Куб.AddMeasure("ctSumma", "ctSumma", "ctSumma","");
   Куб.AddMeasure("ctCount", "ctCount", "ctCount","");
   Куб.AddMeasure("ctAverage", "ctAverage", "ctAverage","");
13 cleaner
 
02.02.10
12:07
Кстати, Элементы.ПолеHTMLДокумента.Документ сам по себе имеет тип ВнешнийОбъект или COMОбъект, и имеет все те свойства и методы, которыми обладает объект (в 8.2, конечно, в 8.1 не знаю какие типы)
14 Варвар
 
02.02.10
12:09
(13) я пытаюсь с гугльмапсом работать, и создавать объекты описаные в его API
Как то GLatLng(). Щас еще буду тренироваться :))
Про COMОбъект - в курсе, в отладчике смотрел :))
Работаю с 8.2
15 Fragster
 
гуру
02.02.10
12:12
Документ.eval("alert('Пре вед!')") работает?
16 cleaner
 
02.02.10
12:14
(14) так запросто ведь. Гугл мапс - это ведь ActiveX/COM? Размещаешь его в html, даешь ID, находишь по ID, и все, работай с ним
17 cleaner
 
02.02.10
12:16
глянь http://infostart.ru/public/60781/ и http://infostart.ru/public/61064/, сам недавно с этим разбирался, помогло
18 Fragster
 
гуру
02.02.10
12:17
(16) нет
19 Варвар
 
02.02.10
12:19
(15) Элементы.СтрокаХТМЛ.Документ.eval("")    {(1)}: Метод объекта не обнаружен (eval)    
(17) посмотрю, спасибо.
20 Варвар
 
02.02.10
12:35
(16) гуглмапс это API для java scripts, есть для флеша и для стационарных кусков карты. Както так :))
21 Варвар
 
02.02.10
13:05
посмотрел разработки на инфостарте, там именно с созданием activex компонент вроде делается. Если б я еще умел это делать :))
Есть еще одна без activex, вот и я примерно так хочу.
Не знаю получится ли :((
22 Варвар
 
02.02.10
13:49
так, как обойтись без создания объекта из 1С вроде как придумал.
Но вот как вызвать функцию описаную в <SCRIPT></SCRIPT> пока идей нет.
Была повесить на какое нибудь событие, но вот на какое, чтоб оно отрабатывалось без участвия пользователя в браузере?
23 AquaKosh
 
02.02.10
14:23
(22) Попробуй так: ЭлементыФормы.ПолеHTMLДокумента.Документ.parentWindow.eval("myfunction()");
24 Варвар
 
02.02.10
14:26
(23) о, а так работает! Сенкс, буду пробовать так
25 AquaKosh
 
02.02.10
14:28
(24) а то! ;)
26 Варвар
 
02.02.10
16:51
в общем шота получилось, будем дальше работать :))
http://infostart.ru/public/65101/
27 12литровпивавчас
 
08.05.10
05:37
34769010499406547913933936355692
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс