Программное формирование форматированной строки в стиле html+inline CSS
В 1С:Предприятие 8.3 появились форматированные строки. Программная работа с такими строками не очень удобная. Например, нужно вывести надпись
Штатными средствами это делается так
ЧастиСтроки = Новый Массив;
ЧастиСтроки.Добавить("Задача ");
ЧастиСтроки.Добавить(Новый ФорматированнаяСтрока("сделай что-нибудь", Новый Шрифт("Consolas"),, Новый Цвет(234, 245, 255)));
ЧастиСтроки.Добавить(" назначена исполнителю ");
ЧастиСтроки.Добавить(Новый ФорматированнаяСтрока("ivanov@gmail.com", Новый Шрифт("Consolas"),, WebЦвета.ЛососьСветлый));
ЧастиСтроки.Добавить(".");
Элементы.Декорация1.Заголовок = Новый ФорматированнаяСтрока(ЧастиСтроки);
Правда ведь не очень удобно. А что если нам нужно поддерживать локализацию?
А вот как это можно сделать с помощью этого проекта
Элементы.Декорация1.Заголовок = ФорматированнаяСтрока(
НСтр("ru = 'Задача <span style=""background-color: #eaf5ff; font-family: consolas"">сделай что-нибудь</span> назначена исполнителю <span style=""font-family: consolas; color: ЛососьСветлый"">ivanov@gmail.com</span>'"));
Возможности
Поддерживаются все возможности объекта ФорматированнаяСтрока
. В том числе работает на клиенте. Предназначена для работы с версией платформы 8.3.10 и выше.
Цвет текста
<span style="color: #fff">Цветной текст</span>
Значение цвета можно задать 3 способами:
- имя цвета из коллекции WedЦвета:
red
илижелтый
- полное шестнадцатеричное представление:
#aabbff
- сокращенное шестнадцатеричное представление:
#abf
Цвет фона
<span style="background-color: #fff">Текст на цветном фоне</span>
Значение цвета задается аналогично цвету текста.
Шрифт текста
Жирный
<span style="font-weight:bold">Жирный текст</span>
или
<b>Жирный текст</b>
Наклонный
<span style="font-style: italic">Наклонный текст</span>
или
<i>Жирный текст</i>
Подчеркнутый
<span style="text-decoration: underline">Подчеркнутый</span>
Зачеркнутый
<span style="text-decoration: line-through">Зачеркнутый текст</span>
Размер
<span style="font-size: 18">Меняем размер шрифта</span>
Имя шрифта
<span style="font-family: consolas">Меняем шрифт</span>
Картинка
<img src="Календарь">
Можно вывести любую картинку из коллекции БиблиотекаКартинок
, указав ее имя.
Гиперссылка
<a href="/redirect.php?url=aHR0cDovL3lhLnJ1" style="font-weight:bold; color: salmon">Цветная жирная ссылочка</a>.
Как же классно! Спасибо большое.
Кстати сказать, при преобразовании цвета в html не всегда приводит к полному шестнадцатиричному значению, а вот форматированный документ всегда так делает 🙂
Выглядит удобно. Отложу пока на будущее)
Можно вывести любую картинку из коллекции БиблиотекаКартинок, указав ее имя.
Могу ошибаться, но похоже на вредный совет.
Нам нужна ссылка на картинку в ВХ, а не имя самого изображения:
( СсылкаНаКартинку = ПоместитьВоВременноеХранилище(БиблиотекаКартинок.Календарь.ПолучитьДвоичныеДанные(),УникальныйИдентификатор));
(4) Нет, в данном случае именно так как описано.
выглядит интересно, пошёл качать 😉