|
v7: Работа с ИТЗ | ☑ | ||
---|---|---|---|---|
0
Чел
13.08.14
✎
19:23
|
Продолжение темы УстановитьФильтр В ИндексированнойТаблице
Есть такой код: // тут код с текстом запроса и созданием объекта типа ИндексированнаяТаблица Запрос3.ВыполнитьИнструкцию(ТекстЗапроса3, глТаблСвойств); // глТаблСвойств имеет 3 колонки - Номенклатура, ВидСвойства_Код и ЗначениеСвойства глТаблСвойств.ДобавитьИндекс("индНом", "Номенклатура"); глТаблСвойств.ДобавитьИндекс("индВидСвойства_Код", "ВидСвойства_Код"); /// тут какой-то еще код Ключ = СтрЗаменить(ТекКол, "_", ""); глТаблСвойств.УстановитьФильтр(Ключ, Ключ, "индВидСвойства_Код"); Список_ = СоздатьОбъект("СписокЗначений"); глТаблСвойств.Выгрузить(Список_, "индВидСвойства_Код", "ЗначениеСвойства", 1); В итоге в объекте список Список_ всего одно значение (самое первое из таблицы для заданного вида свойства). Если я выгружаю так: глТаблСвойств.Выгрузить(Список_, "индВидСвойства_Код", "ЗначениеСвойства"); То получаю список из 138 значений. Реально уникальных значений там штук 10. Пытался устанавливать флаг чТолькоУникальныеЗначения = 1 и в методе ДобавитьИндекс и в методе УстановитьФильтр - эффект один - в список попадает одно самое первое значение. Что я делаю не так? |
|||
1
m-serg74
13.08.14
✎
19:54
|
(0) не пойму, если устанавливаешь фильтр по одному конкретному значению, а сколько уникальных ты желаешь получить?
|
|||
2
m-serg74
13.08.14
✎
19:57
|
+(1) почитай вдумчиво:
УстановитьФильтр / SetFilter Синтаксис: УстановитьФильтр(КлючМин, КлючМакс, [Индекс = ""], [чТолькоУникальные = 0], [чИнверсия = 0]) Параметры: КлючМин - тип: любой. Нижняя граница фильтра. Задаётся так же, как в методе НайтиСтроку(). КлючМакс - тип: любой. Верхняя границы фильтра. Задаётся так же, как в методе НайтиСтроку(). Индекс - тип: Строка, Число. Идентификатор или номер индекса. По умолчанию используется основной индекс. чТолькоУникальные - тип: Число. Если 1 - то в выборку попадут только строки с уникальным значением ключа. чИнверсия - тип: Число. 0 - обычный фильтр, 1 - инверсный фильтр. Если индекс построен по одной колонке, то в качестве ключей можно использовать значение колонки. Если же индекс по нескольким колонкам, то ключ должен быть СписокЗначений, содержащий значения ключевых колонок, заданных в методе ДобавитьИндекс(). Один из ключей может быть опущен - при этом в качестве опущеного значения будет автоматически задействовано минимально/максимально возможное значение. Т.е. фильтр будет с открытой границей. Описание: устанавливает динамический фильтр на таблицу по указанному индексу. Фильтр влияет на работу методов: ВНачало(), ВыбратьСтроки(), ВКонец(), ПолучитьСтроку(), СледующаяСтрока(), ПредыдущаяСтрока(),Свернуть(),Итог(), ЗаполнитьКолонку(), Выгрузить(), Загрузить(), Объединить(). НЕ влияет на работу..... Выгрузить().... |
|||
3
m-serg74
13.08.14
✎
19:59
|
+(2) тьфу блин, сорри, сам наоборот затупил... влияет, короче, (2) не читать и не принимать во внимание :)
|
|||
4
Чел
13.08.14
✎
20:07
|
(1) Блин, точно! Всё, под вечер мозг не работает. У меня же индекс и фильтр по одной колонке, а уникальные значения я по другой хочу получить....
Вот я дурень! ))))) Спасибо! |
|||
5
m-serg74
13.08.14
✎
20:07
|
(4) )))
|
|||
6
m-serg74
13.08.14
✎
20:08
|
ну я тоже в (2) тупанул, переработался наверное...
|
|||
7
Чел
13.08.14
✎
20:09
|
Теперь другая задачка: нужно отфильтровать строки таблицы по нескольким значениям одной колонки...
Подозреваю, что мне может помочь метод Подмножество. Но в документации очень скудно про него написано. Или не поможет... |
|||
8
m-serg74
13.08.14
✎
20:13
|
(7) да Подмножество вроде практически как УстановитьФильтр работает... на 100% не уверен конечно
|
|||
9
Чел
13.08.14
✎
20:17
|
(8) Да, да! Подмножество мне не поможет. Подмножество, похоже, помогло бы в сабже. А вот для новой задачи ВнутреннееСоединение - самое то! :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |