Изменение отбора программно на управляемой форме не закрывая ее

1. SolertElit 28.10.20 06:43 Сейчас в теме
Приветствую. Требуется, чтобы при двойном щелчке на список составов открывался список вагонов, в котором указаны только вагоны этого состава. Прописал в событии Выбор списка составов открытие формы списка вагонов с отбором, и вроде все работало, но если не закрывать форму (управляемая), а нажимать назад, и снова выбирать состав, то открывается список вагонов с предыдущим значением отбора. Как можно это исправить?

Пример: нажимаю на 2-ой состав, показываются вагоны 2-го состава, жму назад, нажимаю 3-ий состав. И все равно показываются вагоны 2-го состава.

Код:
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
	КодЭлемента = Элемент.ТекущиеДанные.Код;
	ПараметрыФормы = Новый Структура("РежимВыбора, Отбор", Истина, Новый Структура("ИндексСостава", КодЭлемента)); 
	ОткрытьФорму("Справочник.Вагоны.ФормаСписка", ПараметрыФормы);
КонецПроцедуры
По теме из базы знаний
Найденные решения
2. dandykry 12 28.10.20 07:05 Сейчас в теме
(1) Например оповестить открытую форму о смене отбора.

Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    КодЭлемента = Элемент.ТекущиеДанные.Код;
    ПараметрыФормы = Новый Структура("РежимВыбора, Отбор", Истина, Новый Структура("ИндексСостава", КодЭлемента)); 
     Оповестить("ИмяМоегоСобытия", ПараметрыФормы,  "ИсточникНеобязательныйНоМожетПригодиться") ;
    ОткрытьФорму("Справочник.Вагоны.ФормаСписка", ПараметрыФормы);
КонецПроцедуры


//ну и в Справочник.Вагоны.ФормаСписка добавить событие обработки оповещения

Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)

Если ИмяСобытия = "ИмяМоегоСобытия" Тогда

ИзменитьОтборыФормы()
.....................
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dandykry 12 28.10.20 07:05 Сейчас в теме
(1) Например оповестить открытую форму о смене отбора.

Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    КодЭлемента = Элемент.ТекущиеДанные.Код;
    ПараметрыФормы = Новый Структура("РежимВыбора, Отбор", Истина, Новый Структура("ИндексСостава", КодЭлемента)); 
     Оповестить("ИмяМоегоСобытия", ПараметрыФормы,  "ИсточникНеобязательныйНоМожетПригодиться") ;
    ОткрытьФорму("Справочник.Вагоны.ФормаСписка", ПараметрыФормы);
КонецПроцедуры


//ну и в Справочник.Вагоны.ФормаСписка добавить событие обработки оповещения

Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)

Если ИмяСобытия = "ИмяМоегоСобытия" Тогда

ИзменитьОтборыФормы()
.....................
Показать
3. SolertElit 28.10.20 07:41 Сейчас в теме
(2) Так, с событием понятно, а как отбор изменить?

P.S. Всё, разобрался. Нужно было очищать
Список.Отбор.Элементы.Очистить()
перед добавлением нового.
dandykry; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот