HTML таблица для начинающих

02.06.21

Разработка - Инструментарий разработчика

Несколько примеров HTML таблиц со стилями и без. Хорошая замена отчетов на СКД.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
HTML таблица вместо СКД:
.zip 58,54Kb ver:1.0.0
121
121 Скачать бесплатно

В статье Мобильное приложение на 1С? Я написал следующее:

«Первоначально я реализовал отчет на СКД, но… Но лично меня он не устраивал. Я крутил его и так, и эдак… В итоге я параллельно сделал еще такой же отчет на HTML и принес на суд общественности.

Со счетом 7:0 победил HTML. Поэтому если вам вдруг понадобится вывод отчета в мобильном приложении, делайте сразу на HTML, поверьте, вы получите быструю и гибкую разработку.»

Совершенно логично, что последовал комментарий:

viki_glebova

«Очень любопытно про отчеты на HTML. Есть у вас какой-нибудь простенький пример реализации?»

Далее в комментариях была предложена ссылка на статью: //infostart.ru/1c/articles/717412/ далее в тексте я ее буду упоминать как Статья717412

Я посмотрел статью и пообещал Виктории(viki_glebova) более интересные примеры. Обещал, показываю.

Для начала немножко поговорим про таблицы, далее я покажу чем плох подход из Статья717412 и потом покажу несколько примеров используя стили, надеюсь это будет вам полезно.

Для экспериментов я скидал небольшую конфигурацию, данную конфигурацию я приложу к статье в виде бесплатного материала.

 

Основа таблицы в HTML:

Table - Для добавления таблицы используется тег <table> в данном теге можно указывать различные атрибуты:

•    Align - Определяет выравнивание таблицы.
•    Background - Задает фоновый рисунок в таблице.
•    Bgcolor - Цвет фона таблицы.
•    Border - Толщина рамки в пикселах.
•    Bordercolor - Цвет рамки.
•    Cellpadding - Отступ от рамки до содержимого ячейки.
•    Cellspacing - Расстояние между ячейками.
•    Cols - Число колонок в таблице.
•    Frame - Сообщает браузеру, как отображать границы вокруг таблицы.
•    Height - Высота таблицы.
•    Rules - Сообщает браузеру, где отображать границы между ячейками.
•    Summary - Краткое описание таблицы.
•    Width - Ширина таблицы.

 
 Пример простой таблицы:
<html><table border="1" cellpadding="1" cellspacing="0">
 <tr>
  <th>п/п</th> 
  <th>Слова</th> 
  <th>Числа</th> 
 </tr>
 <tr>
  <td>1</td>
  <td>Вася</td>
  <td>2,2</td>
 </tr>
</table></html>

Результат:

 

thead, tbody, tfoot - необязательные теги, предназначенные для группировки одной или несколько строк таблице. Позволяют создавать структурные блоки, к которым можно применять единое оформление через стили, а также управлять их видом через скрипты. Допускается применять несколько тегов <tbody> внутри <table>.

ВАЖНО: Вы можете разместить эти теги в любой последовательности, но содержимое будет выведено так:

  1. thead - заголовок
  2. tbody - тело
  3. tfoot - итоги
 
 Пример с необязательными thead, tbody и tfoot:
<html><table border="1" cellpadding="0">
 <tfoot align="center">
  <tr>
   <td>Ячейка 1, в TFOOT</td>
   <td>Ячейка 2, в TFOOT</td> 
  </tr> 
 </tfoot>
 <tbody align="right">
  <tr>
   <td>Ячейка 3, в TBODY</td>
   <td>Ячейка 4, в TBODY</td> 
  </tr> 
 </tbody>
 <thead align="left">
  <tr>
   <th>Ячейка 5, в THEAD</th>
   <th>Ячейка 6, в THEAD</th> 
  </tr> 
 </thead>
</table></html>

Результат:

 

tr – тег для создания строки в таблице. 
Атрибуты тега:

•    Align - Выравнивание содержимого ячеек по горизонтали.
•    Bgcolor - Цвет фона.
•    Bordercolor - Цвет рамки.
•    Char - Выравнивание содержимого ячеек относительно заданного символа.
•    Charoff - Смещение содержимого ячеек относительно указанного символа.
•    Valign - Выравнивание содержимого ячеек по вертикали.

 
 Пример простой таблицы с атрибутами у tr:
<html><table border="1" cellpadding="1" cellspacing="0">
 <tr align="right" bgcolor="#eadbaf">
  <th>п/п</th> 
  <th>Слова</th> 
  <th>Числа</th> 
 </tr>
 <tr>
  <td>1</td>
  <td>Вася</td>
  <td>2,2</td>
 </tr>
</table></html>

Результат:

 

th – тег для создания заголовочной ячейки таблицы. Тег <th> должен размещаться внутри контейнера <tr>. 

Атрибуты тега:

•    Abbr - Краткое описание содержимого ячейки.
•    Align - Определяет выравнивание содержимого ячейки по горизонтали.
•    Axis - Группирует ячейки, связанные между собой похожей информацией.
•    Background - Задает фоновый рисунок.
•    Bgcolor - Цвет фона.
•    Bordercolor - Цвет рамки.
•    Char - Выравнивает содержимое ячейки по заданному символу.
•    Charoff - Смещает содержимое ячейки относительно заданного символа.
•    Colspan - Объединяет горизонтальные ячейки.
•    Height - Высота.
•    Nowrap - Запрещает перенос строк.
•    Rowspan - Объединяет вертикальные ячейки.
•    Valign - Выравнивание содержимого по вертикали.
•    Width - Ширина.

 
 Пример простой таблицы с атрибутами у th:
<html><table border="1" cellpadding="1" cellspacing="0">
 <tr>
  <th align="center" width=60>п/п</th> 
  <th align="center" bgcolor="#eadbaf">Слова</th> 
  <th align="center" width=100>Числа</th> 
 </tr>
 <tr>
  <td>1</td>
  <td>Вася</td>
  <td>2,2</td>
 </tr>
</table></html>

Результат:


td – тег для создания ячейки таблицы. Тег <td> должен размещаться внутри контейнера <tr>.

Атрибуты тега:

•    Abbr - Краткое описание содержимого ячейки.
•    Align - Определяет выравнивание содержимого по горизонтали.
•    Axis - Группирует ячейки, связанные между собой похожей информацией.
•    Background - Задает фоновый рисунок.
•    Bgcolor - Цвет фона.
•    Bordercolor - Цвет рамки.
•    Char - Выравнивает содержимое по заданному символу.
•    Charoff - Смещает содержимое относительно заданного символа.
•    Colspan - Объединяет горизонтальные ячейки.
•    Headers - Позволяет связать ячейки с заголовком.
•    Height - Высота.
•    Nowrap - Запрещает перенос строк.
•    Rowspan - Объединяет вертикальные ячейки.
•    Valign - Выравнивание содержимого ячейки по вертикали.
•    Width - Ширина.
 

 
 Пример простой таблицы с td:
<html><table border="1" cellpadding="1" cellspacing="0">
 <tr>
  <th>п/п</th> 
  <th>Слова</th> 
  <th>Числа1</th> 
  <th>Числа2</th> 
 </tr>
 <tr>
  <td>1</td>
  <td>Вася</td>
  <td>3,2</td>
  <td>3,2</td>
 </tr>
 <tr>
  <td>2</td>
  <td>Вася</td>
  <td>2,2</td>
  <td>2,2</td>
 </tr>
 <tr>
  <td>3</td>
  <td>Петя</td>
  <td>2,2</td>
  <td>2,2</td>
 </tr>
</table></html>

 Результат:

 
 Пример таблицы с атрибутами colspan и rowspan у td:
<html><table border="1" cellpadding="1" cellspacing="0">
 <tr>
  <th>п/п</th> 
  <th>Слова</th> 
  <th>Числа1</th> 
  <th>Числа2</th> 
 </tr>
 <tr>
  <td>1</td>
  <td rowspan="2" align="center">Вася</td>
  <td colspan="2" align="center">3,2</td>
 </tr>
 <tr>
  <td>2</td>
  <td colspan="2" rowspan="2" align="center">2,2</td>
 </tr>
 <tr>
  <td>3</td>
  <td>Петя</td>
 </tr>
</table></html>

 Результат:

 

Самое интересное закрывающие теги внутри table можно убрать и результат будет тот же.

 
 Пример таблицы с атрибутами colspan и rowspan у td без закрывающих тегов:
<html><table border="1" cellpadding="1" cellspacing="0">
 <tr>
  <th>п/п
  <th>Слова
  <th>Числа1
  <th>Числа2
 <tr>
  <td>1
  <td rowspan="2" align="center">Вася
  <td colspan="2" align="center">3,2
 <tr>
  <td>2
  <td colspan="2" rowspan="2" align="center">2,2
 <tr>
  <td>3
  <td>Петя
</table></html>

Результат:

 

Количество символов без пробелов:

  1. В примере (Пример таблицы с атрибутами colspan и rowspan у td) = 326
  2. В примере (Пример таблицы с атрибутами colspan и rowspan у td без закрывающих тегов) = 251

П.С. По стандартам html можно посмотреть тут: https://html.spec.whatwg.org/#the-table-element

 

Таблица в HTML визуально:

 

Чем плох подход из Статья717412?

Я создал таблицу для экспериментов и скопировал код из Статья717412:

 
 Получился вот такой HTML код:
<html><table border="1" cellpadding="1" cellspacing="0"  style="width:800px">
<tbody>
<tr>
<td bgcolor="#eadbaf" style="width:30px" align="center">п/п</td> 
<td bgcolor="#eadbaf" align="center">Слова</td> 
<td bgcolor="#eadbaf" align="center">Числа</td> 
<td bgcolor="#eadbaf" style="width:300px" align="center">Номер вопроса</td> 
<td bgcolor="#eadbaf" align="center">ДаНет</td> 
<td bgcolor="#eadbaf" align="center">Наличие картинки</td>
</tr>
<tr>
<td align="center">1</td>
<td  align="left">Вася</td>
<td  align="center">2,2</td>
<td  align="center">02.06.2021 1:25:37</td>
<td  align="center">Нет</td>
<td  align="left"></td>
</tr>
<tr>
<td align="center">2</td>
<td  align="left">Арбуз</td>
<td  align="center">4,84</td>
<td  align="center">28.05.2021 5:16:01</td>
<td  align="center">Да</td>
<td  align="left"></td>
</tr>
<tr>
<td align="center">3</td>
<td  align="left">Усы</td>
<td  align="center">23,426</td>
<td  align="center">04.05.2021 19:03:09</td>
<td  align="center">Да</td>
<td  align="left"></td>
</tr>
<tr>
<td align="center">4</td>
<td  align="left">Песик</td>
<td  align="center">548,759</td>
<td  align="center">03.11.2019 0:50:34</td>
<td  align="center">Нет</td>
<td  align="left"></td>
</tr> 
</tbody>
</table></html>

 Результат:

Итого символов без пробелов: 1125

  1. tbody работает вхолостую. Без <tbody></tbody> будет тот же результат.
  2. В шапке td, а не th.
  3. В шапке везде атрибут bgcolor="#eadbaf", его можно убрать выше в tr и результат будет тот же. Тоже самое касается align="center".
  4. В каждой ячейке td присутствуют атрибуты, и они копируются от строки к строке. Соответственно добавление новых атрибутов будет увеличивать количество символов в строке и уменьшать читаемость. Вот тут прямо напрашиваются стили!
  5. Можно убрать закрывающие теги.
 
 Немного причесанный HTML из Статья717412, но без стилей:
<html><table border="1" cellpadding="1" cellspacing="0"  style="width:800px">
<tr bgcolor="#eadbaf" align="center">
<th style="width:30px">п/п
<th>Слова 
<th>Числа 
<th style="width:300px">Номер вопроса 
<th>ДаНет 
<th>Наличие картинки
<tr>
<td align="center">1
<td  align="left">Вася
<td  align="center">2,2
<td  align="center">02.06.2021 1:25:37
<td  align="center">Нет
<td  align="left">
<tr>
<td align="center">2
<td  align="left">Арбуз
<td  align="center">4,84
<td  align="center">28.05.2021 5:16:01
<td  align="center">Да
<td  align="left">
<tr>
<td align="center">3
<td  align="left">Усы
<td  align="center">23,426
<td  align="center">04.05.2021 19:03:09
<td  align="center">Да
<td  align="left">
<tr>
<td align="center">4
<td  align="left">Песик
<td  align="center">548,759
<td  align="center">03.11.2019 0:50:34
<td  align="center">Нет
<td  align="left">
</table></html>

  Результат:

Итого символов без пробелов: 780

 

П.С. Небольшие манипуляции сократили количество символов почти на треть.

 

Поработаем со стилями:

Тестовую таблицу я буду использовать из примера с «причесанным» кодом.

  • Давайте представим, что наша таблица должна занимать 99% по ширине экрана и при перевороте устройства автоматически меняться под экран. Этот пример отлично подходит для мобильной разработки.

Добавили:

table {
width: 99%; /* Ширина таблицы в процентах */
}

Убрали из table атрибут style="width:800px"

 
 Пример с шириной таблицы в процентах:
<html>
<style>
table {
width: 99%; /* Ширина таблицы в процентах */
}
</style>
<table border="1" cellpadding="1" cellspacing="0">
<tr bgcolor="#eadbaf" align="center">
<th style="width:30px">п/п
<th>Слова 
<th>Числа 
<th style="width:300px">Номер вопроса 
<th>ДаНет 
<th>Наличие картинки
<tr>
<td align="center">1
<td  align="left">Вася
<td  align="center">2,2
<td  align="center">02.06.2021 1:25:37
<td  align="center">Нет
<td  align="left">
<tr>
<td align="center">2
<td  align="left">Арбуз
<td  align="center">4,84
<td  align="center">28.05.2021 5:16:01
<td  align="center">Да
<td  align="left">
<tr>
<td align="center">3
<td  align="left">Усы
<td  align="center">23,426
<td  align="center">04.05.2021 19:03:09
<td  align="center">Да
<td  align="left">
<tr>
<td align="center">4
<td  align="left">Песик
<td  align="center">548,759
<td  align="center">03.11.2019 0:50:34
<td  align="center">Нет
<td  align="left">
</table></html>

 

 

  • Давайте представим, что мы захотели без проблем управлять ячейками в строке, добавлять атрибуты в одном месте распространяя их на все строки.

Для этого в td добавим class и уберем align, а в стилях пропишем text-align для class.

 
 Добавляем классы для td:
<html><style>
table {
width: 99%; /* Ширина таблицы в процентах */
}
.Col1 {
text-align: center; /* По центру */
}
.Col2 {
text-align: left; /* Слева */
}
.Col3 {
text-align: center; /* По центру */
}
.Col4 {
text-align: center; /* По центру */
}
.Col5 {
text-align: center; /* По центру */
}
.Col6 {
text-align: left; /* Слева */
}
</style><table border="1" cellpadding="1" cellspacing="0">
<tr bgcolor="#eadbaf" align="center">
<th style="width:30px">п/п
<th>Слова 
<th>Числа 
<th style="width:300px">Номер вопроса 
<th>ДаНет 
<th>Наличие картинки
<tr>
<td class="Col1">1
<td class="Col2">Вася
<td class="Col3">2,2
<td class="Col4">02.06.2021 1:25:37
<td class="Col5">Нет
<td class="Col6">
<tr>
<td class="Col1">2
<td class="Col2">Арбуз
<td class="Col3">4,84
<td class="Col4">28.05.2021 5:16:01
<td class="Col5">Да
<td class="Col6">
<tr>
<td class="Col1">3
<td class="Col2">Усы
<td class="Col3">23,426
<td class="Col4">04.05.2021 19:03:09
<td class="Col5">Да
<td class="Col6">
<tr>
<td class="Col1">4
<td class="Col2">Песик
<td class="Col3">548,759
<td class="Col4">03.11.2019 0:50:34
<td class="Col5">Нет
<td class="Col6">
</table></html>

 

  • Допустим нам надо покрасить фон шапки и выровнять текст шапки по центру.

Добавили:

TH { 
background: #eadbaf; /* Цвет фона ячейки */
text-align: center; /* Выравнивание по центру */
}

Из tr уберем bgcolor="#eadbaf" align="center"

 
 Добавляем классы в th:
<html><style>
table {
width: 99%; /* Ширина таблицы в процентах */
}
.Col1 {
text-align: center; /* По центру */
}
.Col2 {
text-align: left; /* Слева */
}
.Col3 {
text-align: center; /* По центру */
}
.Col4 {
text-align: center; /* По центру */
}
.Col5 {
text-align: center; /* По центру */
}
.Col6 {
text-align: left; /* Слева */
}
TH { 
background: #eadbaf; /* Цвет фона ячейки */
text-align: center; /* Выравнивание по центру */
}
</style><table border="1" cellpadding="1" cellspacing="0">
<tr>
<th style="width:30px">п/п
<th>Слова 
<th>Числа 
<th style="width:300px">Номер вопроса 
<th>ДаНет 
<th>Наличие картинки
<tr>
<td class="Col1">1
<td class="Col2">Вася
<td class="Col3">2,2
<td class="Col4">02.06.2021 1:25:37
<td class="Col5">Нет
<td class="Col6">
<tr>
<td class="Col1">2
<td class="Col2">Арбуз
<td class="Col3">4,84
<td class="Col4">28.05.2021 5:16:01
<td class="Col5">Да
<td class="Col6">
<tr>
<td class="Col1">3
<td class="Col2">Усы
<td class="Col3">23,426
<td class="Col4">04.05.2021 19:03:09
<td class="Col5">Да
<td class="Col6">
<tr>
<td class="Col1">4
<td class="Col2">Песик
<td class="Col3">548,759
<td class="Col4">03.11.2019 0:50:34
<td class="Col5">Нет
<td class="Col6">
</table></html>

 

 

  • Нам понадобилось покрасить все ячейки в 3 и 5 колонке.

Добавим в стили Col3 и Col5 background: #fc0; /* Цвет фона ячейки */

 
 Раскрасим 3 и 5 колонки:
<html><style>
table {
width: 99%; /* Ширина таблицы в процентах */
}
.Col1 {
text-align: center; /* По центру */
}
.Col2 {
text-align: left; /* Слева */
}
.Col3 {
text-align: center; /* По центру */
background: #fc0; /* Цвет фона ячейки */
}
.Col4 {
text-align: center; /* По центру */
}
.Col5 {
text-align: center; /* По центру */
background: #fc0; /* Цвет фона ячейки */
}
.Col6 {
text-align: left; /* Слева */
}
TH { 
background: #eadbaf; /* Цвет фона ячейки */
text-align: center; /* Выравнивание по центру */
}
</style><table border="1" cellpadding="1" cellspacing="0">
<tr>
<th style="width:30px">п/п
<th>Слова 
<th>Числа 
<th style="width:300px">Номер вопроса 
<th>ДаНет 
<th>Наличие картинки
<tr>
<td class="Col1">1
<td class="Col2">Вася
<td class="Col3">2,2
<td class="Col4">02.06.2021 1:25:37
<td class="Col5">Нет
<td class="Col6">
<tr>
<td class="Col1">2
<td class="Col2">Арбуз
<td class="Col3">4,84
<td class="Col4">28.05.2021 5:16:01
<td class="Col5">Да
<td class="Col6">
<tr>
<td class="Col1">3
<td class="Col2">Усы
<td class="Col3">23,426
<td class="Col4">04.05.2021 19:03:09
<td class="Col5">Да
<td class="Col6">
<tr>
<td class="Col1">4
<td class="Col2">Песик
<td class="Col3">548,759
<td class="Col4">03.11.2019 0:50:34
<td class="Col5">Нет
<td class="Col6">
</table></html>

 

 

  • Нарисуем рамки с помощью стилей

Уберем из тега table атрибуты border="1" cellpadding="1" cellspacing="0"

Добавим в стиль table border-collapse: collapse; /* Убираем двойные линии между ячейками */
Добавим общий стиль для th и td

TH, TD {
border: 1px solid black; /* Параметры рамки */
}
 
 Рисуем рамки стилями:
<html><style>
table {
border-collapse: collapse; /* Убираем двойные линии между ячейками */
width: 99%; /* Ширина таблицы в процентах */
}
.Col1 {
text-align: center; /* По центру */
}
.Col2 {
text-align: left; /* Слева */
}
.Col3 {
text-align: center; /* По центру */
background: #fc0; /* Цвет фона ячейки */
}
.Col4 {
text-align: center; /* По центру */
}
.Col5 {
text-align: center; /* По центру */
background: #fc0; /* Цвет фона ячейки */
}
.Col6 {
text-align: left; /* Слева */
}
TH { 
background: #eadbaf; /* Цвет фона ячейки */
text-align: center; /* Выравнивание по центру */
}
TH, TD {
border: 1px solid black; /* Параметры рамки */
}
</style><table>
<tr>
<th style="width:30px">п/п
<th>Слова 
<th>Числа 
<th style="width:300px">Номер вопроса 
<th>ДаНет 
<th>Наличие картинки
<tr>
<td class="Col1">1
<td class="Col2">Вася
<td class="Col3">2,2
<td class="Col4">02.06.2021 1:25:37
<td class="Col5">Нет
<td class="Col6">
<tr>
<td class="Col1">2
<td class="Col2">Арбуз
<td class="Col3">4,84
<td class="Col4">28.05.2021 5:16:01
<td class="Col5">Да
<td class="Col6">
<tr>
<td class="Col1">3
<td class="Col2">Усы
<td class="Col3">23,426
<td class="Col4">04.05.2021 19:03:09
<td class="Col5">Да
<td class="Col6">
<tr>
<td class="Col1">4
<td class="Col2">Песик
<td class="Col3">548,759
<td class="Col4">03.11.2019 0:50:34
<td class="Col5">Нет
<td class="Col6">
</table></html>

 

 

  • Поменяем размер колонок. 1 = 10%, 2 = 25%, 3 = 15%, 4 = 27%, 5 = 10%, 6 = 13%

В стили добавим width: x%; /* Ширина ячеек */

Из тегов th уберем style="width:300px и style="width:30px

 
 Меняем размер колонок стилями:

 

<html><style>
table {
border-collapse: collapse; /* Убираем двойные линии между ячейками */
width: 99%; /* Ширина таблицы в процентах */
}
.Col1 {
width: 10%; /* Ширина ячеек */
text-align: center; /* По центру */
}
.Col2 {
width: 25%; /* Ширина ячеек */
text-align: left; /* Слева */
}
.Col3 {
width: 15%; /* Ширина ячеек */
text-align: center; /* По центру */
background: #fc0; /* Цвет фона ячейки */
}
.Col4 {
width: 27%; /* Ширина ячеек */
text-align: center; /* По центру */
}
.Col5 {
width: 10%; /* Ширина ячеек */
text-align: center; /* По центру */
background: #fc0; /* Цвет фона ячейки */
}
.Col6 {
width: 13%; /* Ширина ячеек */
text-align: left; /* Слева */
}
TH { 
background: #eadbaf; /* Цвет фона ячейки */
text-align: center; /* Выравнивание по центру */
}
TH, TD {
border: 1px solid black; /* Параметры рамки */
}
</style><table>
<tr>
<th>п/п
<th>Слова 
<th>Числа 
<th>Номер вопроса 
<th>ДаНет 
<th>Наличие картинки
<tr>
<td class="Col1">1
<td class="Col2">Вася
<td class="Col3">2,2
<td class="Col4">02.06.2021 1:25:37
<td class="Col5">Нет
<td class="Col6">
<tr>
<td class="Col1">2
<td class="Col2">Арбуз
<td class="Col3">4,84
<td class="Col4">28.05.2021 5:16:01
<td class="Col5">Да
<td class="Col6">
<tr>
<td class="Col1">3
<td class="Col2">Усы
<td class="Col3">23,426
<td class="Col4">04.05.2021 19:03:09
<td class="Col5">Да
<td class="Col6">
<tr>
<td class="Col1">4
<td class="Col2">Песик
<td class="Col3">548,759
<td class="Col4">03.11.2019 0:50:34
<td class="Col5">Нет
<td class="Col6">
</table></html>

 

  • В заголовке сделаем шрифт 18, а в строках 15

Добавим в стиль для TH font-size: 18px; /* Размер шрифта */ 
Добавим:

TD {
font-size: 15px; /* Размер шрифта */
}
 
 Меняем шрифт стилями:
<html><style>
table {
border-collapse: collapse; /* Убираем двойные линии между ячейками */
width: 99%; /* Ширина таблицы в процентах */
}
.Col1 {
width: 10%; /* Ширина ячеек */
text-align: center; /* По центру */
}
.Col2 {
width: 25%; /* Ширина ячеек */
text-align: left; /* Слева */
}
.Col3 {
width: 15%; /* Ширина ячеек */
text-align: center; /* По центру */
background: #fc0; /* Цвет фона ячейки */
}
.Col4 {
width: 27%; /* Ширина ячеек */
text-align: center; /* По центру */
}
.Col5 {
width: 10%; /* Ширина ячеек */
text-align: center; /* По центру */
background: #fc0; /* Цвет фона ячейки */
}
.Col6 {
width: 13%; /* Ширина ячеек */
text-align: left; /* Слева */
}
TH { 
font-size: 18px; /* Размер шрифта */
background: #eadbaf; /* Цвет фона ячейки */
text-align: center; /* Выравнивание по центру */
}
TD {
font-size: 15px; /* Размер шрифта */
}
TH, TD {
border: 1px solid black; /* Параметры рамки */
}
</style><table>
<tr>
<th>п/п
<th>Слова 
<th>Числа 
<th>Номер вопроса 
<th>ДаНет 
<th>Наличие картинки
<tr>
<td class="Col1">1
<td class="Col2">Вася
<td class="Col3">2,2
<td class="Col4">02.06.2021 1:25:37
<td class="Col5">Нет
<td class="Col6">
<tr>
<td class="Col1">2
<td class="Col2">Арбуз
<td class="Col3">4,84
<td class="Col4">28.05.2021 5:16:01
<td class="Col5">Да
<td class="Col6">
<tr>
<td class="Col1">3
<td class="Col2">Усы
<td class="Col3">23,426
<td class="Col4">04.05.2021 19:03:09
<td class="Col5">Да
<td class="Col6">
<tr>
<td class="Col1">4
<td class="Col2">Песик
<td class="Col3">548,759
<td class="Col4">03.11.2019 0:50:34
<td class="Col5">Нет
<td class="Col6">
</table></html>

 

 

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


На этом статью заканчиваю, надеюсь данные примеры будут полезны в вашей работе.

Разработка велась на 8.3.17.1549, режим совместимости 8.3.15.

html скд style table примеры class отчеты th td tr tbody thead tfoot

См. также

SALE! 15%

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    159423    872    399    

861

SALE! 15%

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 7140 руб.

20.08.2024    7770    55    22    

66

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    23434    68    45    

117

SALE! 15%

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8500 руб.

10.11.2023    10422    36    22    

61

SALE! 15%

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 19980 руб.

06.10.2023    15398    35    7    

70

SALE! 35%

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3120 руб.

14.01.2013    187981    1138    0    

912

SALE! 15%

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 12750 руб.

07.10.2021    17303    6    32    

42

Инструментарий разработчика Программист Платные (руб)

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

1800 руб.

21.02.2023    7694    8    35    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Yashazz 4790 02.06.21 11:58 Сейчас в теме
Ещё в древние времена я выложил https://infostart.ru/1c/articles/174149/ - там работа через объектную технику, а не конкатенацией. Имхо, это более надёжно и прозрачно, чем лепить из кусочков строк.
6. dsdred 3593 02.06.21 13:09 Сейчас в теме
(1)Не видел Вашу статью из древних времен, но вчера читал свежую про COM.
Да наверно надежнее, но если нужно вывести небольшую табличку из 10 строк, а для этого нужно кода строк 300...
Тогда лучше вообще выбрать библиотеку на JavaScript с красивыми графичками и таблицами.

А вообще в данном примере источник ТЗ только из-за статьи -> infostart.ru/1c/articles/717412 в реале источник JSON в котором массив структур
2. Steelvan 306 02.06.21 12:22 Сейчас в теме
- Вы знаете, сейчас в Гейропе и в лучших палатках бездомных Филадельфии
возобновили старинную моду - разливать чай через ситечко. Необычайно эффектно и очень элегантно.
("Двенадцать стульев")

---

У нас все немного прозаичнее и для обозревателя очень желательно указывать тип документа перед тегом <ht ml>

<!DO CTYPE html>
<ht ml>

При отсутствии в коде веб-страницы объявления <!DO CTYPE> в обозревателе включается «Режим совместимости» (Quirks mode).
«Режим совместимости» означает, что современные обозреватели будут сознательно симулировать множество ошибок старых обозревателей,
так как без объявления <!DO CTYPE> считают, что страница написана для старых версий обозревателей.
anatox24; Yashazz; +2 1 Ответить
4. dsdred 3593 02.06.21 12:42 Сейчас в теме
(2)Согласен для браузеров <!DO CTYPE>, для поляHTML в 1с необязательно, хотя при обновлении платформы может стать обязательным.
3. Steelvan 306 02.06.21 12:31 Сейчас в теме
5. Можно убрать закрывающие теги.

Это из категории "Вредные советы".
Обозреватель, конечно, сам их подставит при отрисовке и верстка отобразится нормально, но это неправильно.
Да и в html правщике отступы поедут и подсветка пропадет. :)
5. dsdred 3593 02.06.21 12:47 Сейчас в теме
7. rusmil 262 02.06.21 19:07 Сейчас в теме
Со счетом 7:0 победил HTML
Интересно в чем именно плюсы HTML 7:0 по сравнению с типовым способом СКД?
8. dsdred 3593 02.06.21 21:44 Сейчас в теме
(7)на мобильной платформе 1с пробовали отчёты СКД выводить?

Чтобы настроить по красоте как в html уйдёт в разы больше времени и результат все равно не огонь.
9. Nubsdale 04.06.21 10:53 Сейчас в теме
(8) не совсем понимаю смысл вашей статьи. Да, интересно, да выводится всё красиво. Но если мне надо вытянуть данные, запросом например или сделать динамический список - это реализуемо с помощью HTML ?
10. dsdred 3593 04.06.21 10:59 Сейчас в теме
(9)
не совсем понимаю смысл вашей статьи. Да, интересно, да выводится всё красиво.

Первоначально смысл статьи вывода красивых отчетов на мобильной платформе.

Но если мне надо вытянуть данные, запросом например или сделать динамический список - это реализуемо с помощью HTML ?

Реализуемо на HTML + JS например, но тогда 1с тут вообще не причем.
11. Nubsdale 04.06.21 11:05 Сейчас в теме
(10)
Первоначально смысл статьи вывода красивых отчетов на мобильной платформе.
какой смысл от отчёта, если в него надо забивать данные вручную? Проще тогда сделать на экселе, заскриншотить и вставить картинку. В отчёте, же, меняющиеся данные, у вас данные статичные
(10)
Реализуемо на HTML + JS например, но тогда 1с тут вообще не причем.
это уже интереснее
12. dsdred 3593 04.06.21 11:15 Сейчас в теме
(11)
какой смысл от отчёта, если в него надо забивать данные вручную? Проще тогда сделать на экселе, заскриншотить и вставить картинку. В отчёте, же, меняющиеся данные, у вас данные статичные


В смысле вручную?
В данной статье просто обучение использования table+style в html.

А уже сгенерировать html можно кодом 1с. В 2000-х годах я на javaScript генерил таблицы.
Есть ссылка на статью не мою где есть вариант генерации кода по ТЗ, описаны минусы.
Есть примеры как можно сделать. Берем и делаем.

Я в работе например получаю JSON и по нему вывожу отчет.
13. Sergik_D 23 04.06.21 12:22 Сейчас в теме
Здравствуйте. Как раз столкнулся с проблемой вывода отчетов на мобильном устройстве в приложении на Android Studio. По запросу делаю на СКД отчет и возвращаю в виде HTML. Но теряю функциональность. Нет группировок, нет закрепления колонки, строки. Может подскажите в каком направлении двигаться чтобы получить функциональную таблицу? Сгенерировать код html в 1с или данные в json, xml не проблема.
18. dsdred 3593 05.06.21 17:36 Сейчас в теме
(13)по закреплению посмотреть position: sticky; /* Липкое позиционирование */
по группировке тег colgroup глянуть.

у меня потребности не было, так как в мобилке отчеты должны быть простыми и не перегруженными, но если есть конкретный пример желаемого вывода данных, могу поискать конкретное решение.
14. maxkrezi 82 04.06.21 17:24 Сейчас в теме
Ну всё, настало время html программистов
17. dsdred 3593 04.06.21 19:37 Сейчас в теме
(14) 😁 оно давно настало. Просто как показывает практика не все щупали html. Поэтому статья для начального уровня.
15. starik-2005 3087 04.06.21 18:21 Сейчас в теме
Если убрать закрывающиеся теги, то если вдруг внезапно кто-то захочет такой файл пропарсить с помощью 1С-ного XPATH, то сделать это он не сможет - невалидный XML/(((
VyacheslavShilov; triviumfan; +2 Ответить
16. dsdred 3593 04.06.21 19:34 Сейчас в теме
(15)Первоначально речь шла про отчёты на мобильной платформе, мне сложно даже представить парсер для отчётов из apk.
23. starik-2005 3087 07.06.21 11:44 Сейчас в теме
(16) обычный парсер на 1С с помощью объектов XPath. Например, отфильтровать записи динамически, выведя только попавшие в XPath-выражение строки таблицы.
25. triviumfan 97 10.06.21 11:49 Сейчас в теме
(23) Не поверил. Но когда наткнулся на то, что файл
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<soap:Body>
		<FindCatalogResponse xmlns="http://www.autopiter.ru/">
			<FindCatalogResult>
				<SearchCatalogModel>
					<ArticleId>9032044</ArticleId>
					<CatalogName>Nissan</CatalogName>
					<Name />
					<Number>7700838546</Number>
					<SalesRating>0</SalesRating>
				</SearchCatalogModel>
				<SearchCatalogModel>
					<ArticleId>13523340</ArticleId>
					<CatalogName>Renault</CatalogName>
					<Name>"Замок багажника RENAULT 7700 838 546 RENAULT Logan 1/2/Clio/Megane/Sandero"</Name>
					<Number>7700838546</Number>
					<SalesRating>8</SalesRating>
				</SearchCatalogModel>
				<SearchCatalogModel>
					<ArticleId>127669982</ArticleId>
					<CatalogName>Аксессуары</CatalogName>
					<Name>ЗамокPбагажникаPRenaultPLoganPSanderoPMANOVERPMR400773­1</Name>
					<Number>7700838546</Number>
					<SalesRating>0</SalesRating>
				</SearchCatalogModel>
				<SearchCatalogModel>
					<ArticleId>122731524</ArticleId>
					<CatalogName>Автоваз</CatalogName>
					<Name>Замок крышки багажника (защелка)</Name>
					<Number>7700838546</Number>
					<SalesRating>0</SalesRating>
				</SearchCatalogModel>
				<SearchCatalogModel>
					<ArticleId>122722778</ArticleId>
					<CatalogName>Manover</CatalogName>
					<Name>Замок багажника Renault Logan Sandero MANOVER MR4007731</Name>
					<Number>7700838546</Number>
					<SalesRating>0</SalesRating>
				</SearchCatalogModel>
			</FindCatalogResult>
		</FindCatalogResponse>
	</soap:Body>
</soap:Envelope>
Показать

Но после того, как 1с сериализует в объект XDTO элемент "<Name />" я уже поверил...
19. maksa2005 550 05.06.21 17:52 Сейчас в теме
Html scc js jqwery нужны 2х случаях:
При разработке приложухи. Что я и делал сам
Или при написании красивого дашборда)
20. МимохожийОднако 142 06.06.21 08:41 Сейчас в теме
Было бы интересно преобразование СКД в HTML в обычном режиме без потери отображения
21. dsdred 3593 07.06.21 09:36 Сейчас в теме
(20) Самый простой способ получить программно результат в табличный документ и перевести его в HTML "подшаманя" теги.
С другой стороны если вы хотите выводить сложные отчеты в HTMLб вы наверное их не на мобильной версии планируете?
24. МимохожийОднако 142 08.06.21 06:17 Сейчас в теме
22. gubanoff 63 07.06.21 11:15 Сейчас в теме
(0) Спасибо за примеры про CSS, продолжайте )) Все хотел с этим познакомиться, да руки не доходили.
DrAku1a; dsdred; +2 Ответить
26. pyrkin_vanya 493 18.08.22 07:21 Сейчас в теме
А можно ли сделать группировки в таблице? По принципу как в отчете СКД?
27. dsdred 3593 18.08.22 09:20 Сейчас в теме
(26) можно, но надо заморочится. Если будет время кидаю примеры, а пока можете посмотреть по ссылке ниже пример:

https://ru.stackoverflow.com/questions/1329597/%D0%94%D1%80%D0%B5%D0%B2%D0%BE%D0%B2%D­0%B8%D0%B4%D0%BD%D0%B0%D1%8F-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0-html-css-js
pyrkin_vanya; +1 Ответить
Оставьте свое сообщение