СКД в отборе создать группу ИЛИ ?

Добрый день.

Подскажите, пожалуйста, как программно в СКД в отборе создать группу ИЛИ?

Ответ:

ГруппаОтбора                                                = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип(«ГруппаЭлементовОтбораКомпоновкиДанных»));
ГруппаОтбора.ТипГруппы                             = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
ГруппаОтбора.Использование                         = Истина;
 
ПервыйОтборГруппы                                       = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ПервыйОтборГруппы.Использование    = Истина;
ПервыйОтборГруппы.ЛевоеЗначение    = Новый ПолеКомпоновкиДанных("Поле1");
ПервыйОтборГруппы.ВидСравнения             = ВидСравненияКомпоновкиДанных.Равно;
ПервыйОтборГруппы.ПравоеЗначение   = ЗначениеОтбора1;
 
ВторойОтборГруппы                                       = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ВторойОтборГруппы.Использование    = Истина;
ВторойОтборГруппы.ЛевоеЗначение    = Новый ПолеКомпоновкиДанных("Поле2");
ВторойОтборГруппы.ВидСравнения             = ВидСравненияКомпоновкиДанных.Равно;
ВторойОтборГруппы.ПравоеЗначение   = ЗначениеОтбора2;
Подписаться
Уведомить о
guest
4 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
also
12 лет назад

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

igormiro
igormiro
12 лет назад

Спасибо.

dpagon
dpagon
10 лет назад

Свойство родитель доступно только для чтения! Есть какие нибудь ещё варианты для создания отбора с признаком ИЛИ программно?

mpudy
mpudy
9 лет назад

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