0
le_
12.09.10
✎
02:13
|
Имеется управляемая форма элемента справочника.
На этой форме размещено табличное поле со списком элементов подчиненного справочника.
При открытии этой формы в списке подчиненных элементов устанавливается отбор таким образом:
&НаКлиенте
Перем ОтборАдресов;
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Если ОтборАдресов = Неопределено Тогда
ОтборАдресов = АдресаДоставки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
КонецЕсли;
ОтборАдресов.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Владелец");
ОтборАдресов.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборАдресов.ПравоеЗначение = Объект.Ссылка;
ОтборАдресов.Использование = Истина;
КонецПроцедуры
Всё работает, отбор при открытии устанавливается.
Если в этот справочник вводится новый элемент, то после его записи нужно установить отбор в списке подчиненных.
Делаю так:
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
Если ОтборАдресов = Неопределено Тогда
ОтборАдресов = АдресаДоставки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
КонецЕсли;
ОтборАдресов.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Владелец");
ОтборАдресов.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборАдресов.ПравоеЗначение = Объект.Ссылка;
ОтборАдресов.Использование = Истина;
КонецПроцедуры
Результат: после записи отбор сохраняется таким, как был до записи, т.е., там пустая ссылка.
Пробежался по процедуре ПослеЗаписи отладчиком - везде все заполняется, в том числе правое значение, НО в АдресаДоставки.Отбор.Элементы[0] всё остается неизменным. И не понятно почему...
Подскажите, плз, как и что сделать, чтобы получить нужное.
|
|