|
УТ 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.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший