|
Чем можно вычитать html-файл в ТАБЛИЧНЫЙ ДОКУМЕНТ? | ☑ | ||
---|---|---|---|---|
0
Andrey1957
03.12.13
✎
05:11
|
Если в 8.2 попытаться открыть из меню "файл" html-файл, то 1С-ка откроет его в виде СВОЕГО РОДНОГО табличного документа (при работе с открытым файлом становятся доступными все опции меню "Таблица"). Вопрос: Чем 1С открывает html-файл? Решение в лоб:
ТабДок = Новый ТабличныйДокумент; ТабДок.Прочитать(ПутьКФайлу); ///ПутьКФайлу - полный путь к html-файлу НЕ ПРОХОДИТ, выдает ошибку: "Ошибка при выполнении файловой операции". Так чем же сама 1С-ка читает html-файл в табличный документ? Кто-нибудь может подсказать? |
|||
1
Wobland
03.12.13
✎
05:42
|
хотелось бы увидеть результат этой магии
|
|||
2
Лодырь
03.12.13
✎
05:55
|
(0) Простой способ конвертации HTML в ТабличныйДокумент сильно бы облегчил жизнь людям в некоторых случаях. Однако его нет.
Того что ты описываешь - воспроизвести не могу, вероятно слишком сильное колдунство. |
|||
3
zakidonoff
03.12.13
✎
06:12
|
(0) В виде HTML макета он его открывает. А не табличного документа.
|
|||
4
Andrey1957
03.12.13
✎
06:14
|
(2) Элементарно: захожу в меню "файл", нажимаю "открыть", выбираю файл, и он спокойно открывается в виде таблицы с полным доступом пунктов меню "Таблица"! У коллег рядом - тоже все прекрасно работает! Это что: только у нас так 1С работает, а у вас 1С не открывает html-файлы? Причем проверил на разных html-файлах. Все работает безупречно!
|
|||
5
Wobland
03.12.13
✎
06:18
|
(4) это только у вас 1С так работает
|
|||
6
Andrey1957
03.12.13
✎
06:18
|
(3) Хорошо, пусть так, но пункт меню "Таблица" становится доступным, как для табличного документа! И как тогда открыть html-файл в виде html-макета? Пробовал я этот вариант, но 1С открывает html-макет только тот, который уже записан! А просто так созданный и записанный html-макет произвольный html-файл не открывает!
|
|||
7
Andrey1957
03.12.13
✎
06:19
|
(5) Ну почему же? Вот zakidonoff похоже тот же результат получил, только трактовку другую дал.
|
|||
8
zakidonoff
03.12.13
✎
06:24
|
(6) 1С открывает чистый записанный макет, добавляет в него текст с открываемого файла и выводит на экран.
Что не так-то? Тебе что-то конкретно реализовать нужно или ветка из раздела философия? |
|||
9
Andrey1957
03.12.13
✎
06:29
|
(8) 1С не просто добавляет текст, а - в виде табличного документа! Что мне и нужно! Мне нужно получить пореквизитное чтение строк html-файла! При различных преобразования в текст я получаю строки, в которых нет разграничений между реквизитами: сплошная символьная строка и непонятно где заканчивается один реквизит, и где начинается другой.
|
|||
10
Wobland
03.12.13
✎
06:30
|
парсить хочется?
|
|||
11
Wobland
03.12.13
✎
06:30
|
это что-то новое - парсить через ТабДокумент
|
|||
12
Andrey1957
03.12.13
✎
06:33
|
(11) подскажи, как ты это делаешь...
|
|||
13
Wobland
03.12.13
✎
06:33
|
Сунский царь Юань захотел иметь у себя картину. К нему пришли все придворные писцы и встали у трона, держа в руках ритуальные таблички, облизывая кисти и растирая тушь. Ещё столько же стояли за дверью зала. Один писец пришёл с опозданием, поспешно вошёл в зал, взял табличку, но не встал в ряд с другими, а тут же прошёл в свои покои. Царь послал человека посмотреть за ним, и тот увидел, что писец снял одежды и голый сидел, раскинув ноги, на полу.
— Вот настоящий художник! — воскликнул царь. — Ему можно поручить дело. |
|||
14
Wobland
03.12.13
✎
06:35
|
(12) я знаю, что есть слово DOM. сам же когда-то регвыражениями да Новый COMОбъект("HTMLFile") делал
|
|||
15
Лодырь
03.12.13
✎
06:36
|
(9) Можно увидеть скриншот текста "добавленного в виде табличного документа"? Силюсь понять что происходит.
|
|||
16
Wobland
03.12.13
✎
06:37
|
(15) судя по тому, что закидонофф понял автора, мы с тобой слегка недоразвиты ;)
|
|||
17
Andrey1957
03.12.13
✎
06:38
|
(13) Боюсь, что 1С-ка твое ек-лм-н не воспримет.
|
|||
18
Лодырь
03.12.13
✎
06:40
|
(16) Что пишет закидонофф я понимаю, а топикстартера нет. Думаю еще чуть чуть и мы прорвемся.
Вот пример открытого html файла в 1С http://screencast.com/t/E0GUP770Fd Где там ТабличныйДокумент? Ну или чтото похожее хотя бы? |
|||
19
Andrey1957
03.12.13
✎
06:40
|
(15) Пытаюсь понять чем 1С-ка открывает html-файлы, что они открываются в виде табличного документа...
|
|||
20
Лодырь
03.12.13
✎
06:41
|
(19) Выложи скриншот. Пожалуйста.
|
|||
21
Wobland
03.12.13
✎
06:42
|
+(20) просим! просим!
|
|||
22
zakidonoff
03.12.13
✎
06:44
|
(9) Так парсить через макет неудобно и нерационально. Хотя, можно, в общем-то. Обычно это делают через ПолеHTMLДокумента.
Оно имеет все атрибуты DOM. Или через COM, как уже писали. |
|||
23
Wobland
03.12.13
✎
06:51
|
zakidonoff, расскажи, куда тыкнуть мышкой, чтоб у меня хтмл как табдокумент открылся?
|
|||
24
zakidonoff
03.12.13
✎
07:03
|
(23) Макет у него открывается:
https://drive.google.com/file/d/0BywECUWO002pLUQzMVBTaEZPMW8/edit?usp=sharing |
|||
25
Andrey1957
03.12.13
✎
07:03
|
Вот такой результат открытия html-файла из 1С я получаю:
http://yadi.sk/d/EDLIHwBuDhRwF |
|||
26
Andrey1957
03.12.13
✎
07:05
|
(23)Прошу всех неверящих обратить внимание, что над таблицей указано имя открытого файла.
|
|||
27
Индиго
03.12.13
✎
07:07
|
(25)А на каком основании это считается табличным документом?
|
|||
28
Wobland
03.12.13
✎
07:08
|
а где тут табдокумент?
|
|||
29
Wobland
03.12.13
✎
07:08
|
воистину, настоящий художник
|
|||
30
Индиго
03.12.13
✎
07:10
|
(25)
<table> <tr> <td> ня! </td> </tr> </table> в любом количестве сколько надо:-) |
|||
31
Andrey1957
03.12.13
✎
07:10
|
28()Вообще-то я нигде и не утверждал, что открыт ТабДокумент. Я писал конкретно: "1С-ка откроет его в виде СВОЕГО РОДНОГО табличного документа (при работе с открытым файлом становятся доступными все опции меню "Таблица")". По-моему, скрин это подтверждает!
|
|||
32
Wobland
03.12.13
✎
07:11
|
(31) и где там свой родной?
|
|||
33
Andrey1957
03.12.13
✎
07:12
|
(29) замучился бы рисовать... И зачем мне это нужно было бы? Тебе нарисовать еще одну подобную табличку с совершенно другим содержимым? Только время на закачку понадобится... но нарисовать целый экран, поверь я за эти минуты никак не смогу.
|
|||
34
Andrey1957
03.12.13
✎
07:14
|
(32) Да там, уважаемый, там! Потому что все опции меню Таблица доступны, и также, как у родного табличного документа внизу высветились: Редактирование; Текст; Просмотр.
|
|||
35
Лодырь
03.12.13
✎
07:17
|
(34) У родного табличного документа нет таких подписей внизу.
|
|||
36
Wobland
03.12.13
✎
07:20
|
(34) > Редактирование; Текст; Просмотр
явные симптомы ХТМЛ |
|||
37
Andrey1957
03.12.13
✎
07:25
|
(36)Да пусть с симптомами, но открыт файл в виде табличного документа со всеми возможностями меню Таблица! Вопрос: чем это в 1С сделано? Каким механизмом?
|
|||
38
Wobland
03.12.13
✎
07:27
|
(37) да, платформа умеет работать с таблицами ХТМЛ-документа. да, иногда бывают такие документы, которые внешне смахивают на что-то ещё. в 1С это сделано ХТМЛ-редактором
|
|||
39
Andrey1957
03.12.13
✎
07:30
|
(38) И возможности этого ХТМЛ-редактора пользователям недоступны?
|
|||
40
zakidonoff
03.12.13
✎
07:34
|
(39) Сформулируй ВОПРОС в виде конкретной задачи.
|
|||
41
craxx
03.12.13
✎
07:35
|
(0) Ээ... а зачем его Табличным документом?
я бы текстовым, а там парсил |
|||
42
Wobland
03.12.13
✎
07:37
|
(41) парсил я регвыражениями. читал как текст и сильно потел в тех местах таблицы, ячейки которой могут содержать так же таблицы, ячейки которых...
|
|||
43
Andrey1957
03.12.13
✎
07:39
|
(41) craxx, я с этого и начинал. Но при преобразовании в текст (чтении, как текст) я получал сплошные текстовые строки, где реквизиты один от другого никак не отделялись. Как парсить в этих случаях текстовые строки?
|
|||
44
craxx
03.12.13
✎
07:40
|
(42) ну никто не говорил что легко будет))
|
|||
45
Wobland
03.12.13
✎
07:41
|
(43) два пути у тебя уже есть
|
|||
46
craxx
03.12.13
✎
07:41
|
(43) парсить по тегам ХТМЛа ессно
|
|||
47
Wobland
03.12.13
✎
07:41
|
(46) три пути
|
|||
48
Andrey1957
03.12.13
✎
07:42
|
(44) Да не в том дело, что легко или трудно, а в том, что не видно: а как же это вообще можно сделать при тестовом чтении?
|
|||
49
craxx
03.12.13
✎
07:43
|
(48) фукция СтрЗаменить() тебе в помощь
|
|||
50
craxx
03.12.13
✎
07:44
|
+(48) а также Найти() и т.п.
|
|||
51
Wobland
03.12.13
✎
07:46
|
оп! и все таблицы:
HTML=Новый COMОбъект("HTMLFile"); HTML.Open("text/html"); HTML.Write(ф.ПолучитьТекст()); HTMLDocument=HTML.documentElement.document; Table=HTMLDocument.getElementsByTagName("Table"); |
|||
52
Псих
03.12.13
✎
07:46
|
(39) это ни разу не табличный документ, а поле html-документа, инфа 100%
а вообще согласен с (40), нужна конкретная задача на конкретном примере html-страницы. |
|||
53
craxx
03.12.13
✎
07:47
|
(51) в тонком клиенте не проканает
|
|||
54
craxx
03.12.13
✎
07:48
|
+(51) может у него 8.3 на Линуксе))
|
|||
55
Andrey1957
03.12.13
✎
07:48
|
(49-50) И как их применить, если у меня строка при тексовом чтении выходит в виде:
Коннект-15001.08.2012 - 31.08.2012110,1694, которая состоит из 3-х реквизитов Коннект-150 01.08.2012 - 31.08.2012 110,1694 ? |
|||
56
Andrey1957
03.12.13
✎
07:49
|
(51) Спасибо. Попробую. Судя по всему теги в этом случае сохраняются, будет что анализировать.
|
|||
57
Wobland
03.12.13
✎
07:50
|
(55) а где тэги? или ты ты csv через хтмл пытаешься читать?
|
|||
58
Wobland
03.12.13
✎
07:50
|
(54) ну тогда пусть завидует виндовсятникам ;)
|
|||
59
Wobland
03.12.13
✎
07:53
|
или это даже не цсв, а просто набор символов
|
|||
60
Andrey1957
03.12.13
✎
07:53
|
(57)Описанное в (55) я получил по схеме:
ТекстИзХТМЛ = Новый ИзвлечениеТекста(ПутьФайла); ТекстИзХТМЛ.Записать(ПутьФайлаТХТ); //ПутьФайлаТХТ - полный путь к HTML-файлу. ИсходныйТекст = ТекстИзХТМЛ.ПолучитьТекст(); |
|||
61
Andrey1957
03.12.13
✎
07:55
|
в (60) описка: разумеется ПутьФайла - полный путь к HTML-файлу.
|
|||
62
Wobland
03.12.13
✎
07:56
|
(60) текстовый документ будет с тэгами
|
|||
63
Andrey1957
03.12.13
✎
07:58
|
(62) В отладчике я увидел то, что написал в (55). Из-за чего у меня и возникли проблемы. Или тэги и не должны быть видны?
|
|||
64
Wobland
03.12.13
✎
07:59
|
ни разу не видел ИзвлечениеТекста. судя по названию, он как раз предназначен для избавления от тэгов. со всеми вытекающими
|
|||
65
Andrey1957
03.12.13
✎
08:02
|
Вот что я и получил, похоже. И стал искать иные пути. Кстати, Wobland, прости за тупость, но в твоем примере (51) что означает переменная ф? И где указан путь к html-файлу?
|
|||
66
Wobland
03.12.13
✎
08:04
|
ф=Новый ТекстовыйДокумент;
ИмяФайла="D:\tmp\v8_12_112.html"; ф.ИспользуемоеИмяФайла=ИмяФайла; Попытка ф.Прочитать(ИмяФайла); это отладочный код. в чистовике я его откуда-то с тырнета тянул |
|||
67
Andrey1957
03.12.13
✎
08:06
|
Понял. Спасибо. Буду пробовать.
|
|||
68
ifso
03.12.13
✎
12:27
|
(37)
> открыт файл в виде табличного документа со всеми > возможностями меню Таблица Изначально для открытого/созданного HTML-документа в меню Таблица доступно только "Вставить таблицу". Если таблицу вставить (или она уже есть в HTML-документе) и поместить курсор в таблицу, то уже для активной таблицы в меню Таблица будут доступны все пункты. Т.о. чуда "открыт файл в виде табличного документа", увы, не происходит. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |