Переключение на Главную Страницу Страницы: [1] 2 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) Вопрос по фильтру в индексированной таблице (число прочтений - 16847 )
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Вопрос по фильтру в индексированной таблице
12. Февраля 2008 :: 14:47
Печать  
Есть ИТЗ с колонкой "Контрагент" типа "Справочник.Контрагенты"
и индекс по этому полю
Подскажите как задать фильтр чтоб остались только заполненные значения?
  
Наверх
ICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Вопрос по фильтру в индексированной таблице
Ответ #1 - 12. Февраля 2008 :: 14:54
Печать  
Цитата:
ИТЗ.УстановитьФильтр(ПолучитьПустоеЗначение("Справочник.Контрагенты", ПолучитьПустоеЗначение("Справочник.Контрагенты"), "ИндексПоКолонкеКонтрагентов",0, 1);


где то так думается
Цитата:
чИнверсия - тип: Число. 0 - обычный фильтр, 1 - инверсный фильтр.


если я правильно тебя понял  Улыбка
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



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


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вопрос по фильтру в индексированной таблице
Ответ #3 - 12. Февраля 2008 :: 15:22
Печать  
Вполне может быть, что подобное поведение фильтра - это баг Улыбка
Подождем Алексея, завтра он скажет более точный ответ.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вопрос по фильтру в индексированной таблице
Ответ #4 - 12. Февраля 2008 :: 15:23
Печать  
А если так ?
Цитата:
ИТЗ.УстановитьФильтр(, ПолучитьПустоеЗначение("Справочник.Контрагенты"), "ИндексПоКолонкеКонтрагентов",0, 1);

или наоборот
Цитата:
ИТЗ.УстановитьФильтр(ПолучитьПустоеЗначение("Справочник.Контрагенты"), ,
"ИндексПоКолонкеКонтрагентов",0, 1);

Проверь, работает или нет?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Вопрос по фильтру в индексированной таблице
Ответ #5 - 12. Февраля 2008 :: 15:32
Печать  
Цитата:
ИТЗ.УстановитьФильтр(, ПолучитьПустоеЗначение("Справочник.Контрагенты"), "ИндексПоКолонкеКонтрагентов",0, 1);


Вот этот вариант работает, наоборот нет
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Вопрос по фильтру в индексированной таблице
Ответ #6 - 12. Февраля 2008 :: 16:24
Печать  
Nick писал(а) 12. Февраля 2008 :: 15:32:
Цитата:
ИТЗ.УстановитьФильтр(, ПолучитьПустоеЗначение("Справочник.Контрагенты"), "ИндексПоКолонкеКонтрагентов",0, 1);


Вот этот вариант работает, наоборот нет

Это неверный подход, в принципе корректно работать не должен.

Просто "в колонке ничего нет" - это ПолучитьПустоеЗначение().

ПолучитьПустоеЗначение("Справочник.Контрагенты") != ПолучитьПустоеЗначение()
или точнее:
ПолучитьПустоеЗначение("Справочник.Контрагенты") > любая строка, число, дата и т.д. > ПолучитьПустоеЗначение()
  

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Вопрос по фильтру в индексированной таблице
Ответ #7 - 12. Февраля 2008 :: 16:30
Печать  
т.е. ты предлагаешь вот так?

Код
Выбрать все
	ИТЗ.УстановитьФильтр( , ПолучитьПустоеЗначение(),"иКонтр",,1);
 

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Вопрос по фильтру в индексированной таблице
Ответ #8 - 12. Февраля 2008 :: 16:36
Печать  
Nick писал(а) 12. Февраля 2008 :: 16:30:
т.е. ты предлагаешь вот так?

Код
Выбрать все
	ИТЗ.УстановитьФильтр( , ПолучитьПустоеЗначение(),"иКонтр",,1);
 


Можно и так Улыбка

На самом деле, ПолучитьПустоеЗначение() - это минимально возможное значение, с точки зрения индекса ИТ.
Поэтому

     ИТЗ.УстановитьФильтр( , ПолучитьПустоеЗначение(),"иКонтр",,1);

эквивалентно

     ИТЗ.УстановитьФильтр(ПолучитьПустоеЗначение() , ПолучитьПустоеЗначение(),"иКонтр",,1);


Я предполагаю, что пустых значений другого типа у тебя нет, т.е. тебе достаточно отбросить именно "незаполненные" строки.
В противном случае придется так или иначе делать инверсию inner join с набором пустых значений разных типов.
  

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Вопрос по фильтру в индексированной таблице
Ответ #9 - 12. Февраля 2008 :: 16:39
Печать  
Оба твоих варианта фильтруют все записи в ИТЗ вне зависимости от заполнения , т.е. получаем пустую таблицу Печаль
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Вопрос по фильтру в индексированной таблице
Ответ #10 - 12. Февраля 2008 :: 16:46
Печать  
Ну тогда нельзя сказать, что в "пустых"строках в этой колонке "ничего нет"... все же что-то там есть... Улыбка
Т.е. тип значения не "неопределенный".

Осталось проверить, ТипЗначения() для значений, которые ты считаешь пустыми.
Если этот тип равен 0, тогда будем дальше думать.
  

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Вопрос по фильтру в индексированной таблице
Ответ #11 - 12. Февраля 2008 :: 16:55
Печать  
kms писал(а) 12. Февраля 2008 :: 16:46:
Ну тогда нельзя сказать, что в "пустых"строках в этой колонке "ничего нет"... все же что-то там есть... Улыбка
Т.е. тип значения не "неопределенный".

Осталось проверить, ТипЗначения() для значений, которые ты считаешь пустыми.
Если этот тип равен 0, тогда будем дальше думать.

Именно 0 он и равен, ТипЗначенияСтр - пустая строка
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Вопрос по фильтру в индексированной таблице
Ответ #12 - 12. Февраля 2008 :: 16:59
Печать  
Nick писал(а) 12. Февраля 2008 :: 16:55:
Именно 0 он и равен, ТипЗначенияСтр - пустая строка

Да я вижу уже.
Это некорректное поведение ИТ по отношению к типу 0.

Я не понял, что это происходит вчера-сегодня после стольких лет затишься?
Ты что, решил все баги ИТ собрать? Подмигивание

P.S.
Имеет смысл сделать еще одну запись в багтракере.
  

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Вопрос по фильтру в индексированной таблице
Ответ #13 - 12. Февраля 2008 :: 17:04
Печать  
kms писал(а) 12. Февраля 2008 :: 16:59:
Nick писал(а) 12. Февраля 2008 :: 16:55:
Именно 0 он и равен, ТипЗначенияСтр - пустая строка

Да я вижу уже.
Это некорректное поведение ИТ по отношению к типу 0.

Я не понял, что это происходит вчера-сегодня после стольких лет затишься?
Ты что, решил все баги ИТ собрать? Подмигивание

P.S.
Имеет смысл сделать еще одну запись в багтракере.


Просто до этого я ИТЗ особо не использовал, так по мелочи, а тут понадобилось.
Блин 3 дня пишу, 2 бага. Печаль грустно.
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Вопрос по фильтру в индексированной таблице
Ответ #14 - 12. Февраля 2008 :: 17:15
Печать  
Это ерунда, просто тебе сопутствует удача.
Время жизни багов в ИТ несравнимо со временем жизни багов ТЗ.
  

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