Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема ИТЗ : Получение таблицы уникальных значений ключа для индекса (число прочтений - 2362 )
mash
1c++ donor
Отсутствует


1C++ v. 3.0.1.23

Сообщений: 148
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
ИТЗ : Получение таблицы уникальных значений ключа для индекса
15. Сентября 2008 :: 12:20
Печать  
Собственно, сабж. Возникла задача получения множества уникальных ключей для индекса. Их количество получить можно методом [i]КоличествоУникальныхКлючей()[/i], а вот таблицу содержащую множество - нет.  Вроде бы простая задача, но в лоб решить не сумел. Есть ли вариант получения этой таблицы на уровне объекта ИТЗ, либо только перебором через [i]ПолучитьЗначение(ИмяИндекса,1)[/i] ?
  

Поспешность наносит ущерб
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: ИТЗ : Получение таблицы уникальных значений ключа для индекса
Ответ #1 - 15. Сентября 2008 :: 12:42
Печать  
Так вроде можно добавить уникальный индекс или я не понял вопрос?
  
Наверх
ICQ  
IP записан
 
mash
1c++ donor
Отсутствует


1C++ v. 3.0.1.23

Сообщений: 148
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИТЗ : Получение таблицы уникальных значений ключа для индекса
Ответ #2 - 15. Сентября 2008 :: 13:04
Печать  
Добавить можно - нельзя получить множество значений ключа одним методом. Или я не знаю как это сделать.
  

Поспешность наносит ущерб
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: ИТЗ : Получение таблицы уникальных значений ключа для индекса
Ответ #3 - 15. Сентября 2008 :: 13:23
Печать  
mash писал(а) 15. Сентября 2008 :: 13:04:
Добавить можно - нельзя получить множество значений ключа одним методом. Или я не знаю как это сделать.


Т.е. все строки для которых ключ имеет одно значение?

  
Наверх
ICQ  
IP записан
 
mash
1c++ donor
Отсутствует


1C++ v. 3.0.1.23

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

Поспешность наносит ущерб
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИТЗ : Получение таблицы уникальных значений ключа для индекса
Ответ #5 - 15. Сентября 2008 :: 13:47
Печать  
Я тоже что-то не очень понимаю проблему.
Код
Выбрать все
ИТЗ.ДобавитьИндекс(Индекс1, Индекс1, 1);
ИТЗ.Показать(Индекс1); 


Не то?
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ИТЗ : Получение таблицы уникальных значений ключа для индекса
Ответ #6 - 15. Сентября 2008 :: 13:59
Печать  
mash писал(а) 15. Сентября 2008 :: 13:04:
Добавить можно - нельзя получить множество значений ключа одним методом. Или я не знаю как это сделать.

Посмотри метод Выгрузить() в текущей документации.
В свое время была добавлена параметризация метода для выгрузки уникальных значений по неуникальному индексу.
  

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


1C++ v. 3.0.1.23

Сообщений: 148
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИТЗ : Получение таблицы уникальных значений ключа для индекса
Ответ #7 - 15. Сентября 2008 :: 14:00
Печать  
2 JohnyDeath

нет, не то. Пример. Есть таблица
_клиент _продукт
Иванов галеты
Сидоров котлеты
Иванов туалеты
Петров газеты
Иванов блины
Сидоров йогурты
           

я строю индекс по полю "_Клиент". При этом метод КоличествоУникальныхКлючей() вернет число 3 (в действительности уникальных клиентов трое). А я бы хотел, чтобы был бы метод который вернет такой список "Иванов", "Петров", "Сидоров". То есть список  этих самых уникальных ключей по полю клиент.
Этого можно добиться через Свернуть(), Группировать(), просто обходом ИТЗ через ВыбратьСтроку/ПолучитьСтроку. Но это все не то - потому что - либо рушит исходную таблицу (как в случае с Свернуть(), Группировать() ), либо трудоемко (как в случае с обходом по индексу). И в то же время, где то хранится бинарное дерево содержащее список всех уникальных значений индекса ? ведь  так ?
  

Поспешность наносит ущерб
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
mash
1c++ donor
Отсутствует


1C++ v. 3.0.1.23

Сообщений: 148
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИТЗ : Получение таблицы уникальных значений ключа для индекса
Ответ #8 - 15. Сентября 2008 :: 14:03
Печать  
kms писал(а) 15. Сентября 2008 :: 13:59:
Посмотри метод Выгрузить() в текущей документации.
В свое время была добавлена параметризация метода для выгрузки уникальных значений по неуникальному индексу.


Ага, вот это что то похожее. Спасибо !
  

Поспешность наносит ущерб
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать