Имя: Пароль:
1C
 
Помогите с отбором в списке
0 IoannVic
 
18.08.15
12:09
Формы управляемые. Открываю форму выбора, устанавливаю там отбор. Мне нужно чтобы пользователь имел возможность этот отбор снять. Чего-то я туплю)))

Открывал так:
ЗначениеОтбора = Новый Структура("Ссылка", ПолучитьДиректораКонтрагента(Объект.Партнер));
        ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);
        ОткрытьФорму("Справочник.ФизическиеЛица.ФормаВыбора", ПараметрыВыбора,ЭтаФорма);

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

В обоих случаях в пользовательском режиме не вижу настройки(
1 IoannVic
 
18.08.15
12:58
Мдаа, думал быстро ответ получу. Я понимаю, что копать нужно в сторону РежимаОтображенияКомпоновкиДанных и РежимаОтображенияЭлементаКомпоновкиДанных. Но вот куда именно??
2 kosts
 
18.08.15
13:02
Положи на форму реквизит отборФизическоеЛицо.
И при изменении реквизита меняй отбор. Соответственно при очистке реквизита отключай отбор.
3 IoannVic
 
18.08.15
13:08
(2) Это не совсем корректно, я бы хотел реализовать не прибегая к изменению формы Физ. лиц. То бишь компановщиком
4 IoannVic
 
18.08.15
13:12
ЕЕее, я реализовал это))

Стучаться надо было не в отбор, а в Компановщик настроек.

Может кому пригодится код

Форма = ПолучитьФорму("Справочник.ФизическиеЛица.ФормаВыбора");
        ЭлементОтбора = Форма.Список.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        Форма.Список.Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ;
        ЭлементОтбора.ЛевоеЗначение    = Новый ПолеКомпоновкиДанных("Ссылка");
        ЭлементОтбора.ВидСравнения     = ВидСравненияКомпоновкиДанных.Равно;
        ЭлементОтбора.Использование    = Истина;
        ЭлементОтбора.ПравоеЗначение   = ПолучитьДиректораКонтрагента(Объект.Партнер);      
        ЭлементОтбора.РежимОтображения   = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ;
        Форма.Открыть();
5 IoannVic
 
18.08.15
13:21
+ к (4) Необходимо указать ИдентификаторПользовательскойНастройки  
ЭлементОтбора.ИдентификаторПользовательскойНастройки   = "ВыборДиректораПартнера";
Смутно понял что это, СП невнятное что-то ответил. Но без нее не работает