Имя: Пароль:
1C
1С v8
УТ 10.3 ПолеHTMLДокумента в письме. Как поместить таблицу в ТЗ ?
0 Румата
 
12.07.18
08:56
Доброго времени суток. С сайта на почту приходят заказы покупателей. Почту принимает встроенный почтовый клиент в УТ 10.3. Мне надо чтобы при нажатии на кнопку в письме автоматически создавался заказ покупателя.
Синхронизация по кодам номенклатуры с сайтом конечно же есть. Проблема у меня заключается в том, что в письме таблица, с колонками "Н/П", "Код номенклатуры", "Наименование", "Цена", "Цена со скидкой", "Сумма".

Я при нажатии на кнопку работаю с :
ЭлементыФормы.ПолеHTMLДокумента.Документ.activeElement.outerText

В этом параметре находится весь текст письма. Я функцией разбираю все строки письма и помещаю их в массив, а потом из элементов массива пытаюсь сделать заказ.

Таблица в письме видна, а у меня получается так, что колонки между собой разделены пробелом и я не могу понять где заканчивается одна колонка и начинается другая, т.к. пробелы есть и в наименовании товара. Может я не тот параметр ПолеHTMLДокумента использую ? Первый раз столкнулся с этим. Подскажите куда копать ? )
1 shadow_sw
 
12.07.18
09:03
а передать его в excel, к примеру?
2 Румата
 
12.07.18
09:12
(shadow_sw) Наверно вариант, если проще ничего не найду )
3 Румата
 
12.07.18
09:19
Вот ещё нашел метод :
ЭлементыФормы.ПолеHTMLДокумента.получитьТекст()

Там примерно такой текст выходит :

<TD style="BORDER-BOTTOM: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; PADDING-BOTTOM: 6px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 6px; WIDTH: 250px; PADDING-RIGHT: 6px; FONT-FAMILY: arial; BORDER-TOP: #e0e0e0 1px solid; BORDER-RIGHT: #e0e0e0 1px solid; PADDING-TOP: 6px">1 </TD>
<TD style="BORDER-BOTTOM: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; PADDING-BOTTOM: 6px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 6px; WIDTH: 250px; PADDING-RIGHT: 6px; FONT-FAMILY: arial; BORDER-TOP: #e0e0e0 1px solid; BORDER-RIGHT: #e0e0e0 1px solid; PADDING-TOP: 6px">00000000372 </TD>

00000000372 - Код номенклатуры
4 Румата
 
12.07.18
09:21
Думаю можно поискать тэг  </TD> чтобы разложить весь этот текст в массив. Всем спасибо, буду пробовать. Если у кого-нибудь ещё есть мысли - пишите пожалуйста, буду анализировать как лучше )
5 Малыш Джон
 
12.07.18
09:25
(0) >>т.к. пробелы есть и в наименовании товара

ну из выше приведенного списка только у номенклатуры и могут быть пробелы. все остальные колонки ведь однозначно идентифицируются? слева - номер, код; справа - цена, сумма; а все остальное - номенклатура)
6 DrShad
 
12.07.18
09:45
нужно учиться работать с html
можно получить всю таблицу и обходом подчиненных узлов перебрать как строки так и колонки
7 Остап Сулейманович
 
12.07.18
09:51
(6) Оно стсуко не каноническое. Все душевные порывы затолкать его в DOM обламываются о непарные теги типа <br>, <link> и тому подобное. Можно написать свой парсер под 1С или заюзать сторонние. Но ИМХО более правильно было бы на стороне сайта вместе с HTML формировать XML с чистыми данными. Или хотя бы CSV.