По теме из базы знаний
- Массовая рассылка писем с HTML. Отправить письмо или почту через 1С с картинками, изображениями, таблицами и прочим
- Таблица значений в Таблицу HTML - функция с возможностью настройки цвета шапки, заголовков, выравнивания и размера колонок
- Парсер таблиц по шаблону. Автоматическая корректировка парсера. Представление таблиц в виде графа.
- HTML таблица для начинающих
- Drag & Drop - Переносим Картинку на Форму с помощью мыши (HTML + JS)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
HTML это же просто строка определенного формата.
Пишете код, который генерирует строку вида:
И просто строковой переменной, которая привязана к элементу документHTML присваиваете эту строку.
Пишете код, который генерирует строку вида:
<ht ml><body><table>
<tr>
<th>Заголовок 1</th>
<th>Заголовок 2</th>
<th>Заголовок 3</th>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>12</td>
<td>22</td>
<td>32</td>
</tr>
</table></body>
ПоказатьИ просто строковой переменной, которая привязана к элементу документHTML присваиваете эту строку.
В общем, как-то так получилось. Наверное, косячно, но за неимением лучшего размещу как пример.
&НаСервере
Процедура ЗаполнитьТаблицуHTML()
ДокументHTML = ПреобразоватьТекстHTML_в_Документ(ТекстHTML);
Если Ложь Тогда
ДокументHTML = Новый ДокументHTML;
КонецЕсли;
Таблица = ДокументHTML.ПолучитьЭлементПоИдентификатору("maintable");
ЗаголовкиКолонок = ДокументHTML.СоздатьЭлемент("tr");
ЗаголовкиКолонок.УстановитьАтрибут("bgcolor", "#FFC000");
Таблица.ДобавитьДочерний(ЗаголовкиКолонок);
Колонка = ДокументHTML.СоздатьЭлемент("th");
Колонка.ТекстовоеСодержимое = "Деталь";
Колонка.УстановитьАтрибут("width", "60");
ЗаголовкиКолонок.ДобавитьДочерний(Колонка);
Колонка = ДокументHTML.СоздатьЭлемент("th");
Колонка.ТекстовоеСодержимое = "Характеристика";
Колонка.УстановитьАтрибут("width", "30");
ЗаголовкиКолонок.ДобавитьДочерний(Колонка);
Для Каждого Строчка_СерийныеНомераПродукции Из СерийныеНомераПродукции Цикл
Колонка = ДокументHTML.СоздатьЭлемент("th");
Колонка.ТекстовоеСодержимое = Строчка_СерийныеНомераПродукции.СерийныйНомерПродукции;
Колонка.УстановитьАтрибут("width", "15");
ЗаголовкиКолонок.ДобавитьДочерний(Колонка);
КонецЦикла;
Для Каждого СтрокаВедомости Из Ведомость Цикл
СтрокаТаблицы = ДокументHTML.СоздатьЭлемент("tr");
Таблица.ДобавитьДочерний(СтрокаТаблицы);
Ячейка = ДокументHTML.СоздатьЭлемент("td");
Ячейка.ТекстовоеСодержимое = Строка(СтрокаВедомости.Номенклатура);
СтрокаТаблицы.ДобавитьДочерний(Ячейка);
Ячейка = ДокументHTML.СоздатьЭлемент("td");
Ячейка.ТекстовоеСодержимое = Строка(СтрокаВедомости.Характеристика);
СтрокаТаблицы.ДобавитьДочерний(Ячейка);
Для Каждого Строчка_СерийныеНомераПродукции Из СерийныеНомераПродукции Цикл
ИмяКолонки = Строчка_СерийныеНомераПродукции.ИмяКолонки;
Ячейка = ДокументHTML.СоздатьЭлемент("td");
Ячейка.ТекстовоеСодержимое = Строка(СтрокаВедомости[ИмяКолонки]);
СтрокаТаблицы.ДобавитьДочерний(Ячейка);
КонецЦикла;
КонецЦикла;
ТекстHTML = ПреобразоватьДокументHTML_в_Текст(ДокументHTML);
КонецПроцедуры
&НаСервере
Процедура ИнициализироватьДокументHTML();
Текст = ТекстШаблонаHTML();
ДокументHTML = ПреобразоватьТекстHTML_в_Документ(Текст);
HTML_СоздатьТаблицу(ДокументHTML);
ТекстHTML = ПреобразоватьДокументHTML_в_Текст(ДокументHTML);
КонецПроцедуры
&НаСервере
Функция ПреобразоватьТекстHTML_в_Документ(Строка)
ЧтениеHTML = Новый ЧтениеHTML;
ЧтениеHTML.УстановитьСтроку(Строка);
ПостроительDOM = Новый ПостроительDOM;
ДокументHTML = ПостроительDOM.Прочитать(ЧтениеHTML);
Возврат ДокументHTML;
КонецФункции
&НаСервере
Функция ПреобразоватьДокументHTML_в_Текст(ДокументHTML)
ЗаписьHTML = Новый ЗаписьHTML;
ЗаписьHTML.УстановитьСтроку();
ЗаписьDOM = Новый ЗаписьDOM;
ЗаписьDOM.Записать(ДокументHTML, ЗаписьHTML);
Возврат ЗаписьHTML.Закрыть();
КонецФункции
&НаСервере
Процедура HTML_СоздатьТаблицу(ДокументHTML)
Таблица = ДокументHTML.СоздатьЭлемент("table");
Таблица.УстановитьАтрибут("id", "maintable");
Таблица.УстановитьАтрибут("border", "1");
Таблица.УстановитьАтрибут("style", "border-collapse:collapse");
ДокументHTML.Тело.ДобавитьДочерний(Таблица);
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот