Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема проблема с поиском в ИТ (число прочтений - 1033 )
OnCheck
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 130
Зарегистрирован: 12. Декабря 2007
проблема с поиском в ИТ
12. Февраля 2009 :: 10:29
Печать  
Вообще поиск в ИТ по составному индексу использовал - работает. Но при загрузке ИТ из ТЗ которая была взята из регистра через ВыгрузитьИтоги не работает, то же самое и с фильтром:
     Регистры=СоздатьОбъект("Регистры");
     РегистрНаСегодня=СоздатьОбъект("Регистр.ДвижениеПродукции");
     РегНаСег=СоздатьОбъект("ТаблицаЗначений");
     РегНаСегИдекс=СоздатьОбъект("ИндексированнаяТаблица");
     РегистрНаСегодня.УстановитьЗначениеФильтра("План",ВыбДокумент);
     РегистрНаСегодня.ВыгрузитьИтоги(РегНаСег,1);
     РегНаСегИдекс.Загрузить(РегНаСег);
     РегНаСегИдекс.ДобавитьИндекс("КлючПоиска","План,Продукция,Этап");
     
     тзПродукция=СоздатьОбъект("ТаблицаЗначений");
     РегистрНаСегодня.ВыгрузитьИтоги(тзПродукция,1);
     
     спПоиска=СоздатьОбъект("СписокЗначений");
     
     тзПродукция.ВыбратьСтроку();
     РегНаСегИдекс.Показать();
     тзПродукция.ВыбратьСтроки();
     Пока тзПродукция.ПолучитьСтроку()=1 цикл
           НомСтр=0;
                 
           спПоиска.ДобавитьЗначение(тзПродукция.Продукция);
           спПоиска.ДобавитьЗначение(тзПродукция.План);
           спПоиска.ДобавитьЗначение(тзПродукция.Этап);
           РегНаСегИдекс.УстановитьФильтр(спПоиска,спПоиска,"КлючПоиска");
           РегНаСегИдекс.Показать("КлючПоиска");
           РегНаСегИдекс.ВыключитьФильтр("КлючПоиска");
     КонецЦикла;

пРоблема в том что метод Показать() показывает пустую таблицу.
Лаг или не я чего-то не понимаю?
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: проблема с поиском в ИТ
Ответ #1 - 12. Февраля 2009 :: 10:47
Печать  
У тебя индекс по полям: "План,Продукция,Этап"
а ключ ты создаёшь:
Код
Выбрать все
спПоиска.ДобавитьЗначение(тзПродукция.Продукция);
	     спПоиска.ДобавитьЗначение(тзПродукция.План);
	     спПоиска.ДобавитьЗначение(тзПродукция.Этап); 


Порядок не тот.
+ для более быстрого построения индекса делай так:
Код
Выбрать все
РегНаСегИдекс.ДобавитьИндекс("КлючПоиска","*План,*Продукция,*Этап"); 

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


I Love YaBB 2!

Сообщений: 130
Зарегистрирован: 12. Декабря 2007
Re: проблема с поиском в ИТ
Ответ #2 - 12. Февраля 2009 :: 10:57
Печать  
JohnyDeath писал(а) 12. Февраля 2009 :: 10:47:
У тебя индекс по полям: "План,Продукция,Этап"
а ключ ты создаёшь:
Код
Выбрать все
спПоиска.ДобавитьЗначение(тзПродукция.Продукция);
	     спПоиска.ДобавитьЗначение(тзПродукция.План);
	     спПоиска.ДобавитьЗначение(тзПродукция.Этап); 


Порядок не тот.
+ для более быстрого построения индекса делай так:
Код
Выбрать все
РегНаСегИдекс.ДобавитьИндекс("КлючПоиска","*План,*Продукция,*Этап"); 


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