Чтобы в поле ввода текстового поля не пропадало значение обработке события ИзменениеТекстаРедактирования, я использовал следующее:
вызывал процедуру на сервере, которая заполняет значение соответствующего реквизита значением параметра Текст процедуры ИзменениеТекстаРедактирования. Это позволит не пропадать введенному значению по окончании ввода
свойства элемента поля ввода ОбновлениеТекстаРедактирования установил равным "Не использовать" - при установке этого значения весь текст в поле ввода не делается выделенным и при продолжении ввода не удаляется.
Если в конфигурации используется БСП, то при отладке нужно вычислять функцию "ОбщегоНазначения.ЗапросВСтрокуXML(Запрос)". Скопировать полученный тест XML и вставить его в консоли запросов (Все действия / Заполнить из XML)
Чтобы при закрытии формы возвращалось значение, надо в параметрах метода Закрыть() указать нужное значение, например Закрыть(Объект.Ссылка);.
Если форму можно закрыть разными методами (кнопка "Выбор", "Закрыть", "Отмена" и т.д.), а возвращать какое-то значение надо всегда, тогда в процедуру формы ПриЗакрытии() надо добавит метод ОповеститьОВыборе(<значение>), например ОповеститьОВыборе(Объект.Ссылка);