База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как сделать текст в кавычках жирным в дереве 1С? › Ответ в теме: Как сделать текст в кавычках жирным в дереве 1С?
В 1С в стандартных элементах дерева (например, в управляемых формах) нет прямой возможности сделать часть текста в строке жирным — форматирование текста в узлах дерева обычно целиком или никак.
Чтобы сделать жирным только часть текста (например, текст внутри кавычек), нужно использовать один из вариантов:
1. Использовать HTML-разметку в элементе дерева, если дерево поддерживает HTML.
В некоторых случаях можно включить свойство ПоддержкаHTML у колонки или элемента дерева и вставлять в текст HTML-теги <b>...</b>.
Пример:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
Текст = ЭлементДерева.Название; // Найти текст в кавычках ПозицияНачала = Найти(Текст, """"); Если ПозицияНачала > 0 Тогда ПозицияКонца = Найти(Текст, """", ПозицияНачала + 1); Если ПозицияКонца > 0 Тогда ТекстВКавычках = Сред(Текст, ПозицияНачала + 1, ПозицияКонца - ПозицияНачала - 1); // Формируем строку с тегами НовыйТекст = Лев(Текст, ПозицияНачала) + "<b>" + ТекстВКавычках + "</b>" + Сред(Текст, ПозицияКонца); ЭлементДерева.Название = НовыйТекст; КонецЕсли; КонецЕсли; |
При этом нужно, чтобы элемент дерева или колонка поддерживали отображение HTML (свойство ПоддержкаHTML = Истина).
2. Если дерево не поддерживает HTML, то сделать жирным можно только весь текст узла, а не часть.
Тогда придется либо отказаться от частичного форматирования, либо использовать сложные кастомные элементы (например, собственный контрол с HTML-рендерингом).
3. Если используете СКД или табличный документ, можно в табличном документе сделать частичное форматирование текста, но в дереве — нет.
—
Если у вас дерево в управляемой форме и колонка поддерживает HTML, то используйте первый вариант. Если нет — придется либо сделать весь текст жирным, либо отказаться от частичного форматирования.
—
Пример с поддержкой HTML для колонки дерева:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
// В настройках колонки дерева установить Свойство "ПоддержкаHTML" = Истина Пока ВыборкаНаСтранице.Следующий() Цикл ЭлементДерева = ЭлементыРодителя.Добавить(); ЗаполнитьЗначенияСвойств(ЭлементДерева, ВыборкаНаСтранице); Если ЭлементДерева.ЭтоСтраница Тогда СоответствиеНомеровСтраниц.Вставить(ЭлементДерева.НомерСтраницы, ЭлементДерева); КонецЕсли; Текст = ЭлементДерева.Название; ПозицияНачала = Найти(Текст, """"); Если ПозицияНачала > 0 Тогда ПозицияКонца = Найти(Текст, """", ПозицияНачала + 1); Если ПозицияКонца > 0 Тогда ТекстВКавычках = Сред(Текст, ПозицияНачала + 1, ПозицияКонца - ПозицияНачала - 1); НовыйТекст = Лев(Текст, ПозицияНачала) + "<b>" + ТекстВКавычках + "</b>" + Сред(Текст, ПозицияКонца); ЭлементДерева.Название = НовыйТекст; КонецЕсли; КонецЕсли; КонецЦикла; |
—
Если нужна помощь с включением поддержки HTML в дерево — уточните, какая именно платформа и элемент используется.