Сделать наклонный шрифт текста в расширении

1. ovadia 18.02.21 17:47 Сейчас в теме
Подскажите, пожалуйста, как сделать наклонным шрифт текста?

Добавил новый реквизит строкового типа в расширение -- рекТекстСообщения. В процедуре модуля формы расширения, при определенном условии, этому реквизиту присваивается значение, например рекТекстСообщения = "Мой текст". Этот реквизит (текст) устанавливается в поле Описание формы_1 расширения. Это поле является реквизитом объекта, то есть доступно через Объект.Описание. И потом в другой форме_2 содержимое поля отображается в поле формы_2. В поле формы_2 могут существовать и другие текстовые значения, но их форматировать не надо.

Хотелось бы сделать, чтобы в поле формы_2 мое сообщение "Мой текст" было наклонным (и может быть другим цветом).
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. serg33rus 32 18.02.21 19:41 Сейчас в теме
Так поле Формы 2 - это поле ввода или Надпись. Если Надпись, то форматированная строка, а уж как ты ее отформатируешь - это на твое усмотрение. А если поле ввода, то у него свойство Шрифт. Но шрифт устанавливается уже для ВСЕГО поля ввода.
3. ovadia 19.02.21 09:36 Сейчас в теме
(2) Посмотрел. Оказывается поле Формы_2 -- это Поле HTML документа и оно получает текст в формате html.
4. serg33rus 32 19.02.21 10:41 Сейчас в теме
(3) Если формат html, то весь мир у твоих ног. В html тег <i> - курсив. Т.е. надо на этапе формирования html вставлять тэг в зависимости от каких-то условий.
5. ovadia 19.02.21 11:51 Сейчас в теме
(4) Ага. Еще можно вроде так: <em>мой текст</em>

Я добрался до форматирования этого поля в форме расширения.
Смотрю значение поля в Отладчике -- реквизит ЭтотОбъект.ПолноеОписаниеЗадачи, там стоит текст в формате <ht ml><head><body> ... </html>

Так все работает. В поле устанавливается текст "123". Новый текст перезатирает все старое в этом поле.

Процедура расш_ПолноеОписаниеЗадачиДокументСформированПосле(Элемент)
   s_new = <ht ml><body>123</body></html>
   ЭтотОбъект.ПолноеОписаниеЗадачи = s_new;
КонецПроцедуры


Потом делаю по другому.

Процедура расш_ПолноеОписаниеЗадачиДокументСформированПосле(Элемент)
   s_substring = "Мой текст";
   s_newstring = """" + s_substring + """";//на самом деле у меня  "" + s_substring + "" 
   s_summary = СтрЗаменить(ЭтотОбъект.ПолноеОписаниеЗадачи, s_substring, s_newstring);
   ЭтотОбъект.ПолноеОписаниеЗадачи = s_summary;
КонецПроцедуры


Не работает. Поле становится пустым. Ничего не отображается вообще. Ни старые, ни новые значения.
6. serg33rus 32 19.02.21 16:22 Сейчас в теме
(5)
А если сделать вот так?
s_new = <ht ml><body>123</body></html> 

Отобразится курсивом?

А зачем тэг <i> в двойных двойных кавычках? Ты же просто строку формируешь. "<i>" + "что-то там" - не срабатывает?
Но поскольку тебе надо заменить поле HTML значит и оформлять его надо как html. В начале вставить,
<ht ml><body>

а не просто текстуху совать. Хотя по идее и текстуху вроде бы должна показать. Точно уже не помню.
Оставьте свое сообщение

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