Имя: Пароль:
1C
1С v8
Парс текста из 1с в html
0 AlohaBoy
 
12.12.19
10:54
Всех приветствую
Возможно ли сделать парс (вставка) текста из ПоляВвода (находится в обычной форме) в ПолеHTMLДокумента.
Элемент html - <input type="text" name="content" id="content"> - то есть обычное поле для ввода.

Пробовал что-то сделать такое, но логично что click не помогает
Документ = ЭлементыФормы.ПолеHTMLДокумента.Документ;    
СТ = "text";    
ЭлементHTMLДокумента = Документ.querySelector("input[type=""text""]");
ЭлементHTMLДокумента.click();  

Необходимо, чтобы после ввода текста (ПолеВводаОкончаниеВводаТекста) он автоматически копировался в поле html, либо копирование во время написания текста (в реальном времени).

Был бы очень благодарен вашей помощи!
1 DrWatson
 
12.12.19
11:00
(0) Чёй это, логично?
У меня есть такое, и работает:
    //В html тексте присутствует специальная невидимая кнопка, которая скрывает картинку
    //Этой кнопке нужно послать событие нажатия
    HTMLКнопка = HTMLДокумент.getElementById("btnPicHide");
    HTMLКнопка.click();
2 AlohaBoy
 
12.12.19
11:02
У меня не кнопка же, а поле ввода текста. Кнопка то стабильно работает без ошибок
3 DrWatson
 
12.12.19
11:08
Открываешь браузер, нажимаешь F12. Начинаешь методом тыка всё изучать.
Находишь там "свойства", среди них видишь input#content. Смотришь что у него есть, видишь полезное свойство value. Открываешь консоль (там же), вводишь content.value - круто, показывает. Вводишь content.value = "Hello" - ещё круче, меняет.
Дальше у меня мысль, наверное, в 1С можно так же
ЭлементHTMLДокумента.value = "Hello";
4 AlohaBoy
 
12.12.19
11:15
Тут всё-таки немного другое, так как value вставит уже поставленный ранее мной текст, а необходимо именно спарсить текст с 1с и вставить в html
5 Fragster
 
гуру
12.12.19
11:16
КуданадовставитьЭлемент.innerHTML = ТвойТекст
6 DrWatson
 
12.12.19
11:18
(4) value разве не вставит текст из 1С в input?
7 AlohaBoy
 
12.12.19
11:19
Он вставит же ранее написанный мною в коде текст, а не тот, который я ввожу при взаимодействии с формой. Или я ошибаюсь?
8 AlohaBoy
 
12.12.19
11:23
Проверил value, да он вставляет тот текст, который я ранее прописал в коде, а при написании текста в 1с ПолеВвода он не копируется на html-элемент
9 DrWatson
 
12.12.19
11:24
Он вставит тот текст, который ты ему напишешь, а откуда ты его возьмешь - это второй вопрос. Ты же собирался использовать ПолеВводаОкончаниеВводаТекста. Разве это не подойдёт для получения нужного текста?
10 AlohaBoy
 
12.12.19
11:31
Подойдёт, тогда необходимо чтобы в value подставлялся тот текст, который будет находится в ПолеВвода после Окончания ввода текста
11 Ник080808
 
12.12.19
11:43
(10) и проблема в чем?) в процедуре после окончания ввода текста вставляешь в хтмль и все)
12 AlohaBoy
 
12.12.19
12:13
Документ = ЭлементыФормы.ПолеHTMLДокумента1.Документ;    
СТ = "text";    
ЭлементHTMLДокумента = Документ.querySelector("input[type=""text""]");
ЭлементHTMLДокумента.value = "";

Вставляется только то, что прописано в value, а не текст введённый с ПоляВвода
13 AlohaBoy
 
12.12.19
12:22
Не совсем понял как это изменить и как это работает - КуданадовставитьЭлемент.innerHTML = ТвойТекст
14 Ник080808
 
12.12.19
12:23
(13) а когда ты заполнять собрался его?
15 AlohaBoy
 
12.12.19
12:28
Мне необходимо чтобы текст вставлялся в html-документ после ввода в ПолеВвода (находящийся в обработчике)
16 Ник080808
 
12.12.19
12:54
(15) ну вот там пиши свой код в обработчике событий
17 DrWatson
 
12.12.19
13:09
(12) ЭлементHTMLДокумента.value = "";
Не понял, как он у тебя после этого что-то вставляет. Судя по коду должно наоборот очищаться.
18 AlohaBoy
 
12.12.19
14:19
Так я и пишу в обработке, пока что ничего не помогает

ЭлементHTMLДокумента.value = "Текст"; Там у меня стоит текст и всё
19 AlohaBoy
 
12.12.19
14:20
Ещё раз обращаюсь за помощью, необходимо, чтобы Текст в 1с из ПоляВвода вставлялся в Определённое поле на HTML-документе
20 AlohaBoy
 
12.12.19
14:20
Текст абсолютно рандомный и заданный заранее value тут конечно не помогает
21 sitex
 
naïve
12.12.19
14:21
(18) Если честно я тебя вообще не понял. ты хочешь ЭлементHTMLДокумента.value значение поменять или  и value поменять и еще что то в html  добавить ?
22 d4rkmesa
 
12.12.19
14:24
(0)
Процедура ОбработатьЗавершениеЗагрузки()
    ПолеHTML = ЭлементыФормы.ПолеHTML;
    Query = ПолеHTML.Документ.getElementById("query");     
    Если Query <> Неопределено И ЗначениеЗаполнено(КонтрагентИНН) Тогда        
        Query.Value = КонтрагентИНН;
    Иначе
        Возврат        
    КонецЕсли;
        кнПоиск = ПолеHTML.Документ.getElementById("btnSearch");
    кнПоиск.click();
    
    ПодключитьОбработчикОжидания("ПроверитьРезультат", 2, Ложь);    
КонецПроцедуры
23 sitex
 
naïve
12.12.19
14:26
а где ОбновитьОтображениеДанных?
24 d4rkmesa
 
12.12.19
14:29
Нетути =)
25 sitex
 
naïve
12.12.19
14:30
(24) Не тебе вопрос.
26 AlohaBoy
 
12.12.19
14:51
Отвечаю.
Имеется небольшое поле для ввода текста написанное на html. Так же имеется ПолеВвода1 на форме в 1с.
Что необходимо? Чтобы текст вводимый в ПолеВвода1 (1с) после ОкончаниеВводаТекста переписывался в поле (для ввода текста) html-документа
27 AlohaBoy
 
12.12.19
14:55
ЭлементHTMLДокумента.value = "Текст"; - данное действие работает, но вставляет в поле на html-документе лишь заданный текст.

А необходимо считывание с ПолеВвода1 на форме в 1с и вставка в поле-ввода на html-документе
28 sitex
 
naïve
12.12.19
14:55
(26) Ответ (22)
29 sitex
 
naïve
12.12.19
14:57
(27) я так понимаю что ты хочешь вводить в поле 1с и сразу же чтоб появлялось в html поле.
30 AlohaBoy
 
12.12.19
14:59
(29) Да, верно
31 sitex
 
naïve
12.12.19
15:03
(30) Работать с ОкончаниеВводаТекста, текст введены появиться когда ты переключишься на другой элемент формы или enter нажмешь.
32 sitex
 
naïve
12.12.19
15:05
(30) А вот с ИзменениеТекстаРедактирования, вроде должно получиться.
33 AlohaBoy
 
12.12.19
15:11
(22) Попробовал данный код, и в ИзменениеТекстаРедактирования и в ОкончаниеВводаТекста, абсолютно ничего не происходит
34 sitex
 
naïve
12.12.19
15:13
(33) Все норм там . Просто надо отображение данных обновить. Напиши хотя бы УФ или ОФ ?
35 AlohaBoy
 
12.12.19
15:17
ОФ
36 sitex
 
naïve
12.12.19
15:41
(33) Это для УФ.  Для ОФ АвтоПодборТекста.
37 sitex
 
naïve
12.12.19
15:42
И Этаформа.Обновить();
38 Ник080808
 
12.12.19
15:43
он похоже не понимает как ему получить вводимое значение
39 sitex
 
naïve
12.12.19
15:43
(38) Да.
40 Temai
 
12.12.19
16:10
(39) У поля куда ты вводишь текст в 1с поищи событие для УФ оно называется "ИзменениеТекстаРедактирования" в процедура есть параметры один из них - Текст, тот который ты ввел в поле, как то так
41 sitex
 
naïve
12.12.19
16:14
(40) Это ты мне пиши , я то это знаю. У него ОФ нет там --ИзменениеТекстаРедактирования
42 sitex
 
naïve
12.12.19
16:14
+ (41) опечатака ---> "не мне".
43 Temai
 
12.12.19
16:26
(0) в ОФ оно называется АвтоПодборТекста, и там не надо нажимать Enter
44 AlohaBoy
 
13.12.19
10:41
(43) Проблема то в том, что текст все равно не вставляется) То что я выбираю различные события, ничего не меняется.
Необходима сама процедура, которая полноценно заработает
45 AlohaBoy
 
13.12.19
12:50
Пока что рабочее решение ещё не нашлось, всё мои попытки что-то сделать - ничего не изменили
46 sitex
 
naïve
13.12.19
12:51
(45)Код скинь покажи
47 AlohaBoy
 
13.12.19
13:23
Разобрался! Всё оказалось намного проще, чем казалось!
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn