Устанавливает границы выделения.
Синтаксис
УстановитьГраницыВыделения(<Начало>, <Конец>)Полное описание, параметры и ограничения
Расширение поля формы для поля форматированного документа.УстановитьГраницыВыделения (Form field extension for a formatted document.SetTextSelectionBounds)
Расширение поля формы для поля форматированного документа (Form field extension for a formatted document)
УстановитьГраницыВыделения (SetTextSelectionBounds)
Доступен, начиная с версии 8.2.
Синтаксис:
УстановитьГраницыВыделения(<Начало>, <Конец>)
Параметры:
<Начало> (обязательный)
Тип: ЗакладкаФорматированногоДокумента.
Новая позиция начала выделения.
<Конец> (обязательный)
Тип: ЗакладкаФорматированногоДокумента.
Новая позиция конца выделения.
Описание:
Устанавливает границы выделения.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент.
Примечание:
Метод можно использовать при открытом окне, в том числе в серверных вызовах.
Использование в версии:
Доступен, начиная с версии 8.2.
Методическая информация
Практические примеры
Использовать УстановитьГраницыВыделения своего поля форматированного документа
Границы форматированного документа — настоящие ЗакладкаФорматированногоДокумента, полученные от поля открытой формы. Они сохраняются и возвращаются тому же полю, а не заменяются выдуманными числами.
Где и как запускать
Модуль своей управляемой формы: команды &НаКлиенте после открытия окна; подготовка &НаСервере при создании.
Подготовка
Создайте свою внешнюю обработку с управляемой формой. В форме добавьте реквизит УчебныйДокумент типа ФорматированныйДокумент и связанное поле УчебноеПоле вида ПолеФорматированногоДокумента; ПутьКДанным = УчебныйДокумент.
В начале модуля формы, перед процедурами, объявите Перем УчебноеНачало, УчебныйКонец; Это переменные одной открытой формы, не реквизиты конфигурации и не числа-позиции.
Создайте команды Запомнить и Восстановить с кнопками и обработчиками ЗапомнитьВыделение / ВосстановитьВыделение. Оба клиентских блока вставьте на уровне модуля; назначьте ПриСозданииНаСервере подготовительному обработчику.
Откройте форму в тонком клиенте. Мышью выделите часть собственного текста, нажмите Запомнить, измените выделение без редактирования текста, затем нажмите Восстановить.
&НаКлиенте
Процедура ВосстановитьВыделение(Команда)
Если УчебноеНачало = Неопределено Или УчебныйКонец = Неопределено Тогда
Сообщить("Сначала выделите текст и нажмите Запомнить");
Возврат;
КонецЕсли;
Элементы.УчебноеПоле.УстановитьГраницыВыделения(УчебноеНачало, УчебныйКонец);
Сообщить("Восстановлены закладки выделения того же документа");
КонецПроцедурыТа же открытая форма: парная клиентская команда
&НаКлиенте
Процедура ЗапомнитьВыделение(Команда)
Элементы.УчебноеПоле.ПолучитьГраницыВыделения(УчебноеНачало, УчебныйКонец);
Сообщить("Закладки текущего выделения сохранены в переменных формы");
Сообщить("Не изменяйте текст до восстановления закладок");
КонецПроцедурыПодготовка собственных данных при создании формы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Документ = Новый ФорматированныйДокумент;
Документ.УстановитьФорматированнуюСтроку(Новый ФорматированнаяСтрока("Книга: 3 штуки по 250 рублей, сумма 750"));
ЭтаФорма.УчебныйДокумент = Документ;
КонецПроцедурыРазбор по шагам
Серверный подготовительный обработчик заполняет реквизит формы собственной строкой / строками.
Клиентская команда работает с конкретным УчебноеПоле уже открытой формы.
У текстового поля границы числовые; у форматированного — закладки. Эти варианты не взаимозаменяемы.
Как проверить результат
Нажатие Восстановить до Запомнить показывает понятное сообщение и не вызывает метод с пустыми закладками.
После сохранения и смены выделения восстанавливается выделение собственного текста. Текст не меняется и не сохраняется в файл.
Ожидаемый результат
Выделение реального собственного поля получено / восстановлено с правильными типами границ.
На что обратить внимание
Границы берутся у элемента формы, не у объекта документа данных.
Закладки нельзя переносить в другой документ или считать гарантированно действительными после изменения текста.
Не заменяйте ЗакладкаФорматированногоДокумента числовыми индексами. Код 1С при сборке справочника не выполнялся.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.