|
v7: HTML JS 1c 7.7 | ☑ | ||
---|---|---|---|---|
0
AleksL12
27.02.16
✎
16:51
|
Добрый день.
Ребят , может есть спецы по этой теме. помогите пожалуйста. Через текст создаю файл хтмл, Запускаю его: Браузер.Navigate("file:///"+ИмяШТМЛФайла); в нем яваскрипт отрабатывает , данные вывожу в хтмле на окно, все нормально вроде. А вот как забрать их в 1с 7.7 не знаю. Просто ума не приложу. Пытаюсь Браузер.Document.getElementsByTagName("div") , то бишь с тега div забрать, я его именно туда вывожу. но там даже длина (то бишь Table.length) = 0, то есть пустым считает. Еще раз повторюсь, что не чистый скрипт. MSScriptControl.ScriptControl не использую А именно в хтмле сидит. На клиентской js не умеет в текстфайлы сохранять. Так бы сохранял в каталог файл и имел данные оттуда. Тысяча извенений за сумбурность. Так как с темой знаком поверхностно. |
|||
4
AleksL12
27.02.16
✎
17:16
|
маплю яндекс карты, показываю точки на них. Считаю маршрут, расчитываю расстояние. и хочу забрать например это расстояние в 1с .
|
|||
5
Aleksey
27.02.16
✎
17:47
|
||||
6
Garykom
гуру
27.02.16
✎
17:49
|
||||
7
AleksL12
27.02.16
✎
17:59
|
(5) Я в курсе про готовое решение. у меня стартмани нет скачать, иначе б сам не бился об проблему эту. У кого есть возможность скачать, я только за, если подмогнут.
Да я все ж сделал, осталось обратно забрать в 1с ... |
|||
8
AleksL12
27.02.16
✎
18:00
|
(6) Это читал уже, там тема обрывается,как раз на самом интересном месте. (или просто без регистрации не дает смотреть дальше 4 страницы)
|
|||
9
Garykom
гуру
27.02.16
✎
18:12
|
(8) так напиши на JS функции для забирания то?
которые нужный результат будут возвращать как понял они там по этому же пути и пошли, свой объект-js наваяли |
|||
10
BormanMic
27.02.16
✎
18:14
|
Так getElementsByTagName коллекцию возвращает. Обойди её.
Или получай getelementbyid. Оно вернет единственное значение. |
|||
11
AleksL12
27.02.16
✎
18:41
|
согласен Браузер.Document.getElementsByTagName("div") коллекцию возвращает
Но ее не обойти так как длина у ней 0 проверял по Table=Браузер.Document.getElementsByTagName("div"); dlina=Table.length; возвращает 0 Или я что то не так понимаю? какие методы можно использовать для обхода коллекции? есть живые примеры шоб прям вернули по тэгу и обошли и шоб все это в 1с 7.7? где то писали,что каждый элемент коллекции в случае с 1с 7.7 надо явно задавать, но вот мне б примерчик... |
|||
12
AleksL12
27.02.16
✎
18:49
|
(9) Дык я из явы браузеру возвращаю её
document.getElementById(""send1"").innerHTML = moveList; return send1; дальше уже можно, просто в хтмуле в див засунутьи показать пользователю: <div id=""send1""/> а вот как в 1с забрать... |
|||
13
AleksL12
27.02.16
✎
18:56
|
(10) GetElementByID не отрабатывает.
Вернее отрабатывает, но со странной ошибкой: Table=Браузер.Document.getElementById("send1"); {C:\ЯНДЕКСМАП.ERT(435)}: Плохой тип переменной |
|||
14
BormanMic
27.02.16
✎
18:59
|
А почему так много ковычек? id=""send1"" Может в этом проблема?
|
|||
15
AleksL12
27.02.16
✎
19:02
|
(14) нет не в этом, здесь все нормально
В хтмуле все ок. И этот тег ПОКАЗЫВАЕТ send1 мою. Это так текст заполняется шоб с расширением хтмулевым записать потом. Если одинарные кавычеи, то 1с не поймет. |
|||
16
BormanMic
27.02.16
✎
19:14
|
хз тогда что это. Table в этот момент ещё не определен? может зарезервированное слово. с 7.7 давно не работал.
в 8-ке это так HTMLДокумент = Элементы.ПолеHTMLДокумента.Документ; Параметр = HTMLДокумент.GetElementById(ПредыдущийРаздел); Параметр.innerHTML = ТекРазделHTML; и СписокОбластей = Элементы.ПолеHTMLДокумента.Документ.getElementsByTagName("*"); Для Каждого Область Из СписокОбластей Цикл Если Область.id <> "" Тогда ТекID = НайтиПараметрПоID(Область.id); Если ТекID тогда Параметр = ДокHTML.getElementByid(Область.id); Если Параметр <> Неопределено Тогда Область.innerHTML = Параметр.innerHTML; КонецЕсли; КонецЕсли; КонецЕсли; r = 1; КонецЦикла; |
|||
17
BormanMic
27.02.16
✎
19:17
|
+(16) Попробуй вообще без кавычек. У меня в 8ке
<DIV id=Diagnosis> HTMLДокумент.GetElementById("Diagnosis") нормально отрабатывается |
|||
18
AleksL12
27.02.16
✎
19:19
|
В 8 я сам пробовал. там не надо явно задавать. Там все ок. в 1с 7.7 по другому
|
|||
19
AleksL12
27.02.16
✎
20:09
|
апну
|
|||
20
Garykom
гуру
27.02.16
✎
20:44
|
||||
21
Garykom
гуру
27.02.16
✎
20:47
|
(20)+ http://vbmhwb.sourceforge.net/
но как там насчет поддержки версии html и прочих js не в курсе, оно слегка древнее |
|||
22
AleksL12
27.02.16
✎
21:56
|
не ,не, я тут еле разобрался , не уводи.
Буду апать раз в 3 часа , пока не придет Ёпрст или ДенисЧ и не укажет как ТОЧНО вернуть, теми средствами что есть.))) |
|||
23
Garykom
гуру
27.02.16
✎
22:07
|
(22) если глянуть комменты к (5) то там из приведенного кода можно понять интересную вещь
что не 1С из ie данные тягает, а наоборот ie js'ом данные в 1С засовывает по COM "Object1C.Msg(list);" |
|||
24
AleksL12
28.02.16
✎
13:06
|
апаю
|
|||
25
ADirks
29.02.16
✎
08:28
|
вот есть такой примерчик: https://yadi.sk/d/xLalq-ZfphWLf
он правда не работает :) чё-то там у них в АПИ поменялось похоже. Но как организовать обратную связь вполне понятно. См. Object1C, initObject1C() |
|||
26
AleksL12
29.02.16
✎
10:30
|
ок, ща посмотрю
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |