Имя: Пароль:
1C
1С v8
Программноеоткрытие HTML документа
0 Anarki
 
28.02.15
10:59
Есть некая HTML страница, которую мне нужно отпарсить и запихнуть в 1с. Проблема в том, что есть например строка такого вида

<b><span style=

'DISPLAY:NONE'>Dona</span>Б<span
style
='Display: none;

displаy:none;display:inline'>рюки</span><span
style
='DISPLAY
:NONE;

DISPLАY
:
BLOCK;DISPLAY:INLINE; DISРLAY:
NONE'><span
style=
'color:#F0F0F0'>
</span>Dona</span><span
style=

'display:inline;
Display: none;

displаy:block'>и </span><span style=

'DISPLAY: NONE;

DISPLАY:NONE;DISPLAY:INLINE'>tt</span>o Casua<span style=

'display:inline;  DispLay:

nоne;Display:inline;  DispLay:

none'>03</span><span
style='display:none'>tto C</span>l 355-JC-0<span style=

'Display
:none;

displаy
:
block;display:inline; disрlay:
none'>36</span><span style='display
:none;

displаy
:
block;display:inline; disрlay:
none;DISPLAY:INLINE;  DISPLAY:

NONE'>6</span></b>

Которая в браузере выглядит вот так
Брюки Donatto Casual 355-JC-036
Что бы мне такую строку получить при распарсивании в 1с нужно игнорировать все, что находится в тегах с атрибутом <span style='display
:none;>
Но получается так только если я сначала открою страницу в 1ске и пересохраню ее, она сохраняется с другой кодировкой, там изменяется исходный код страницы. Можно ли это процесс программно воспроизвести?
1 Asmody
 
28.02.15
11:38
(0) копай в сторону ЧтениеHTML, ДокументHTML, ЗаписьHTML и т.д.
2 Anarki
 
28.02.15
11:56
Все там перекопал.
3 Anarki
 
28.02.15
12:15
Получилось вот так
        ТекстовыйДокумент = Новый ТекстовыйДокумент;
        ТекстСтраницы = ТабличныйДокумент.ПолучитьТекст();
        ТекстСтраницы = СтрЗаменить(ТекстСтраницы,"windows-1251","UTF-8");
        ТекстовыйДокумент.УстановитьТекст(ТекстСтраницы);
        ТекстСтраницы = ТекстовыйДокумент.ПолучитьТекст();
        ТекстовыйДокумент.Записать(ПолноеИмяВременногоФайла);

Но глюк в том что ТабличныйДокумент.ПолучитьТекст() не срабатывает, то есть в ТекстСтраницы пустое значение залетает, НО если зайти отладчиком
и перед ТекстСтраницы = ТабличныйДокумент.ПолучитьТекст(); посмотреть что внутри ТабличныйДокумент.ПолучитьТекст() через шифт ф9, то тогда все ок. Че за хрень.
4 Anarki
 
28.02.15
12:48
Получается она просто не успевает, нужно все делать в событии ДокументСформирован(Элемент)