Имя: Пароль:
1C
1С v8
СКД. Параметр. Отбор по открывающемуся списку.
0 Evgenii_1980
 
18.06.14
05:08
Доброго времени суток. Прошу помощи.
Отчет на СКД. Есть параметр: "Настройки" справочник ссылка. Необходимо, что бы пользователи видели только предназначенные им настройки для выбора в параметр - отбор.

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

Как тоже самое сделать при открытии параметра пользователем в СКД?
Застрял, подскажите пожалуйста.
1 Evgenii_1980
 
18.06.14
05:15
Пробовал вот так:
Процедура: ПриОткрытии формы СКД:

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

не работает (
2 Evgenii_1980
 
18.06.14
05:22
Забыл уточнить. Управляемые формы.
3 Evgenii_1980
 
18.06.14
05:42
Вместо (1)

    ЭлементОтбора = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Настройка");
    
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
    
    ЭлементОтбора.Использование = Истина;
    
    ЭлементОтбора.ПравоеЗначение = СписокДоступныхНастроек;
4 Evgenii_1980
 
18.06.14
07:50
Мож кто направление подскажет ... ап
5 Бешеная Нога
 
18.06.14
08:50
ты что хочешь? чтобы пользователь, при установки значения отбора имел возможность выбирать значения из определенного списка?
6 mistеr
 
18.06.14
09:00
(4) В СКД "Параметры редактирования" - пропиши там свою форму.
7 Evgenii_1980
 
18.06.14
09:07
Да, вроде.
Пользователю необходимо ограничить список элементов справочника, которые он может выбрать (и увидеть) при заполнении этого параметра.

Функция готовит список ему доступных элементов:
СписокДоступныхНастроек = ПолучитьСписок();

Вопрос: как их добавить в отбор только по ним. Что бы открыв список он увидел только их.
8 Evgenii_1980
 
18.06.14
09:09
(6) Спасибо. Пока не пользовался "параметрами редактирования", сейчас покапаю как оно работает.
9 Бешеная Нога
 
18.06.14
09:13
ПолеНабораДанныхСхемыКомпоновкиДанных.УстановитьДоступныеЗначения (DataCompositionSchemaDataSetField.SetAvailableValues)
ПолеНабораДанныхСхемыКомпоновкиДанных (DataCompositionSchemaDataSetField)
УстановитьДоступныеЗначения (SetAvailableValues)
Синтаксис:

УстановитьДоступныеЗначения(<ДоступныеЗначения>)
Параметры:

<ДоступныеЗначения> (необязательный)

Тип: СписокЗначений.
Список доступных значений поля.
Если параметр не указан, у поля не будет доступных значений.
Описание:

Устанавливает доступные значения поля.

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

Сервер, толстый клиент, внешнее соединение.
10 Evgenii_1980
 
18.06.14
09:17
(6) Получилось ) Спасибо БОЛЬШОЕ!!! У меня уже была готовая форма списка в которой при открытии список фильтровался, позже заметил, что ограничение нет при заполнении параметра в отчете. Прописал форму списка и работает )
11 Бешеная Нога
 
18.06.14
09:17
СхемаКомпоновкиДанных
НаборыДанных
НаборДанныхЗапросСхемыКомпоновкиДанных
Поля
ПолеНабораДанныхСхемыКомпоновкиДанных
и вот там (9)
12 Evgenii_1980
 
18.06.14
09:20
(9) Понял, еще раз списибо!!! Надо больше отчетов делать на СКД ...