|   |   | 
| 
 | 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 | 
        ок, ща посмотрю     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |