Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Фильтрация индексированной таблицы (число прочтений - 2372 )
GriVV
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 3
Зарегистрирован: 20. Июля 2007
Фильтрация индексированной таблицы
20. Июля 2007 :: 10:42
Печать  
Не работает следующий код :
Функция СуммаДвижений(ВидДвижения, КолонкаСуммы)
     Результат = 0;
     ТекТЗ.УстановитьФильтр(ВидДвижения, ВидДвижения, "ВидДвижения");
     ТекТЗ.ВыбратьСтроки();
     Пока ТекТЗ.ПолучитьСтроку() = 1 Цикл
           Результат = Результат + ТекТЗ.ПолучитьЗначение(, КолонкаСуммы);
     КонецЦикла;
     Возврат Результат;
КонецФункции

ТекТЗ - индексированная таблица с установленным единственным индексом "ВидДвижения".
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Фильтрация индексированной таблицы
Ответ #1 - 20. Июля 2007 :: 11:16
Печать  
В твоём случае, ИМХО, лучше воспользоваться методом "Группировать"
  
Наверх
 
IP записан
 
GriVV
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 3
Зарегистрирован: 20. Июля 2007
Re: Фильтрация индексированной таблицы
Ответ #2 - 20. Июля 2007 :: 11:20
Печать  
В моем случае лучше воспользоваться конструкцией:

Результат = ТекТЗ.ИтогПоДиапазону(КолонкаСуммы, "ВидДвижения", ВидДвижения, ВидДвижения)

но меня интересует, в чем принципиальная ошибка.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Фильтрация индексированной таблицы
Ответ #3 - 20. Июля 2007 :: 12:26
Печать  
Ну если ты хочешь узнать, что в твоём случае, тогда:
Цитата:
Синтаксис: ВыбратьСтроки([Индекс = ""], [флТолькоУникальные = 0])

Параметры:
Индекс - тип: Строка, Число. Идентификатор или номер индекса. По умолчанию используется основной индекс.


Синтаксис: ПолучитьСтроку([Индекс = ""], [чТолькоУникальные = 0])[/b]

Параметры:
Индекс - тип: Строка, Число. Идентификатор или номер индекса. По умолчанию используется основной индекс.

  
Наверх
 
IP записан
 
GriVV
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 3
Зарегистрирован: 20. Июля 2007
Re: Фильтрация индексированной таблицы
Ответ #4 - 20. Июля 2007 :: 13:49
Печать  
Спасибо!
Действительно если явно задать индекс, то все начинает работать.
  
Наверх
 
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Фильтрация индексированной таблицы
Ответ #5 - 23. Июля 2007 :: 01:02
Печать  
А почему бы не использовать в данном случае ИТОГ ?
Синтаксис:
Итог(КолонкаСуммы, [Индекс = ''''])
Назначение:
считает сумму по указанной колонке, при этом учитывается фильтр индекса.
Параметры:
КолонкаСуммы - тип: Строка, Число. Колонка, по которой нужно получить сумму.
Индекс - тип: Строка, Число. Идентификатор или номер индекса. По умолчанию используется основной индекс.

Возвращает тип: Число. Сумма по указанной колонке.

  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать