В этой статье мы научимся работать с форматированной строкой. Форматированная строка позволяет разукрасить Ваше 1С приложение.
С её помощью вы сможете показать вот такой вопрос
Или вот такое предупреждение
Сейчас мы научимся с ней работать.
И первым делом научимся создавать самую простую форматированную строку, делается это при помощи конструктора Новый.
В самом простом виде форматированная строка будет выглядеть так:
ФормСтрока = Новый ФорматированнаяСтрока("Это новая форматированная строка");
В этом случае она ни чем не будет отличаться от обычной строки.
Ознакомимся с её синтаксисом. У форматированной строки, два вида конструктора.
Конструктор первый:
Новый ФорматированнаяСтрока(<Содержимое>, <Шрифт>, <ЦветТекста>, <ЦветФона>, <Ссылка>)
Где:
Содержимое – содержимое форматированной строки, может быть строка, форматированная строка (да-да, форматированную строку можно сделать на основании форматированной строки), картинка и массив, который должен состоять из строк, форматированных строк и картинок.
Шрифт – это шрифт форматированной строки (тип Шрифт, что понятно);
ЦветТекста , ЦветФона – цвет текста и цвет фона форматированной строки (Тип Цвет, что тоже понятно);
Ссылка – тип строка, можно задать ссылку на какой-то объект и тогда форматированная строка станет в виде гиперссылки.
Конструктор второй:
Новый ФорматированнаяСтрока(<Содержимое1,…,СодержимоеN>)
Где Содержимое 1 и т.д это или строка, или форматированная строка, или картинка или массив, который должен состоять из строки, форматированной строки или картинки.
Поскольку к форматированной строке, в отличие от обычной строки, нельзя применить операцию конкатенации (сложение строк), то складывать форматированные строки можно при помощи конструктора второго вида.
Научимся работать с форматированными строками. Для этого создадим обработку, создадим команду, и в обработчике команды на клиенте будем писать наши эксперименты.
Напишем, простой вариант форматированной строки:
&НаКлиенте Процедура ВывестиПредупреждение(Команда) ФормСтрока1 = Новый ФорматированнаяСтрока("Очередное предупреждение!!!"); ПоказатьПредупреждение(,ФормСтрока1); КонецПроцедуры
В этом случае наше предупреждение ни чем не будет отличаться от предупреждения с обычной строкой.
Изменим цвет, но попробуем не просто написать какой-то цвет, а взять цвет из стиля. Дело в том, что тип ЦветСтиля доступен только на сервере, поэтому нам придется использовать безконтекстный серверный вызов.
В этом случае код будет следующим
&НаСервереБезКонтекста Функция ВернутьЦветОсобогоТекстаНаСервере() Возврат ЦветаСтиля.ЦветОсобогоТекста; КонецФункции &НаСервереБезКонтекста Функция ВернутьШрифтИзСтиляНаСервер() Возврат ШрифтыСтиля.ОченьКрупныйШрифтТекста КонецФункции &НаКлиенте Процедура ВывестиПредупреждение(Команда) ЦветСтиль = ВернутьЦветОсобогоТекстаНаСервере(); ШрифтСтиль= ВернутьШрифтИзСтиляНаСервер(); ШрифтДляСтроки = Новый Шрифт(ШрифтСтиль,,,,,Истина); ФормСтрока1 = Новый ФорматированнаяСтрока("Очередное предупреждение!!!", ШрифтДляСтроки, ЦветСтиль); ПоказатьПредупреждение(,ФормСтрока1); КонецПроцедуры
И результат его работы:
Пойдем дальше, добавим еще и шрифт, тоже возьмем его из стиля, а потом немного подправим: подчеркнем.
&НаСервереБезКонтекста Функция ВернутьЦветОсобогоТекстаНаСервере() Возврат ЦветаСтиля.ЦветОсобогоТекста; КонецФункции &НаСервереБезКонтекста Функция ВернутьШрифтИзСтиляНаСервер() Возврат ШрифтыСтиля.ОченьКрупныйШрифтТекста КонецФункции &НаКлиенте Процедура ВывестиПредупреждение(Команда) ЦветСтиль = ВернутьЦветОсобогоТекстаНаСервере(); ШрифтСтиль= ВернутьШрифтИзСтиляНаСервер(); ШрифтДляСтроки = Новый Шрифт(ШрифтСтиль,,,,,Истина); ФормСтрока1 = Новый ФорматированнаяСтрока("Очередное предупреждение!!!", ШрифтДляСтроки, ЦветСтиль); ПоказатьПредупреждение(,ФормСтрока1); КонецПроцедуры
Результат будет следующий:
Теперь научимся объединять строки – создадим три разные строки, объединим и выведем в уже знакомом предупреждении.
&НаСервереБезКонтекста Функция ВернутьЦветОсобогоТекстаНаСервере() Возврат ЦветаСтиля.ЦветОсобогоТекста; КонецФункции &НаСервереБезКонтекста Функция ВернутьШрифтИзСтиляНаСервер() Возврат ШрифтыСтиля.ОченьКрупныйШрифтТекста; КонецФункции &НаКлиенте Процедура ВывестиПредупреждение(Команда) ЦветСтиль = ВернутьЦветОсобогоТекстаНаСервере(); ШрифтСтиль= ВернутьШрифтИзСтиляНаСервер(); ШрифтДляСтроки1 = Новый Шрифт(ШрифтСтиль,,,Истина); ШрифтДляСтроки2 = Новый Шрифт(ШрифтСтиль,,,,Истина); ШрифтДляСтроки3 = Новый Шрифт(ШрифтСтиль,,,,,,Истина); ФормСтрока1 = Новый ФорматированнаяСтрока("Последнее",ШрифтДляСтроки1,ЦветСтиль); ФормСтрока2 = Новый ФорматированнаяСтрока("китайское",ШрифтДляСтроки2,ЦветСтиль); ФормСтрока3 = Новый ФорматированнаяСтрока("предупреждение!",ШрифтДляСтроки3,ЦветСтиль); Массив = Новый Массив; Массив.Добавить(ФормСтрока1); Массив.Добавить(Символы.ПС); Массив.Добавить(ФормСтрока2); Массив.Добавить(Символы.ПС); Массив.Добавить(ФормСтрока3); ФормСтрока = Новый ФорматированнаяСтрока(Массив); ПоказатьПредупреждение(,ФормСтрока); КонецПроцедуры
Результат этого кода будет следующим:
А теперь вставим ссылку.
&НаКлиенте Процедура ВывестиПредупреждение(Команда) ЦветСтиль = ВернутьЦветОсобогоТекстаНаСервере(); ШрифтСтиль= ВернутьШрифтИзСтиляНаСервер(); ШрифтДляСтроки1 = Новый Шрифт(ШрифтСтиль,,,Истина); ФормСтрока = Новый ФорматированнаяСтрока("Прочитать информацию о платформе 1С", ШрифтДляСтроки1, ЦветСтиль,, "http://v8.1c.ru/overview/"); ПоказатьПредупреждение(,ФормСтрока); КонецПроцедуры
Точно так же можно вставить любую навигационную ссылку
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника;
Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Вступайте в мои группы:
Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009
Добрый день. А в ячейку табличного макета форматированную строку можно вставлять как — то?
Как сохранить в базе форматированную строку?
Save
Спасибо, нашел то что искал. Выручил!
+100500 тебе в карму!