Имя: Пароль:
1C
 
8.2 Отбор на управляемой форме
0 butterbean
 
15.03.11
11:20
Пытаюсь разместить таб. поле типа Отбор на управляемой форме, ничего не получается - таблица не отображается и при попытке заполнять мой отбор через ЗначениеВДанныеФормы(ТутОтборИзКоторогоЗаполняю,Объект.МойОтбор) пишет неверный параметр 1.
В поиске нашел, что можно делать через компоновщик настроек СКД, сделал, на форме все отобразилось, но инициализировать компоновщик удается только на сервере, а на клиенте он снова становится "пустой", т.е. доступные поля не заполнены.
Подскажите, плиз, куда смотреть, где почитать...
1 Mitriy
 
15.03.11
11:24
Отбор (Filter)

...

Доступность:

Сервер, толстый клиент, внешнее соединение.
2 butterbean
 
15.03.11
11:25
(1) и че
3 Mitriy
 
15.03.11
11:26
(2) обычный Отбор недоступен на клиенте... надо с ОтборКомпоновкиДанных париться...
4 Stepa86
 
15.03.11
11:26
Смотри в УТ11 ОбщаяФорма.УпрощеннаяНастройкаСхемыКомпоновкиДанных  может поможет...

а вообще цель какая основная?
5 Mort
 
15.03.11
11:27
(3)
- Кто там?
- Смерть.
- И чо?
- Да собсна и всё..
6 Mort
 
15.03.11
11:27
(5)->(2)
7 butterbean
 
15.03.11
11:29
(4) к сожалению под рукой нет УТ 11 :-(
цель такая: юзер задает отбор, который передается в построитель, из которого заполняется таб. поле, в котором юзер работает. В 8.1 все прекрасно пашет, а я вот попытался на 8.2 это воспроизвести...
8 butterbean
 
15.03.11
11:30
(6) я не очень силен в упр. формах. Там как я понял Отбор представляется в виде ДанныеФормыКоллекция, меня это в принципе устраивает, тем более оно выгружается в таблицу значений если надо
9 Stepa86
 
15.03.11
11:32
(7) под 8.2 на обычной форме думаю так же прекрасно будет пахать. Так же может тебя удовлетворит динамический список, как замена таб. поля + отбор из построителя.

Если хочешь чего то делать на 8.2, то УТ11 очень рекомендую расковырять...
10 Stepa86
 
15.03.11
11:34
(8) не уверен, что СКДшный отбор можно выгрузить в тз, там можно хитрые условия делать с И, ИЛИ и НЕ группами
11 butterbean
 
15.03.11
11:34
(9) спс, расковыряю непременно как только доберусь до него
12 butterbean
 
15.03.11
12:30
Может у кого еще мысли есть...
13 Mitriy
 
15.03.11
12:43
вот пример работы с отбором списка документов (динамического списка) в управляемой форме:

&НаСервере
Процедура УстановитьОтбор(ПараметрыОтбора);
   УстановитьОтборСписка(СписокСделок,ПараметрыОтбора);    
КОнецПроцедуры

&НаСервереБезКонтекста
Процедура УстановитьОтборСписка(СписокДокументов,ПараметрыОтбора)
   ЭлементыОтбора = СписокДокументов.Отбор.Элементы;
   ЭлементОтбораДанных = Неопределено;

   Для Каждого ЭлементОтбора Из ЭлементыОтбора Цикл
       Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент") Тогда
           Если ЭлементОтбораДанных = Неопределено Тогда
               ЭлементОтбораДанных = ЭлементОтбора;
           Иначе
               ЭлементОтбора.Использование = Ложь;
           КонецЕсли;
       КонецЕсли;
   КонецЦикла;

   Если ЭлементОтбораДанных = Неопределено Тогда
       ЭлементОтбораДанных = ЭлементыОтбора.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
       ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент");
   КонецЕсли;

   ЭлементОтбораДанных.Использование = Истина;
   ЭлементОтбораДанных.ПравоеЗначение = ПараметрыОтбора["Контрагент"];    
КонецПроцедуры

&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)    
   ПараметрыОтбора = Новый Соответствие();
   ПараметрыОтбора.Вставить("Контрагент", Элемент.ТекущаяСтрока);
   
   УстановитьОтбор(ПараметрыОтбора);    
КонецПроцедуры

для самого динамического списка можно задавать свой запрос, причем с параметрами, работа с параметрами динамического списка выглядит примерно так:

Список.Параметры.УстановитьЗначениеПараметра("ИмяПараметра", ЗначениеПараметра);