Имя: Пароль:
1C
1С v8
Поле HTML документа
,
0 Oz11
 
15.09.11
17:25
Можно ли из поля html документа, которое находится на форме, вытянуть текст и запихать его в поле ввода типа неограниченная строка?
1 Oz11
 
15.09.11
17:26
неверно поставил вопрос. как это можно сделать? вот вопрос.
2 Jstunner
 
15.09.11
17:26
не возражаю
3 Jstunner
 
15.09.11
17:27
(1)
ПолеHTMLДокумента.ПолучитьТекст (HTMLDocumentField.GetText)
ПолеHTMLДокумента (HTMLDocumentField)
ПолучитьТекст (GetText)
Синтаксис:

ПолучитьТекст()
Возвращаемое значение:

Тип: Строка.
Описание:

Получает текст HTML-документа.

Доступность:

Толстый клиент.
4 Oz11
 
15.09.11
17:29
этот вариант - первое что пришло в голову. метод возвращает строку в виде
<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.7601.17514"></HEAD>
<BODY>
<BLOCKQUOTE style="MARGIN-RIGHT: 0px" dir=ltr>
<BLOCKQUOTE style="MARGIN-RIGHT: 0px" dir=ltr>
<BLOCKQUOTE style="MARGIN-RIGHT: 0px" dir=ltr>
<BLOCKQUOTE style="MARGIN-RIGHT: 0px" dir=ltr>
<BLOCKQUOTE style="MARGIN-RIGHT: 0px" dir=ltr>
<BLOCKQUOTE style="MARGIN-RIGHT: 0px" dir=ltr>
<P>Запрос на счет дистрибьютора</P></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE>
<P>Уважаемый&nbsp;дистрибьютор,&nbsp;фирма&nbsp;ТОВ "Саміт Моторз Україна" в лице директора Міяке Рюсуке просит&nbsp;Вас выслать счет на оплату следующего автомобиля:</P>
<P>
<TABLE style="TEXT-ALIGN: left; WIDTH: 100%" border=1 cellSpacing=0 borderColor=#000000 cellPadding=0>
<TBODY>
<TR>
<TD>Номенклатура</TD>
<TD>СерияНоменклатуры</TD>
<TD>СМУ_ЦветКузова</TD>
<TD>СМУ_ЦветСалона</TD></TR>
<TR>
<TD>Toyota Land Cruiser 150 4 АТ VX</TD>
<TD>JTEBU3FJ705015866</TD>
<TD>Чорний</TD>
<TD>Бежевий</TD></TR></TBODY></TABLE></P></BODY></HTML>
а нужно получить только текст.
5 Asmody
 
15.09.11
17:34
можно еще более интересно сделать — можно само поле в режим редактирования переключить
6 oleg_km
 
15.09.11
17:38
(4)

А что применительно к HTML подразумевается под термином текст? Выкинуть все тэги? А будет ли читабельным в общем слуае такой "текст"?
7 Oz11
 
15.09.11
17:41
решение вроде нашел: ЭлементыФормы.ПолеHTMLДокумента1.Документ.Body.innerText
но теперь другой вопрос. поле хтмл содержало таблицу, при вытягивании текста естественно получилась каша, как говорил гражданин (6). как привести все это к нормальному виду?
8 Scooter
 
15.09.11
17:47
(7)получить таблицу по ид и перенести её в ТвоюТаблицу
9 Oz11
 
15.09.11
18:08
с таблицей кое как разобрался, просто пишу все в одну строчку.  тут другая проблемка. при проделывании всей этой операции поле ввода остается пустым. причем если пройтись отладчиком - все подтягивает, а вот в поле не отображается. более того если поставить точку останова и пройтись отладкой через ф10, прийдя таким образом к конечному результату - поле заполнено как нужно. в чем проблема? может нужно еще как-то дополнительно обновлять форму?
10 qwerty09
 
15.09.11
18:19
(9) код покажи
11 Oz11
 
15.09.11
18:22
Событие = Документы.Событие.СоздатьДокумент();
   ФормаСобытия = Событие.ПолучитьФорму();
   ФормаСобытия.Открыть();
   Событие.ВидСобытия = Перечисления.ВидыСобытий.ЭлектронноеПисьмо;
   Событие.ГруппаСобытия = Справочники.ГруппыСобытий.ШаблонТекста;

   Если СодержаниеСобытия = "Запрос на счет дистрибьютора" Тогда
       ЗапросНаСчет = Справочники.СМУ_Авто_ПечатныеФормы.НайтиПоНаименованию("Запрос на счет дистрибьютора");
       Если НЕ ЗапросНаСчет = Справочники.СМУ_Авто_ПечатныеФормы.ПустаяСсылка() Тогда
           Форма = ЗапросНаСчет.ПолучитьФорму();
           Форма.ДокументПример = ЭлементыФормы.ТаблицаДоговоров.ТекущаяСтрока.Ссылка;
           Форма.ЭлементыФормы.ПросмотрПримера.УстановитьТекст(СМУ_Авто_ОбщегоНазначения.ПечатьДокументаИзКонструктора(Форма.ДокументПример, ЗапросНаСчет, Истина));
           //Событие.СодержаниеСобытия = Форма.ЭлементыФормы.ПросмотрПримера.ПолучитьТекст();
           Событие.СодержаниеСобытия = Форма.ЭлементыФормы.ПросмотрПримера.Документ.Body.innerText;

       КонецЕсли;
КонецЕсли;
12 Oz11
 
15.09.11
18:24
это код создания и заполнения документа. в один из его реквизитов СодержаниеСобытия (неограниченная строка) и пишется текст из хтмл поля.
13 qwerty09
 
15.09.11
18:35
(12) если реквизиту СодержаниеСобытия таки присваевается значение, но на форме не видишь, то тут вариантов два - либо нет связи данных с элементом формы, либо где то дальше ты очищаешь это поле
14 Oz11
 
15.09.11
18:38
(13) а как объяснить тот факт что после прохождения отладчиком все появляется?
15 Oz11
 
15.09.11
18:39
связь есть полюбому, а вот очищение сейчас проверю, хотя вопрос с отладчиком вроде показывает что очищения нет.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.