Имя: Пароль:
1C
1С v8
Программный отбор в СКД
0 IKSparrow
 
25.10.12
13:56
Код такой:

ОтборКомпоновщика = КомпоновщикНастроек.Настройки.Отбор;

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

КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновки, Компоновщик.Настройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
   
Процессор = Новый ПроцессорКомпоновкиДанных;
Процессор.Инициализировать(МакетКомпоновки);

ТаблицаВерсий = Новый ТаблицаЗначений;
   
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВывода.УстановитьОбъект(ТаблицаВерсий);
ПроцессорВывода.Вывести(Процессор, Ложь);

Отбор не учитывается. Что не так делаю?
1 IKSparrow
 
25.10.12
14:18
Нет идей?
Вроде ж всё по FAQ сделано.
2 zippygrill
 
25.10.12
14:23
ты можешь его просто в скд добавит но не ставить галку Использование. ну а программно установить его Использовании.
3 zippygrill
 
25.10.12
14:24
+ программно установи его ПравоеЗначение
4 zippygrill
 
25.10.12
14:25
и вообще что это такое ВидОбъекта.ПравоеЗначение = "Справочник.ИсторияПользователей";?
5 Axel2009
 
25.10.12
14:30
задай отбор у СхемаКомпоновки
6 IKSparrow
 
25.10.12
15:02
(4) Это всего лишь строка по которой надо отобрать определённые значения.
7 hhhh
 
25.10.12
15:09
(6) ну для пользователя попонятнее можно: "История пользователей". Зачем ему такую сложную фигню подсовывать, он ведь может и испугаться.
8 lxndr
 
25.10.12
15:16
(0) нет ли ошибки в строке:

МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновки, Компоновщик.Настройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));

// Мобыть правильнее так:
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновки, КомпоновщикНастроек.Настройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
9 zippygrill
 
26.10.12
09:06
(6) мне кажется ПравоеЗначение у тебя неправильно установлено.
10 cw014
 
26.10.12
09:10
А мне кажется (8) +100500
11 IKSparrow
 
26.10.12
09:31
(8) Да, правильно, ошибся. Спасибо. Всё сработало как надо. =)