Есть простая форма с полем ввода и кнопкой. При нажатии на кнопку запускается обработчик ожидания и с периодичностью в 1 секунду изменяется цвет рамки формы, а так же свойство растягивания по горизонтали.
Для этого прописываю, допустим, вот такой простой код:

```1c
    &НаКлиенте
    Процедура ВключитьАнимацию(Команда)
    ПодключитьОбработчикОжидания("ВыполнитьАнимацию",1);
    КонецПроцедуры

    &НаКлиенте
    Процедура ВыполнитьАнимацию() Экспорт
    Если Элементы.ВключитьАнимацию.ЦветРамки=Новый Цвет(255,0,0) Тогда
    Элементы.ВключитьАнимацию.ЦветРамки=Новый Цвет(255,255,255);
    Элементы.ВключитьАнимацию.РастягиватьПоГоризонтали=Истина;
    Иначе
    Элементы.ВключитьАнимацию.ЦветРамки=Новый Цвет(255,0,0);
    Элементы.ВключитьАнимацию.РастягиватьПоГоризонтали=Ложь;
    КонецЕсли;
    КонецПроцедуры
```

Все работает, но возникает проблема - если написать какой то текст в поле ввода над кнопкой и после этого выполняется "анимация", то текст пропадает, то есть значение свойства "ТекстРедактирования" у элемента поля формы очищается. Придумал 2 варианта:
1) сразу при вводе значения в текст редактирования запихивать данных текст в реквизит формы;
2) перед выполнением в обработчике анимации перетянуть текст редактирования в значение реквизита формы.

Выбрал второй вариант, но столкнулся с проблемой. Код:

```1c
    &НаКлиенте
    Процедура ВключитьАнимацию(Команда)
    ПодключитьОбработчикОжидания("ВыполнитьАнимацию",1);
    КонецПроцедуры

    &НаКлиенте
    Процедура ВыполнитьАнимацию() Экспорт
    СоотвецтвиеНазанияЗначению=ПолучитьЭлементПамяти();
    Для каждого ЭлементФормы Из ЭтаФорма.Элементы Цикл
    //здесь для каждого "ЭлементФормы" необходимо было бы найти "Путь к данным" в котором хранится реквизит формы в который нужно было бы записать значение текста редактирования, который хранится в "СоотвецтвиеНазанияЗначению", но "Путь к данным" доступен только на сервере!!!
    КонецЦикла;

    Если Элементы.ВключитьАнимацию.ЦветРамки=Новый Цвет(255,0,0) Тогда
    Элементы.ВключитьАнимацию.ЦветРамки=Новый Цвет(255,255,255);
    Элементы.ВключитьАнимацию.РастягиватьПоГоризонтали=Истина;
    Иначе
    Элементы.ВключитьАнимацию.ЦветРамки=Новый Цвет(255,0,0);
    Элементы.ВключитьАнимацию.РастягиватьПоГоризонтали=Ложь;
    КонецЕсли;

    //ВосстановитьПамятьФормы(СоотвецтвиеНазанияЗначению);
    КонецПроцедуры

    &НаКлиенте
    Функция ПолучитьЭлементПамяти()
    СоотвецтвиеНазанияЗначению=Новый Соответствие;
    Для каждого ЭлементФормы Из ЭтаФорма.Элементы Цикл
    Попытка
    Текст=ЭлементФормы.ТекстРедактирования;
    СоотвецтвиеНазанияЗначению.Вставить(ЭлементФормы.Имя,Текст);
    Исключение
    Продолжить;
    КонецПопытки;
    КонецЦикла;
    Возврат СоотвецтвиеНазанияЗначению;
    КонецФункции
```

Проблема (комментарий в коде): для получения данных о пути к данным нужно выполнить серверную контекстную процедуру, после форма обновиться. Естественно я ее смогу заполнить из "СоотвецтвиеНазанияЗначению", но если пользователь не только вводил текст в поля, а еще и прокрутил форму чуть выше, то форму дернет до самого верха в начальное положение, то есть серверные контекстные вызовы нужно исключить.
Как тогда можно в обработчике ожидания без серверных контекстных вызовов "перегрузить" данные с текста редактирования в реквизит формы что бы все тексты редактирования и положение в окне формы не изменилось?
---
Напишу на всякий случай: Изменение свойства "РастягиватьПоГоризонтали" на клиенте требует обращения к серверу

Попробуйте изменить свойство Обновление текста редактирования у поля ввода, должно помочь
---
Кажется, здесь была похожая проблема [Механизм интерфейса] Часы
---
Отличная статья, точнее закреплённый комментарий, а про ХТМЛ знал:) Спасибо за помощь!
---
Напишу на всякий случай: Изменение свойства "РастягиватьПоГоризонтали" на клиенте требует обращения к серверу

Попробуйте изменить свойство Обновление текста редактирования у поля ввода, должно помочь
---
Обновление текста редактирования

Спасибо. Нашел. То что нужно, не знал!
ОбновлениеТекстаРедактирования (EditTextUpdate)
Использование:
Чтение и запись.
Описание:
Тип: ОбновлениеТекстаРедактирования.
Управляет режимом обновления текста.
Значение по умолчанию Авто.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер).
Примечание:
В режиме совместимости конфигурации Версия8_2_13 не влияет на поведение поля ввода управляемой формы.
В остальных случаях влияет на то, в каких ситуациях будет обновляться текст в поле ввода при установке значения.

При выполнении такого кода и установке свойства "Обновление текста редактирования" в положение "При изменении значения" проблема исчезает. Текст можно продолжать набирать и он никуда не исчезает. Круто!)

```1c
    &НаКлиенте
    Процедура ВключитьАнимацию(Команда)
    ПодключитьОбработчикОжидания("ВыполнитьАнимацию",1);
    КонецПроцедуры

    &НаКлиенте
    Процедура ВыполнитьАнимацию() Экспорт
    Если Элементы.ВключитьАнимацию.ЦветРамки=Новый Цвет(255,0,0) Тогда
    Элементы.ВключитьАнимацию.ЦветРамки=Новый Цвет(255,255,255);
    Элементы.ВключитьАнимацию.РастягиватьПоГоризонтали=Истина;
    Иначе
    Элементы.ВключитьАнимацию.ЦветРамки=Новый Цвет(255,0,0);
    Элементы.ВключитьАнимацию.РастягиватьПоГоризонтали=Ложь;
    КонецЕсли;
    КонецПроцедуры
```

П.С. (как писали выше): РастягиватьПоГоризонтали делает Серверный вызов;