Тип: Строка. Содержит текст форматированного документа.
Полное описание, параметры и ограничения
ТекстФорматированногоДокумента.Текст (FormattedDocumentText.Text)
ТекстФорматированногоДокумента (FormattedDocumentText)
Текст (Text)
Доступен, начиная с версии 8.3.1.
Использование:
Чтение и запись.
Описание:
Тип: Строка.
Содержит текст форматированного документа.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.3.1.
Методическая информация
Практические примеры
Получить пересекающиеся элементы и выделить точные элементы выбранного слова
В одном текстовом элементе Книга и Ручка выбираем только Ручка. ПолучитьЭлементы не режет элемент, а СформироватьЭлементы при необходимости меняет структуру.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Отдельная учебная база, серверный общий модуль УчебныеЗадачи. Фрагмент без директив вставьте в тело ВыполнитьПример() Экспорт.
Документ создаётся заново в памяти при каждом запуске. Существующие реквизиты, файлы и документы конфигурации не меняются.
Сообщения показывают контрольные проверки. Для визуального просмотра оформления используйте отдельную задачу с полным модулем учебной формы.
Документ = Новый ФорматированныйДокумент;
Документ.Добавить("Книга и Ручка");
До = Документ.ПолучитьТекст();
Область = Документ.НайтиТекст("Ручка");
Если Область = Неопределено Тогда
ВызватьИсключение "Нет ожидаемого слова Ручка";
КонецЕсли;
Пересекающиеся = Документ.ПолучитьЭлементы(Область.ЗакладкаНачала, Область.ЗакладкаКонца);
Сообщить(Пересекающиеся.Количество() = 1);
Сообщить(Пересекающиеся[0].Текст = "Книга и Ручка");
Точные = Документ.СформироватьЭлементы(Область.ЗакладкаНачала, Область.ЗакладкаКонца);
Сообщить(Точные.Количество() = 1);
Сообщить(Точные[0].Текст = "Ручка");
Точные[0].ЦветТекста = Новый Цвет(180, 30, 30);
Сообщить(Документ.ПолучитьТекст() = До);Разбор по шагам
Один Добавить создаёт один текстовый элемент с полным содержимым Книга и Ручка.
Поиск слова возвращает диапазон внутри этого элемента.
ПолучитьЭлементы включает даже частично входящие элементы, поэтому возвращает исходный полный текстовый элемент.
СформироватьЭлементы делит текстовый элемент так, чтобы выбранный диапазон содержал элементы полностью. Результат теперь содержит именно Ручка.
Красим только точный элемент. Видимый текст не изменился, но внутренняя структура и оформление изменились.
Как проверить результат
Все пять сообщений Истина: до разделения полный элемент, после — точное слово Ручка.
Обычный текст остался Книга и Ручка; при отображении документа красным будет только Ручка.
Ожидаемый результат
Освоено существенное различие двух похожих методов и точное оформление фрагмента.
На что обратить внимание
СформироватьЭлементы — не чистый read-only поиск: он может разделять элементы документа.
После разделения не полагайтесь на прежнее количество элементов и их индексы.
На тексте с несколькими стилями результат может содержать несколько элементов, а не один. Один здесь обусловлен подготовкой.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Отличить текстовый элемент, его параграф и перевод строки
В одном параграфе создаём две строки Книга и Ручка. Текст и перевод строки имеют общую родительскую структуру, но разные типы.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Отдельная учебная база, серверный общий модуль УчебныеЗадачи. Фрагмент без директив вставьте в тело ВыполнитьПример() Экспорт.
Документ создаётся заново в памяти при каждом запуске. Существующие реквизиты, файлы и документы конфигурации не меняются.
Сообщения показывают контрольные проверки. Для визуального просмотра оформления используйте отдельную задачу с полным модулем учебной формы.
Документ = Новый ФорматированныйДокумент;
Первый = Документ.Добавить("Книга");
Первый.Текст = "Книга";
Первый.Шрифт = Новый Шрифт("Arial", 12, Истина);
Первый.ЦветТекста = Новый Цвет(30, 60, 90);
Первый.ЦветФона = Новый Цвет(245, 248, 250);
Первый.НавигационнаяСсылка = "";
Перевод = Документ.Добавить(Неопределено, Тип("ПереводСтрокиФорматированногоДокумента"));
Второй = Документ.Добавить("Ручка");
Параграф = Первый.Родитель;
Параграф.ТипПараграфа = ТипПараграфаФорматированногоДокумента.Обычный;
Сообщить(Перевод.Родитель = Параграф);
Сообщить(Второй.Родитель = Параграф);
Сообщить(Первый.НавигационнаяСсылка = "");
Сообщить(Документ.ПолучитьТекст(Первый.ЗакладкаНачала, Первый.ЗакладкаКонца) = "Книга");
Сообщить(Документ.ПолучитьПозициюПоЗакладке(Первый.ЗакладкаКонца) - Документ.ПолучитьПозициюПоЗакладке(Первый.ЗакладкаНачала) = 5);
Сообщить(Документ.ПолучитьПозициюПоЗакладке(Перевод.ЗакладкаКонца) > Документ.ПолучитьПозициюПоЗакладке(Перевод.ЗакладкаНачала));
Сообщить(Документ.ПолучитьТекст(Параграф.ЗакладкаНачала, Параграф.ЗакладкаКонца) = Документ.ПолучитьТекст());Разбор по шагам
Добавить возвращает созданный текстовый элемент. Оформление относится к нему, а выравнивание/тип списка — к его параграфу.
Параметр ТипЭлемента=ПереводСтрокиФорматированногоДокумента вставляет перевод строки внутри параграфа, не новый параграф.
Родитель у текста и перевода строки — ПараграфФорматированногоДокумента; он только для чтения.
Закладки ограничивают диапазон элемента. По ним извлекаем только Книга и сравниваем длину диапазона с пятью символами.
НавигационнаяСсылка установлена пустой: упражнение не создаёт переход к сайту или чужому объекту.
Как проверить результат
Все семь сравнений Истина: оба текста и перевод относятся к одному параграфу; диапазон первого текста содержит Книга.
В полном тексте есть перевод строки между названиями; новый параграф не создаётся.
Ожидаемый результат
Показана иерархия и реальные диапазоны текстовых элементов.
На что обратить внимание
Текстовое оформление не является заменой данных реквизитов/таблиц: здесь это только представление.
После структурного редактирования не считайте старые числовые позиции неизменными.
Не создавайте ссылку на произвольный внешний ресурс только ради демонстрации свойства.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.