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