Расширение поля формы для поля текстового документа.ПолучитьГраницыВыделения

Методы · GetTextSelectionBounds

Получает границы выделенной области текста.

Синтаксис

ПолучитьГраницыВыделения(<НачалоСтроки>, <НачалоКолонки>, <КонецСтроки>, <КонецКолонки>)
Полное описание, параметры и ограничения

Расширение поля формы для поля текстового документа.ПолучитьГраницыВыделения (Form field extension for a text document.GetTextSelectionBounds)

Расширение поля формы для поля текстового документа (Form field extension for a text document)

ПолучитьГраницыВыделения (GetTextSelectionBounds)

Доступен, начиная с версии 8.2.

Синтаксис:
ПолучитьГраницыВыделения(<НачалоСтроки>, <НачалоКолонки>, <КонецСтроки>, <КонецКолонки>)
Параметры:

<НачалоСтроки> (обязательный)
Тип: Число.
Номер строки начала выделения.

<НачалоКолонки> (обязательный)
Тип: Число.
Номер колонки начала выделения.

<КонецСтроки> (обязательный)
Тип: Число.
Номер строки конца выделения.

<КонецКолонки> (обязательный)
Тип: Число.
Номер колонки конца выделения.
Возвращаемое значение:
Возвращает позицию курсора.
Описание:

Получает границы выделенной области текста.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент.

Примечание:
Метод можно использовать при открытом окне, в том числе в серверных вызовах.
Использование в версии:

Доступен, начиная с версии 8.2.

Методическая информация

Практические примеры

Использовать ПолучитьГраницыВыделения своего поля текстового документа

Открытое поле с тремя собственными строками получает выделение по номерам строки / колонки. Затем четыре выходных параметра читаются обратно и выводятся, не оставаясь только в синтаксической строке.

Где и как запускать

Модуль своей управляемой формы: команды &НаКлиенте после открытия окна; подготовка &НаСервере при создании.

Подготовка

  1. Создайте свою внешнюю обработку с управляемой формой. Добавьте реквизит УчебныйДокумент типа ТекстовыйДокумент и связанное поле УчебноеПоле вида ПолеТекстовогоДокумента; ПутьКДанным = УчебныйДокумент.

  2. Создайте команду Выделить с кнопкой и назначьте ей ВыделитьПервуюСтроку. В модуле формы разместите основной клиентский блок и подготовительный серверный обработчик; назначьте событие ПриСозданииНаСервере.

  3. Откройте форму в тонком клиенте и нажмите Выделить. Методы границ выделения используют поле уже открытого окна, не независимый ТекстовыйДокумент без формы.

&НаКлиенте
Процедура ВыделитьПервуюСтроку(Команда)
    Поле = Элементы.УчебноеПоле;
    Поле.УстановитьГраницыВыделения(1, 1, 1, 6);
    НачалоСтроки = 0;
    НачалоКолонки = 0;
    КонецСтроки = 0;
    КонецКолонки = 0;
    Поле.ПолучитьГраницыВыделения(НачалоСтроки, НачалоКолонки, КонецСтроки, КонецКолонки);
    Сообщить("Начало: " + Строка(НачалоСтроки) + ":" + Строка(НачалоКолонки));
    Сообщить("Конец: " + Строка(КонецСтроки) + ":" + Строка(КонецКолонки));
КонецПроцедуры
Та же форма: заполнение собственного текстового документа
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Документ = Новый ТекстовыйДокумент;
    Документ.УстановитьТекст("Книга" + Символы.ПС + "Количество: 3" + Символы.ПС + "Сумма: 750");
    ЭтаФорма.УчебныйДокумент = Документ;
КонецПроцедуры

Разбор по шагам

  1. Серверный подготовительный обработчик заполняет реквизит формы собственной строкой / строками.

  2. Клиентская команда работает с конкретным УчебноеПоле уже открытой формы.

  3. У текстового поля границы числовые; у форматированного — закладки. Эти варианты не взаимозаменяемы.

Как проверить результат

  1. Выделение установлено в первой строке собственного текста; начало / конец выведены в сообщениях.

  2. Мышью выделите другой участок и выполните только чтение границ: выходные параметры покажут текущую область. Файл и текст документа не изменяются.

Ожидаемый результат

Выделение реального собственного поля получено / восстановлено с правильными типами границ.

На что обратить внимание

  1. Границы берутся у элемента формы, не у объекта документа данных.

  2. Закладки нельзя переносить в другой документ или считать гарантированно действительными после изменения текста.

  3. Не заменяйте ЗакладкаФорматированногоДокумента числовыми индексами. Код 1С при сборке справочника не выполнялся.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.