Имя: Пароль:
1C
1С v8
Открыть отчёт с отбором, где правое значение список значений
0 jsmith82
 
09.06.14
12:52
Для обычного случая делается просто
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    ПараметрыФормы = Новый Структура("Отбор, КлючНазначенияИспользования, КлючВарианта, СформироватьПриОткрытии",
            Новый Структура("Номенклатура", ПараметрКоманды),
            "НоменклатураКонтекст",
            "НоменклатураКонтекст",
            Истина);

    ОткрытьФорму("Отчет.ТоварыНаСкладах.Форма",
            ПараметрыФормы,
            ПараметрыВыполненияКоманды.Источник,
            ПараметрыВыполненияКоманды.Уникальность,
            ПараметрыВыполненияКоманды.Окно);
КонецПроцедуры

А если сабж?!
Буковку Я нажимал
1 jsmith82
 
09.06.14
12:56
Пробую при открытии через
Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы
но у элемента отбора компоновки данных только идентификатор в виде GUID
2 jsmith82
 
09.06.14
12:56
Чёто я запутался
3 jsmith82
 
09.06.14
12:58
Если делаю через Отчет.КомпоновщикНастроек.Настройки, то задача решается, но при закрытии отчёта вечно спрашивает о сохранении варианта
Поэтому в любом случае надо через Отчет.КомпоновщикНастроек.ПользовательскиеНастройки
4 acsent
 
09.06.14
13:00
пройдись по пользовательским настройкам и найди нужную тебе
5 DexterMorgan
 
09.06.14
13:01
Расширение управляемой формы для отчета.Отбор (Managed form extension for reports.Filter)
Расширение управляемой формы для отчета (Managed form extension for reports)
Отбор (Filter)
Описание:

Тип: Структура.
Используется для установки отбора и параметров данных в форме отчета.
Ключ элемента структуры содержит имя поля или параметра, на которое нужно наложить отбор.
Значение элемента структуры содержит значение отбора.
Если имеется параметр системы компоновки данных с именем, соответствующим имени ключа структуры, то значение будет установлено ему. Если параметра нет, но есть поле, то будет добавлен отбор на это поле.
Если значение является массивом или списком значений с не одним элементом, то отбор будет применяться с видом сравнения ВСписке.
6 DexterMorgan
 
09.06.14
13:03
В общем в связи с
"Если значение является массивом или списком значений с не одним элементом, то отбор будет применяться с видом сравнения ВСписке."

вопрос ТС не совсем понятен.
7 jsmith82
 
09.06.14
13:05
сабж решён

    Настройки = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки;
    
    НовыйЭлементОтбора = Настройки.Элементы[0];
    НовыйЭлементОтбора.Использование = Истина;
    НовыйЭлементОтбора.Значение = ТекущаяДата();
    
    Если ТипЗнч(Стек) = Тип("Структура") Тогда
        
        Список = Новый СписокЗначений();
        Для Каждого ТМЦ Из Стек.МассивТМЦ Цикл
            Список.Добавить(ТМЦ);
        КонецЦикла;
        
        НовыйЭлементОтбора = Настройки.Элементы[1];
        ПолеОтбора = Новый ПолеКомпоновкиДанных("Проект");
        НовыйЭлементОтбора.ЛевоеЗначение = ПолеОтбора;
        НовыйЭлементОтбора.Использование = Истина;
        НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
        НовыйЭлементОтбора.ПравоеЗначение = Стек.Проект;        
        
        НовыйЭлементОтбора = Настройки.Элементы[3];
        ПолеОтбора = Новый ПолеКомпоновкиДанных("Номенклатура");
        НовыйЭлементОтбора.ЛевоеЗначение = ПолеОтбора;
        НовыйЭлементОтбора.Использование = Истина;
        НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
        НовыйЭлементОтбора.ПравоеЗначение = Список;        
        
    КонецЕсли;
8 jsmith82
 
09.06.14
13:06
(5) Надо тоже попробовать
9 DexterMorgan
 
09.06.14
13:07
(7) Забавно, а не проще передать список значений через параметр формы отбор?
10 jsmith82
 
09.06.14
13:08
(9) Проще
11 acsent
 
09.06.14
13:10
За такое Настройки.Элементы[0] нужно линейкой по рукам
12 jsmith82
 
09.06.14
13:16
(11) гггг
х*як х*як и в продакшн стайл детектед