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