Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Очень популярная тема (более 25 ответов) Помогите с Индексированной таблицей (число прочтений - 7268 )
pRn
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 14
Зарегистрирован: 15. Февраля 2010
Помогите с Индексированной таблицей
15. Февраля 2010 :: 21:31
Печать  
Доброго времение суток, Стала проблема, которую вроде как можно  решить с помощью Индексированной таблицы.
Суть в чем: Есть Большая таблица значений (430 000 строк)
в одной колонке "КроссКод" существуют одинаковые записи, каким образом можно найти строки этой таблица, с одинаковым значением колонки  "КроссКод"???
  
Наверх
 
IP записан
 
Dmiter
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Местоположение: Киев
Зарегистрирован: 08. Января 2010
Пол: Мужской
Re: Помогите с Индексированной таблицей
Ответ #1 - 15. Февраля 2010 :: 22:15
Печать  
Что значит "Найти"? Какие дальнейшие действия с таблицей предполагается делать?
  
Наверх
 
IP записан
 
pRn
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 14
Зарегистрирован: 15. Февраля 2010
Re: Помогите с Индексированной таблицей
Ответ #2 - 15. Февраля 2010 :: 22:26
Печать  
В дальнейшем их нужно загрузить в таблицу значений, или в список значений, или сразу из Индескированной таблицы начинать обрабатывать
  
Наверх
 
IP записан
 
ol
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 272
Местоположение: Санкт-Петербург
Зарегистрирован: 24. Января 2009
Пол: Мужской
Re: Помогите с Индексированной таблицей
Ответ #3 - 15. Февраля 2010 :: 23:54
Печать  
ДобавитьИндекс, потом Установитьфильтр
  
Наверх
ICQ  
IP записан
 
Dmiter
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Местоположение: Киев
Зарегистрирован: 08. Января 2010
Пол: Мужской
Re: Помогите с Индексированной таблицей
Ответ #4 - 16. Февраля 2010 :: 06:29
Печать  
1. Добавить индекс, и начать выборку по индексу.
2. Сгруппировать по индексу.
3. или как сказано выше УстановитьФильтр
  
Наверх
 
IP записан
 
pRn
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 14
Зарегистрирован: 15. Февраля 2010
Re: Помогите с Индексированной таблицей
Ответ #5 - 16. Февраля 2010 :: 11:36
Печать  
может у кого код примерный есть, помогите плз
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Помогите с Индексированной таблицей
Ответ #6 - 16. Февраля 2010 :: 13:05
Печать  
pRn писал(а) 16. Февраля 2010 :: 11:36:
может у кого код примерный есть, помогите плз

Примерный код для чего? Мне вот, когда надо одинаковые строки выловить, то я ввожу дополнительную колонку, например "Счетчик", заполняю ее единичками. Потом сворачиваю, типа ИТЗ.Свернуть("КроссКод","Счетчик");. Потом ИТЗ.Сортировать ("Счетчик-"); Таким образом сверху будут все нужные значения "КроссКод", так что перебираешь эту ИТЗ в цикле и как найдешь значение "Счетчик"=1 то рвешь цикл (т.к. далее уникальные записи). Можно и оптимальней, но мне лень.
  
Наверх
ICQ  
IP записан
 
pRn
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 14
Зарегистрирован: 15. Февраля 2010
Re: Помогите с Индексированной таблицей
Ответ #7 - 16. Февраля 2010 :: 13:21
Печать  
Мне нужно немного другое
т.е. ситуация такая:
вот таблица: (1-я колонка наименование, 2-я колонка КроссКод):

100 002 | 123
100 002D | 123
100 002W | 123
456127 | 345
456128 | 345
мне нужно каким то образом найти все элементы с кросскодом "123" и соответственно "345", что бы потом создать элементы справочника "100 002", "100 002D" и "100 002W" соответственно.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите с Индексированной таблицей
Ответ #8 - 16. Февраля 2010 :: 14:07
Печать  
Примерно так:

Код
Выбрать все
ИТЗ.Группировать("КроссКод:*КроссКод","",1);
ИТЗ.ВыбратьСтроки();
Пока ИТЗ.ПолучитьСтроку()=1 Цикл
   текКроссКод=ИТЗ.КроссКод;

   итПотомок=ИТЗ.тзПотомок;
   итПотомок.ВыбратьСтроки();
   Пока итПотомок.ПолучитьСтроку()=1 Цикл
	 //здесь все "Наименования" по текКроссКод
   КонецЦикла;
КонецЦикла; 

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


1C++ rocks!

Сообщений: 14
Зарегистрирован: 15. Февраля 2010
Re: Помогите с Индексированной таблицей
Ответ #9 - 16. Февраля 2010 :: 16:04
Печать  
ИТЗ.тзПотомок это что???
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите с Индексированной таблицей
Ответ #10 - 16. Февраля 2010 :: 16:07
Печать  
Извиняюсь. тзПотомки
  
Наверх
 
IP записан
 
pRn
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 14
Зарегистрирован: 15. Февраля 2010
Re: Помогите с Индексированной таблицей
Ответ #11 - 16. Февраля 2010 :: 16:08
Печать  
Спасибо!!!!!
  
Наверх
 
IP записан
 
pRn
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 14
Зарегистрирован: 15. Февраля 2010
Re: Помогите с Индексированной таблицей
Ответ #12 - 01. Марта 2010 :: 20:06
Печать  
ТИ = СоздатьОбъект("ИндексированнаяТаблица");
ТИ = ТЗ;
ТИ.Группировать("КодИД:*КодИд","Наличие",1);                                 
ТИ.ВыбратьСтроки();
Пока ТИ.ПолучитьСтроку()=1 Цикл      
     НачатьТранзакцию();
.//Здесь нахожу элемент к примеру 100 002
............
...........
     текКроссКод=ТИ.КодИд;
     итПотомки=ТИ.тзПотомки;
     итПотомки.ВыбратьСтроки();
     Пока итПотомки.ПолучитьСтроку()=1 Цикл
     ........ а тут хочу найти все оставшиеся,
           //т.е. по идее тут должны быть 100 002D и 100 002W
     //но происходит что то другое      
     КонецЦикла;
     ЗафиксироватьТранзакцию();
КонецЦикла;

получается что первой строчкой ТИ идет 100 002, во второй тоже 100 002 и т.д., и не могу разобраться, помогите плз
  
Наверх
 
IP записан
 
pRn
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 14
Зарегистрирован: 15. Февраля 2010
Re: Помогите с Индексированной таблицей
Ответ #13 - 01. Марта 2010 :: 20:09
Печать  
и ещё, в таблице есть элементы у которых нет кросс кода, точнее он уникальные, т.е. по идее тзПотомки должна быть пустая, а у меня почему то все пустые сгруппировалить в самой первой строчке
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите с Индексированной таблицей
Ответ #14 - 02. Марта 2010 :: 08:10
Печать  
Что такое "КодИД"?
А вообще сделай небольшой тест. Будет всем проще и быстрее.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать