Имя: Пароль:
1C
 
8.2 Отбор в управляемой форме (форма списка)
0 ivant
 
17.09.10
12:18
В общем с отбором разобрался, но надо выводить элементы не в виде "ИерархическийСписок", а просто в виде "Список". Как програмно выводить список - тоже сделал, но при этом отбор сбрасывается.

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

   ОтборАдресов.Использование = Истина;
   
   ФормаВыбора.ЗакрыватьПриВыборе = Истина;
   
   лпВыбранноеЗначение = ФормаВыбора.ОткрытьМодально();
1 ivant
 
17.09.10
12:42
(+0) Делаю все тоже самое без
 
     ФормаВыбора.Элементы.Список.Отображение = ОтображениеТаблицы.Список;
и все работает. Если руками переключать в режим просмотра "Список", то тоже все ОК.
2 ivant
 
17.09.10
14:27
Уже всю голову себе сломал - не могу найти решение.
3 ivant
 
17.09.10
14:40
Если делаю

   ФормаВыбора.Открыть();
   ФормаВыбора.Элементы.Список.Отображение = ОтображениеТаблицы.Список;

то все работает... а в модальном режиме нет...
4 ivant
 
17.09.10
15:18
Все разобрался!!

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

&НаКлиенте
Процедура ПоказательАнализаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
       
   СтандартнаяОбработка = Ложь;
   ТекущиеДанные = Элементы.ДеревоЗначенийАнализы.ТекущиеДанные;
   ТекущиеДанные.ПоказательАнализа = ВыбранноеЗначение;
       
КонецПроцедуры
5 ivant
 
17.09.10
15:20
Почему не работает в модальном режиме - не знаю.
мне уже все равно! :)
Независимо от того, куда вы едете — это в гору и против ветра!