|
v7: УстановитьФильтр В ИндексированнойТаблице | ☑ | ||
---|---|---|---|---|
0
aleknek
25.08.11
✎
12:04
|
Решил разобраться и работой индексированных таблиц, но что то не могу понять работу метода УстановитьФильтр(КлючМин, КлючМакс, [Индекс = ""], [чТолькоУникальные = 0], [чИнверсия = 0]), после установки фильтра и выгрузке новой таблицы значений, возвращается только одна строка, хотя по устанавливаемым значениям фильтра, значений должно быть несколько, я так подозреваю, что где то перемудрил, с КлючМин, КлючМакс. Подскажите в чем может быть проблема.
Код: Функция ОтборПоИндексированнойТаблице(ТЗДляПоиска, Отбор, НомерВызова) тзИндТ.Очистить(); тзИндТ.Загрузить(ТЗДляПоиска); СтрВыражение = ""; Для н = 1 По Отбор.РазмерСписка() Цикл ИмяКолонки = ""; Отбор.ПолучитьЗначение(н, ИмяКолонки); СтрВыражение = ?(ПустаяСтрока(СтрВыражение) = 1, ИмяКолонки, СтрВыражение +","+ ИмяКолонки); КонецЦикла; тзИндТ.ДобавитьИндекс("Отбор", СтрВыражение ,0); тзВрем = СоздатьОбъект("ТаблицаЗначений"); тзИндТ.УстановитьФильтр(, Отбор, "Отбор",1); тзИндТ.Выгрузить(тзВрем, "Отбор"); Возврат тзВрем; КонецФункции // ОтборПоИндексированнойТаблице() |
|||
1
Mikeware
25.08.11
✎
12:12
|
ничего не понял.
|
|||
2
aleknek
25.08.11
✎
12:15
|
после выполнения кода в строке
тзИндТ.Выгрузить(тзВрем, "Отбор"), на выходе должна быть ТЗВрем с несколькими значениями, а имею только одну строку |
|||
3
aleknek
25.08.11
✎
12:16
|
(2)тзИндТ это индексированная таблица
|
|||
4
aleknek
25.08.11
✎
12:21
|
Переписал немного код:
тзИндТ.Загрузить(ТЗДляПоиска); тзИндТ.ДобавитьИндекс("Отбор", *Фирма, *Контрагент, *Договор,0); тзВрем = СоздатьОбъект("ТаблицаЗначений"); тзИндТ.УстановитьФильтр(, Отбор, "Отбор",1); тзИндТ.Выгрузить(тзВрем, "Отбор"); |
|||
5
Mikeware
25.08.11
✎
12:22
|
Ну, во-первыз, у тебя только уникальные в фильтре включены
|
|||
6
Ёпрст
25.08.11
✎
12:22
|
(0) нам отсюда не видно, что ты в Отбор положил и в каком порядке.
|
|||
7
DCKiller
25.08.11
✎
12:29
|
Пользуясь случаем, что все главные спецы по ИТЗ тут :), тож хочу спросить: как группировать ИТЗ по колонке типа "Счет"?
Пытаюсь так ИТЗ.Группировать("Счет: *&Счет"), а групп по колонке нет (хотя счет 100% группа) |
|||
8
aleknek
25.08.11
✎
12:29
|
(5) таки да, проблема была в этом. Только не совсем понятна эта запись
чТолькоУникальные - тип: Число. Если 1 - то в выборку попадут только строки с уникальным значением ключа. Что имеется ввиду только с уникальным значением ключа? |
|||
9
Ёпрст
25.08.11
✎
12:31
|
(8)
есть 2 строки с 3 колонками: вася федф 100 вася федя 200 ты строишь индекс по первым 2 колонкам, индекс у этих 2-х строк будет одинаковый.. |
|||
10
Ёпрст
25.08.11
✎
12:31
|
+9 с уникальным значением ключа будет только 1 строка - вася федя..
|
|||
11
aleknek
25.08.11
✎
12:34
|
(10) понял, всем спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |