|
Как программно в динамическом списке сгруппировать условия отбора? | ☑ | ||
---|---|---|---|---|
0
fierylions
20.11.13
✎
17:13
|
Вот пример как делается программно отбор в динамическом списке:
//Отбор в динамическом списке дс ЭлементОтбора = ТекущиеЗаявкиТикеты.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.Использование = Ложь; ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ОтказОтЗадачи"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ПравоеЗначение = Ложь; Мне нужно программно сгруппировать несколько условий. Например ОтказОт Задачи = Ложь или Выполнена = Ложь; В пользовательском режиме это возможно сделать а программно не пойму как... Подскажите коллеги... |
|||
1
acsent
20.11.13
✎
17:13
|
Добавить(Тип("Группа...
|
|||
2
fierylions
20.11.13
✎
17:14
|
(1) а можете полностью пример привести пожалуйста.
|
|||
3
zladenuw
20.11.13
✎
17:24
|
да сделай ручками в ДС. потом в отладчике посмотри и сделай так же кодом.
|
|||
4
Noob_Of_1C
20.11.13
✎
17:29
|
Объект ГруппаЭлементовОтбораКомпоновкиДанных.
соответственно у объектов ЭлементОтбораКомпоновкиДанных в свойство Родитель указываешь группу |
|||
5
fierylions
20.11.13
✎
17:39
|
//Отбор в динамическом списке дс
ГруппаОтбора = ТекущиеЗаявкиТикеты.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных")); ГруппаОтбора.Использование = Истина; ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли; //Отбор в динамическом списке дс ЭлементОтбора = ТекущиеЗаявкиТикеты.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.Использование = Ложь; ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Выполнена"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ПравоеЗначение = Ложь; //Отбор в динамическом списке дс ЭлементОтбора = ТекущиеЗаявкиТикеты.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.Использование = Ложь; ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ОтказОтЗадачи"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ПравоеЗначение = Ложь; Если делаю напрямую ЭлементОтбора.Родитель = ГруппаОтбора; Выдает ошибку. Что не так делаю??? |
|||
6
acsent
20.11.13
✎
17:40
|
ГруппаОтбора.Элементы.Добавить
|
|||
7
Noob_Of_1C
20.11.13
✎
17:41
|
тьфу наврал, элементы создаешь уже так:
ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")) |
|||
8
fierylions
20.11.13
✎
17:51
|
Кому интересно получилось так:
//Отбор //Отбор в динамическом списке дс c группой условий ЭлементыОтбора = ТекущиеЗаявкиТикеты.Отбор.Элементы; ЭлементыОтбора.Очистить(); Группа = ЭлементыОтбора.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных")); Группа.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли; //ДатаПостановки ЭлементОтбора = Группа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовыйПолеКомпоновкиДанных = Новый ПолеКомпоновкиДанных("ДатаПостановки"); ЭлементОтбора.Использование = Истина; ЭлементОтбора.ЛевоеЗначение = НовыйПолеКомпоновкиДанных; ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше; ЭлементОтбора.ПравоеЗначение = (НачалоДня(ТекущаяДата())-((3600*24)*7));; //Выполнить ЭлементОтбора = Группа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовыйПолеКомпоновкиДанных = Новый ПолеКомпоновкиДанных("Выполнена"); ЭлементОтбора.Использование = Истина; ЭлементОтбора.ЛевоеЗначение = НовыйПолеКомпоновкиДанных; ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ПравоеЗначение = Ложь; //ОтказОтЗадачи ЭлементОтбора = Группа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовыйПолеКомпоновкиДанных = Новый ПолеКомпоновкиДанных("ОтказОтЗадачи"); ЭлементОтбора.Использование = Ложь; ЭлементОтбора.ЛевоеЗначение = НовыйПолеКомпоновкиДанных; ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ПравоеЗначение = Ложь; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |