СКД в отборе создать группу ИЛИ ?
Добрый день.
Подскажите, пожалуйста, как программно в СКД в отборе создать группу ИЛИ?
Ответ:
ГруппаОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип(«ГруппаЭлементовОтбораКомпоновкиДанных»)); ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли; ГруппаОтбора.Использование = Истина; ПервыйОтборГруппы = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ПервыйОтборГруппы.Использование = Истина; ПервыйОтборГруппы.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Поле1"); ПервыйОтборГруппы.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ПервыйОтборГруппы.ПравоеЗначение = ЗначениеОтбора1; ВторойОтборГруппы = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ВторойОтборГруппы.Использование = Истина; ВторойОтборГруппы.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Поле2"); ВторойОтборГруппы.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ВторойОтборГруппы.ПравоеЗначение = ЗначениеОтбора2; |
Элементы = КомпоновщикНастроек.Настройки.Отбор.Элементы;
ГруппаОтбора = Элементы.Добавить(Тип(«ГруппаЭлементовОтбораКомпоновкиДанных»));
ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
ГруппаОтбора.Использование = Истина;
ПервыйОтборГруппы = Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
ПервыйОтборГруппы.Родитель = ГруппаОтбора;
ПервыйОтборГруппы.Использование = Истина;
ПервыйОтборГруппы.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«Поле1»);
ПервыйОтборГруппы.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ПервыйОтборГруппы.ПравоеЗначение = ЗначениеОтбора1;
ВторойОтборГруппы = Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
ПервыйОтборГруппы.Родитель = ГруппаОтбора;
ВторойОтборГруппы.Использование = Истина;
ВторойОтборГруппы.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«Поле2»);
ВторойОтборГруппы.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ВторойОтборГруппы.ПравоеЗначение = ЗначениеОтбора2;
Спасибо.
Свойство родитель доступно только для чтения! Есть какие нибудь ещё варианты для создания отбора с признаком ИЛИ программно?
Вдруг кому пригодится
Элементы = КомпоновщикНастроек.Настройки.Отбор.Элементы;
ГруппаОтбора = Элементы.Добавить(Тип(«ГруппаЭлементовОтбораКомпоновкиДанных»));
ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
ГруппаОтбора.Использование = Истина;
ПервыйОтборГруппы = ГруппаОтбора.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
//ПервыйОтборГруппы.Родитель = ГруппаОтбора;
ПервыйОтборГруппы.Использование = Истина;
ПервыйОтборГруппы.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«Поле1»);
ПервыйОтборГруппы.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ПервыйОтборГруппы.ПравоеЗначение = ЗначениеОтбора1;
ВторойОтборГруппы = ГруппаОтбора.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
//ПервыйОтборГруппы.Родитель = ГруппаОтбора;
ВторойОтборГруппы.Использование = Истина;
ВторойОтборГруппы.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«Поле2»);
ВторойОтборГруппы.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ВторойОтборГруппы.ПравоеЗначение = ЗначениеОтбора2;