Программное формирование форматированной строки в стиле html+inline CSS

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

Программное формирование форматированной строки в стиле html+inline CSS

В 1С:Предприятие 8.3 появились форматированные строки. Программная работа с такими строками не очень удобная. Например, нужно вывести надпись default

Штатными средствами это делается так

ЧастиСтроки = Новый Массив;
ЧастиСтроки.Добавить("Задача ");
ЧастиСтроки.Добавить(Новый ФорматированнаяСтрока("сделай что-нибудь", Новый Шрифт("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>.

 

6 Comments

  1. infosoft-v

    Как же классно! Спасибо большое.

    Reply
  2. zarucheisky

    Кстати сказать, при преобразовании цвета в html не всегда приводит к полному шестнадцатиричному значению, а вот форматированный документ всегда так делает 🙂

    Reply
  3. SeiOkami

    Выглядит удобно. Отложу пока на будущее)

    Reply
  4. NN2P
    <img src=»Календарь»>

    Можно вывести любую картинку из коллекции БиблиотекаКартинок, указав ее имя.

    Могу ошибаться, но похоже на вредный совет.

    Нам нужна ссылка на картинку в ВХ, а не имя самого изображения:

    ( СсылкаНаКартинку = ПоместитьВоВременноеХранилище(БиблиотекаКартинок.Календарь.ПолучитьДвоичныеДанные(),УникальныйИдентификатор));

    Reply
  5. bonv

    (4) Нет, в данном случае именно так как описано.

    Reply
  6. Dzenn

    выглядит интересно, пошёл качать 😉

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *