Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Индекс в индексных таблицах (число прочтений - 1841 )
yhvvh
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Зарегистрирован: 01. Сентября 2009
Индекс в индексных таблицах
01. Сентября 2009 :: 07:19
Печать  
Вопрос такой
Есть ТЗ индексная
с двумя колонками
Товар и Ценв
делаю так
ТЗ.Сортировать("Товар,Цена")
В результате получаю отcортированнную таблицу  по товару потом по цене (по возрастанию)

Если использовать ТЗ.НайтиСтроку обычную без индекса то спозиционируется на запись с минимальной ценой
а если использовать

ЦеныКлиента.Сортировать("Товар,Цена");
ЦеныКлиента.ДобавитьИндекс("Индекс","#Товар");
ТЗ.НайтиСтроку("Индекс",Товар,,1)
то спозиционируется на запись как посторен индекс

вопрос а можно ли индекс сделать по товару но чтоб он по методу найти строку c использованием индекса спозиционировался на минимальную цену?

  
Наверх
 
IP записан
 
Berck
Junior Member
**
Отсутствует



Сообщений: 66
Местоположение: Москва
Зарегистрирован: 17. Июля 2007
Пол: Мужской
Re: Индекс в индексных таблицах
Ответ #1 - 01. Сентября 2009 :: 07:53
Печать  
а так не подойдет?
Код
Выбрать все
ТЗ.НайтиСтроку("Индекс",Товар,1,1) 

  
Наверх
 
IP записан
 
yhvvh
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Зарегистрирован: 01. Сентября 2009
Re: Индекс в индексных таблицах
Ответ #2 - 01. Сентября 2009 :: 08:09
Печать  
Berck писал(а) 01. Сентября 2009 :: 07:53:
а так не подойдет?
Код
Выбрать все
ТЗ.НайтиСтроку("Индекс",Товар,1,1) 



возможно
Число. Если 1, то будет найдена последняя строк с совпадающим значением ключа.

но будет ли минимальная цена последний где гарнтия?
  
Наверх
 
IP записан
 
yhvvh
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Зарегистрирован: 01. Сентября 2009
Re: Индекс в индексных таблицах
Ответ #3 - 01. Сентября 2009 :: 08:11
Печать  
сейча реализовал не рискуя, но согласись это извращение уже.

ЦенаМин=99999999;
ТЗ.УстановитьФильтр (ТЗ.Товар,ТЗ.Товар,"Индекс");
ТЗ.ВыбратьСтроки("Индекс");
Пока ТЗ.ПолучитьСтроку("Индекс") = 1 Цикл
Если ЦенаМин >ТЗ.Цена Тогда
  ЦенаМин=ТЗ.Цена;
КонецЕсли;
КонецЦикла;
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Индекс в индексных таблицах
Ответ #4 - 01. Сентября 2009 :: 08:22
Печать  
А если построить составной индекс по колонкам Товар и Цена?
Затем Создать ключ с Нужным товаром и ценой = 0, потом воспользоваться "НайтиБлижайшуюБольше" по этому индексу и ключу.
  
Наверх
 
IP записан
 
yhvvh
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Зарегистрирован: 01. Сентября 2009
Re: Индекс в индексных таблицах
Ответ #5 - 01. Сентября 2009 :: 08:50
Печать  
JohnyDeath писал(а) 01. Сентября 2009 :: 08:22:
А если построить составной индекс по колонкам Товар и Цена?
Затем Создать ключ с Нужным товаром и ценой = 0, потом воспользоваться "НайтиБлижайшуюБольше" по этому индексу и ключу.


хм идея
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Индекс в индексных таблицах
Ответ #6 - 01. Сентября 2009 :: 08:54
Печать  
Сортировать, ес-но, ничего не надо
  
Наверх
 
IP записан
 
yhvvh
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Зарегистрирован: 01. Сентября 2009
Re: Индекс в индексных таблицах
Ответ #7 - 01. Сентября 2009 :: 08:57
Печать  
JohnyDeath писал(а) 01. Сентября 2009 :: 08:54:
Сортировать, ес-но, ничего не надо


угу, создание индексов помоему забить на сортировку
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать