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