Как настроить ширину колонок при формировании таблицы в HTML для отправки в письме

1. user1299321 02.10.24 09:42 Сейчас в теме
Необходимо сформировать html письмо для отправки на e-mail.В нем нужно разместить таблицу с динамическими колонками (основа таблица как в документе установка цен номенклатуры). Сформировала html код, но упорно не получается настроить ширину колонок. какой бы width я не указывала в тегах на выводимую таблицу это никак не влияет. Подскажите что делаю не так?

<table width = "100%" overflow-x = "scroll" border="1" cellpadding="4" cellspacing="0" >
	<colgroup>
		<col width = "10%">
	</colgroup>
<tr> 
	<td rowspan="2"><strong>Товар</strong></td>
	<td rowspan="2"><strong>Ед.</strong></td>
	<th colspan="4"><strong>Базовая</strong></th>
	<th colspan="4"><strong>ЛЕНТА основная</strong></th>
	<th colspan="4"><strong>ЛЕНТА РЦ</strong></th>
	<th colspan="4"><strong>Наценка 1%</strong></th>
	<th colspan="4"><strong>Наценка 10%</strong></th>
	<th colspan="4"><strong>Наценка 20%</strong></th>
	<th colspan="4"><strong>Скидка 1%</strong></th>
	<th colspan="4"><strong>Скидка 11%</strong></th>
	<th colspan="4"><strong>Скидка 18%</strong></th>
</tr>
	<tr><th>Нов.ц.</th><th>Рент., %</th><th>Тек.ц.</th><th>Рент., %</th>
	<th>Нов.ц.</th><th>Рент., %</th><th>Тек.ц.</th><th>Рент., %</th>
	<th>Нов.ц.</th><th>Рент., %</th><th>Тек.ц.</th><th>Рент., %</th>
	<th>Нов.ц.</th><th>Рент., %</th><th>Тек.ц.</th><th>Рент., %</th>
	<th>Нов.ц.</th><th>Рент., %</th><th>Тек.ц.</th><th>Рент., %</th>
	<th>Нов.ц.</th><th>Рент., %</th><th>Тек.ц.</th><th>Рент., %</th>
	<th>Нов.ц.</th><th>Рент., %</th><th>Тек.ц.</th><th>Рент., %</th>
	<th>Нов.ц.</th><th>Рент., %</th><th>Тек.ц.</th><th>Рент., %</th>
	<th>Нов.ц.</th><th>Рент., %</th><th>Тек.ц.</th><th>Рент., %</th>
</tr>
<tr align="center">
	<td>Номенклатура 1</td><td>шт</td>
	<td>100,00</td><td>0</td><td>100,00</td><td>0</td><td>100,00</td><td>0</td><td>0</td><td>0</td><td>101,00</td><td>0</td><td>101,00</td><td>0</td><td>110,00</td><td>0</td><td>110,00</td><td>0</td><td>120,00</td><td>0</td><td>120,00</td><td>0</td><td>99,00</td><td>0</td><td>99,00</td><td>0</td><td>89,00</td><td>0</td><td>89,00</td><td>0</td><td>82,00</td><td>0</td><td>82,00</td><td>0</td><td>100,00</td><td>0</td><td>0</td><td>0</td>
</tr>
.
.
.
</table>
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SlavaKron 02.10.24 09:50 Сейчас в теме
(1)
Необходимо сформировать html письмо для отправки на e-mail.
Проще сформировать ТабДок и получить из него текст HTML.
3. user1880116 02.10.24 09:57 Сейчас в теме
(1)
для отправки на e-mail.
Никак. Почтовый клиент выбросит половину твоего оформления, причем каждый по своему. Тема проблем верстки почтовых рассылок широко освещена в интернете.
4. SlavaKron 02.10.24 10:02 Сейчас в теме
(3) Те же отчеты СКД выглядят вполне прилично в теле письма. Пропорции сохраняются, пользователям нравится.
5. user1880116 02.10.24 10:33 Сейчас в теме
(4) А ты отошли письмо, например, куда-нибудь на онлайн почту.
7. starik-2005 3086 02.10.24 10:54 Сейчас в теме
(1)

<colgroup>
<col width = "10%">
</colgroup>
Нужно внутри этого тега остальное вставлять, а не после него. Т.е.
<table>
<colgroup ...>
<tr><td>...</td></tr>
</colgroup>
</table>
6. starik-2005 3086 02.10.24 10:49 Сейчас в теме
Я сам генерю таблицу в ХТМЛ. В принципе получается норм.

В td добавьте width=X% для каждой колонки - и будет счастье.
8. user1880116 02.10.24 10:55 Сейчас в теме
(6) Ты б еще рассказал Серафиме про отличие th от td, назначение colspan, colgroup и т.п.
9. starik-2005 3086 02.10.24 11:42 Сейчас в теме
(8)
и т.п.
Гуглы и чатгыпыты лучше меня это все умеют рассказать. Я просто сейчас задачкой занимаюсь, там как раз в письме отчет отправляется, пир том не все строки и не все колонки. При том генерится список классов по формату ячейки колонки, после чего генерится блок стилей без повторений и добавляется в текст ХТМЛ. В принципе смотрится нормально.
10. user1880116 02.10.24 12:01 Сейчас в теме
(9) А в каких почтовых клиентах ты смотришь?
11. starik-2005 3086 02.10.24 13:13 Сейчас в теме
(10)
в каких почтовых клиентах
Я в оутглюке. Посмотрел в гуглпочте на телефоне - табличка есть, но она отмасштабирована по ширине и при зуме увеличивается явно недостаточно для того, чтобы я смог разглядеть детали. Но если колонок будет не стопиццот, ну или размер таблицы будет не 100%, то, думаю, вполне себе лицезрзеть оное смогу. Кста, надо проверить... И да, в гуглпочте телефона цвета слетели.

Проверил с 200% шириной таблицы - в мобильном клиенте дало эффект, в оутглюке нет.
12. user1880116 02.10.24 13:20 Сейчас в теме
(11)
в оутглюке
Ну вот оно это всё и есть.

Оптимизируешь под один почтовый клиент, потом появляется булочка начальник с маком и Apple Mail и всё заверте...
13. SlavaKron 02.10.24 14:29 Сейчас в теме
Можно конечно велосипед лепить, но можно использовать возможности табличного документа:
ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
ТабДок.Записать(ИмяВременногоФайла, ТипФайлаТабличногоДокумента.HTML);
ЧтениеТекста = Новый ЧтениеТекста(ИмяВременногоФайла);
ТекстЭлемент = Сообщение.Тексты.Добавить(ТекстСообщения, ТипТекстаПочтовогоСообщения.HTML);
ТекстЭлемент.Текст = ЧтениеТекста.Прочитать();
ЧтениеТекста.Закрыть();
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот