В многострочном строковом поле ввода обрабатываю ИзменениеТекстаРедактирования. Обработанные строки удаляю, необработанные оставляю. Процедура выглядит так:

```1c
    &НаКлиенте
    Процедура СканируемыеСтрокиИзменениеТекстаРедактирования(Элемент, Текст, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;
    НераспознанноеОкончание = РасшифроватьТекстСоШтрихкодами(Текст);

    Если ЗначениеЗаполнено(НераспознанноеОкончание) Тогда
    ДлинаТекста = СтрДлина(НераспознанноеОкончание);
    СканируемыеСтроки = НераспознанноеОкончание;
    Элементы.СканируемыеСтроки.УстановитьГраницыВыделения(ДлинаТекста, ДлинаТекста);
    КонецЕсли;

    КонецПроцедуры
```

Проблема в том, что в результате действий курсор становится в начало строки, а мне нужно, чтобы пользователь продолжал писать там, где он был прерван обработкой, то есть в конце строки.
Элементы.СканируемыеСтроки.УстановитьГраницыВыделения не производит никаких действий - курсор остается в начале строчки.
---
Текст при установке еще не попал на форму и поэтому курсор не двигается.

```1c
    &НаКлиенте
    Процедура СканируемыеСтрокиИзменениеТекстаРедактирования(Элемент, Текст, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;
    НераспознанноеОкончание = РасшифроватьТекстСоШтрихкодами(Текст);

    Если ЗначениеЗаполнено(НераспознанноеОкончание) Тогда
    СканируемыеСтроки = НераспознанноеОкончание;
    ПодключитьОбработчикОжидания("УстановитьГраницы", 0.1, Истина);
    КонецЕсли;

    КонецПроцедуры

    &НаКлиенте
    Процедура УстановитьГраницы()

    ДлинаТекста = СтрДлина(СканируемыеСтроки);

    Элементы.СканируемыеСтроки.УстановитьГраницыВыделения(ДлинаТекста, ДлинаТекста);

    КонецПроцедуры
```
---
Текст при установке еще не попал на форму и поэтому курсор не двигается.

```1c
    &НаКлиенте
    Процедура СканируемыеСтрокиИзменениеТекстаРедактирования(Элемент, Текст, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;
    НераспознанноеОкончание = РасшифроватьТекстСоШтрихкодами(Текст);

    Если ЗначениеЗаполнено(НераспознанноеОкончание) Тогда
    СканируемыеСтроки = НераспознанноеОкончание;
    ПодключитьОбработчикОжидания("УстановитьГраницы", 0.1, Истина);
    КонецЕсли;

    КонецПроцедуры

    &НаКлиенте
    Процедура УстановитьГраницы()

    ДлинаТекста = СтрДлина(СканируемыеСтроки);

    Элементы.СканируемыеСтроки.УстановитьГраницыВыделения(ДлинаТекста, ДлинаТекста);

    КонецПроцедуры
```
---
В дополнение к (2): достаточно написать "ОбновитьОтображениеДанных(ТвойЭлемент")" после этого можно использовать "УстановитьГраницыВыделения"
---
ОбновитьОтображениеДанных(ТвойЭлемент"), заработало, спасибо
---
Разработчики платформы - горите в аду, за такую херню!
---
!!!!!
---
Если кому то поможет мой кусок рабочего выделения(делал для себя для отладки json в текстовом поле).

```1c
    &НаКлиенте
    Процедура НайтиПозицию(Команда)

    ЧислоПоиска = 0;
    ОповещениеПоиск = Новый ОписаниеОповещения("ПослеВводаПозиции",ЭтаФорма);
    ПоказатьВводЧисла(ОповещениеПоиск,ЧислоПоиска,"Введите позицию");

    КонецПроцедуры

    &НаКлиенте
    Процедура ПослеВводаПозиции(Число, Параметры) Экспорт
    Если НЕ Число = Неопределено Тогда
    ЭтаФорма.ТекущийЭлемент = Элементы.ПолеОтладки;
    Элементы.ПолеОтладки.УстановитьГраницыВыделения(Число,Число + 1);
    Иначе
    ПоказатьПредупреждение(,"Позиция не найдена",,"Внимание");
    КонецЕсли;
    КонецПроцедуры;
```