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



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Сортировка индексированной таблицы по индексу
22. Мая 2006 :: 12:45
Печать  
Как отсортировать тз по колонке НЕ основного индекса, чтобы ВыбратьСтроки(неосновнойиндекс) давал отсортированную выборку? Если нет таких средств, возможно ли реализовать это в 1с++,  или это получится то же, что и выгрузка в другую тз и сотрировку в ней?
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Сортировка индексированной таблицы по индексу
Ответ #1 - 22. Мая 2006 :: 12:58
Печать  
ВыбратьСтроки по индексу ИМХО как раз и дает перебор в порядке возрастания индекса, разве нет?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
alest
Senior Member
****
Отсутствует



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Сортировка индексированной таблицы по индексу
Ответ #2 - 22. Мая 2006 :: 13:07
Печать  
Код
Выбрать все
    тз = СоздатьОбъект("ИндексированнаяТаблица");
	тз.НоваяКолонка("к1");
	тз.НоваяКолонка("к2");
	тз.НоваяКолонка("к3");

	тз.НоваяСтрока();
	тз.к1 = 1;
	тз.к2 = "У";
	тз.к3 = 1;

	тз.НоваяСтрока();
	тз.к1 = 2;
	тз.к2 = "А";
	тз.к3 = 2;

	тз.НоваяСтрока();
	тз.к1 = 3;
	тз.к2 = "Ф";
	тз.к3 = 3;

	тз.НоваяСтрока();
	тз.к1 = 4;
	тз.к2 = "Л";
	тз.к3 = 4;

	тз.НоваяСтрока();
	тз.к1 = 5;
	тз.к2 = "АВ";
	тз.к3 = 5;

	тз.Сортировать("к2");
	тз.ДобавитьИндекс("и1", "к1");
	//тз.УстановитьФильтр(2, 4, "и1");

	тз.ВыбратьСтроки("и1");
	Пока тз.ПолучитьСтроку("и1") = 1 Цикл
		Сообщить(тз.к2);
	КонецЦикла;
 


Сортировка и до, и после добавления индекса выводит: У, А, Ф, Л, АВ
Или что-то не так делаю?
  
Наверх
ICQ  
IP записан
 
alest
Senior Member
****
Отсутствует



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Сортировка индексированной таблицы по индексу
Ответ #3 - 22. Мая 2006 :: 13:12
Печать  
Соррриии! сам поставил к1...
  
Наверх
ICQ  
IP записан
 
alest
Senior Member
****
Отсутствует



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Сортировка индексированной таблицы по индексу
Ответ #4 - 22. Мая 2006 :: 13:15
Печать  
Вопрос у меня возник когда  я хотел установить фильтр на индекс к1 и в отфильтрованной тз отсортировать по к2. Здесь еще одну временную тз придется подключать?
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Сортировка индексированной таблицы по индексу
Ответ #5 - 22. Мая 2006 :: 13:17
Печать  
Если фильтр на одно значение - можно еще попробовать составной индекс и Подмножество().
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Сортировка индексированной таблицы по индексу
Ответ #6 - 22. Мая 2006 :: 13:37
Печать  
Сейчас подумал, что с Подмножество() не должно получиться.
Не будет скорее всего сортировки по второму полю.
Т.е. все же надо делать выгрузку по индексу и работать с доп. таблицей.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать