|
Как изменить отбор? | ☑ | ||
---|---|---|---|---|
0
dart909
13.07.15
✎
11:32
|
Добрый день, подскажи пожалуйста. Есть такой код:
&НаКлиенте Процедура ОтборНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка) СписокЗнач = Новый СписокЗначений; СписокЗнач.Добавить("Принят"); СписокЗнач.Добавить("Больничный"); СписокЗнач.Добавить("Уволен"); СписокЗнач.ВыгрузитьЗначения(); Отбор = ВыбратьИзСписка(СписокЗнач,Элементы.Отбор); Если СписокЗнач.НайтиПоЗначению("Принят") = Отбор Тогда СделатьОтборПоПринятым(); ИначеЕсли СписокЗнач.НайтиПоЗначению("Уволен") = Отбор Тогда СделатьОтборПоУволенным(); ИначеЕсли СписокЗнач.НайтиПоЗначению("Больничный") = Отбор Тогда СделатьОтборПоБольным(); КонецЕсли КонецПроцедуры &НаСервере Процедура СделатьОтборПоПринятым() ТекОтбор = Список.Отбор.Элементы; ТекОтбор.Очистить(); УсловиеОтбора = ТекОтбор.Добавить(тип("ЭлементОтбораКомпоновкиДанных")); УсловиеОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Статус"); УсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; УсловиеОтбора.ПравоеЗначение = перечисления.СтатусСотрудника.Принят; КонецПроцедуры &НаСервере Процедура СделатьОтборПоУволенным() ТекОтбор = Список.Отбор.Элементы; ТекОтбор.Очистить(); УсловиеОтбора = ТекОтбор.Добавить(тип("ЭлементОтбораКомпоновкиДанных")); УсловиеОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Статус"); УсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; УсловиеОтбора.ПравоеЗначение = перечисления.СтатусСотрудника.Уволен; КонецПроцедуры &НаСервере Процедура СделатьОтборПоБольным() ТекОтбор = Список.Отбор.Элементы; ТекОтбор.Очистить(); УсловиеОтбора = ТекОтбор.Добавить(тип("ЭлементОтбораКомпоновкиДанных")); УсловиеОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Статус"); УсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; УсловиеОтбора.ПравоеЗначение = перечисления.СтатусСотрудника.Больничный; КонецПроцедуры Интересует следующее, как сделать, чтобы можно было выбирать не одно значение в отборе то бишь (Принят или Уволен или Больничный), а например можно было отобрать кто принят и уволен? |
|||
1
dart909
13.07.15
✎
11:34
|
Отбор происходит в форме списка.
|
|||
2
butterbean
13.07.15
✎
11:34
|
вид сравнения ВСписке
|
|||
3
dart909
13.07.15
✎
11:38
|
(2) Поменял, ничего не изменилось. Отбор так и идет только по 1 значению.
|
|||
4
Lexey_
13.07.15
✎
11:44
|
(0) интересно, а если у тебя больше 3х значений отбора будет, для каждого будешь процедуру отбора писать?
|
|||
5
dart909
13.07.15
✎
11:53
|
(4) Я знаю, что отбор должен быть написан в одной процедуре, и вид сравнения ВСписке, а как задать тогда правое значение?
|
|||
6
Ma3eIIa
13.07.15
✎
11:55
|
конфа какая ?
|
|||
7
Ma3eIIa
13.07.15
✎
12:03
|
текст поиск по конфе. в типовой
// Добавляет отбор в коллекцию отборов компоновщика или группы отборов // // Параметры: // ЭлементСтруктуры - элемент структуры // Поле - имя поля, по которому добавляется отбор // Значение - значение отбора // ВидСравнения - вид сравнений компоновки данных (по умолчанию: вид сравнения) // Использование - признак использования отбора (по умолчанию: истина) // Функция ДобавитьОтбор |
|||
8
dart909
13.07.15
✎
12:04
|
(6) Ну просто конфа написанная для учебного задания
|
|||
9
Ma3eIIa
13.07.15
✎
12:16
|
8.3 ?
у тебя форма списка и тебе нужно после неких манипуляций фильтровать данные. верно ? |
|||
10
Ma3eIIa
13.07.15
✎
12:23
|
1. у тебя перечисление. зачем ты создаешь список ?
если тебе нужен выбор их. то создай список значений и в него помещай значение которые выбрали. а не выбрать значения. 2. в процедуру сделать отбор. передавай список значений. который заполнил пользователь &НаСервере Процедура СделатьОтбор() ТекОтбор = Список.Отбор.Элементы; ТекОтбор.Очистить(); УсловиеОтбора = ТекОтбор.Добавить(тип("ЭлементОтбораКомпоновкиДанных")); УсловиеОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Статус"); УсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Всписке; УсловиеОтбора.ПравоеЗначение = СписокОтбора; КонецПроцедуры |
|||
11
Ma3eIIa
13.07.15
✎
12:23
|
посмотри как работают типовые отборы
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |