Имя: Пароль:
1C
1С v8
Установка отбора при открытии формы справочника
0 glime
 
25.04.13
17:02
Всем добрый день.
Не могу сделать ка бы элементарную вещ, установить программно при открытие управляемой формы выбора справочника отбор со сравнением на "Содержит". Пробовал:
ФормаВыбораНоменклатуры = ПолучитьФорму(
       "Справочник.Номенклатура.ФормаВыбора",
       Новый Структура("Отбор",
       Новый Структура("Наименование",
       СокрНаименование
       )
       ),
       ЭтаФорма
       );
       
       ФормаВыбораНоменклатуры.Параметры.РежимВыбора = Истина;
       ФормаВыбораНоменклатуры.ТекущийЭлемент.Отображение = ОтображениеТаблицы.Список;
       
       Номенклатура = ФормаВыбораНоменклатуры.ОткрытьМодально();
Сравнивает на равно.
1 glime
 
25.04.13
17:06
Пробовал
ФормаВыбораНоменклатуры = ПолучитьФорму(
       "Справочник.Номенклатура.ФормаВыбора",
       Новый Структура("Отбор",
       Новый Структура("Наименование",
       Новый Структура("ВидСравнения, ПравоеЗначение", ВидСравненияКомпоновкиДанных.Содержит, СокрНаименование)
       )
       ),
       ЭтаФорма
       );
       
       ФормаВыбораНоменклатуры.Параметры.РежимВыбора = Истина;
       ФормаВыбораНоменклатуры.ТекущийЭлемент.Отображение = ОтображениеТаблицы.Список;
       
       Номенклатура = ФормаВыбораНоменклатуры.ОткрытьМодально();
результат нулевой
2 glime
 
25.04.13
17:14
Вариант

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

не работает то же, но при входе во "все действия", "настройка фильтров" строка с отбором есть, но отбор не осуществлен, такое ощущение что надо перечитать данные, но как это сделать?
3 glime
 
25.04.13
17:22
вариант с влезанием в код модуля формы справочника "Номенклатура" и танцев там ПриСозданииНаСервере не канает, одно из условий не как не трогать конфигурацию
4 glime
 
25.04.13
17:44
что не кто не работал с управляемыми формами?
5 samozvanec
 
25.04.13
17:56
попробуй в (2) обновить форму выбора
6 leonidkorolev
 
26.04.13
09:02
(2) Скопировал этот код, попробовал, работает нормально.
7 glime
 
26.04.13
13:26
(5) обновить форму, это как?
(6) какой релиз? у меня 8.2.18...., не работает не в какую
8 glime
 
26.04.13
15:42
пятницо, бухатницо, ап, и тигры... далее по тексту
9 leonidkorolev
 
26.04.13
16:41
(7) 1С:Предприятие 8.2 (8.2.17.153)
10 YF
 
26.04.13
16:46
Ты же получил форму в "ФормаВыбораНоменклатуры"

в ней и установи отбор перед тем как открывать
11 glime
 
26.04.13
17:14
(10) по моему я так и делаю

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

но не работает
12 glime
 
29.04.13
09:54
апну еще раз
13 glime
 
30.04.13
09:47
все уже на праздниках?
14 glime
 
06.05.13
08:51
апну
15 glime
 
07.05.13
13:06
вверх
16 glime
 
13.05.13
16:06
тема актуальна
17 mickey1cx
 
13.05.13
18:11
Используй при установке параметров формы ФиксированныеНастройки вместо отбора

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