Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Очень популярная тема (более 25 ответов) Множественный фильтр ИТЗ (число прочтений - 8361 )
Strannik
Junior Member
**
Отсутствует


Оцифрованный романтик

Сообщений: 29
Местоположение: Где-то в Башкирии
Зарегистрирован: 17. Июня 2011
Пол: Мужской
Множественный фильтр ИТЗ
08. Июля 2011 :: 17:02
Печать  
Возник конфликт моих понятий о множественных фильтрах и работе SetFilter() ИТЗ.

Мои понятия - в результат должны попадать только строки ИТЗ, в которых выполняются ограничения по ВСЕМ колонкам, указанным в фильтре.

Реализация в 1CPP 3.2.3.15 работает так: если первое условие проверяется по диапазону значений, тогда остальные условия игнорируются, если проверка производится по одному значению, тогда включается проверка по следующему условию. Для подтверждения вкладываю обработку, иллюстрирующую вышесказанное.

За основу тестов положен код:
     _List=CreateObject("ИндексированнаяТаблица");
     _From=CreateObject("ValueList");
     _To=CreateObject("ValueList");

     _From.AddValue(_Condition1_1);
     _From.AddValue(_Condition1_2);
     _From.AddValue(_Condition1_3);
     _To.AddValue(_Condition2_1);
     _To.AddValue(_Condition2_2);
     _To.AddValue(_Condition2_3);
     
     _Table1.SetFilter(_From,_To,"_Index");
     _Table1.Unload(_List,"_Index","_Row,_Str,_Num1,_Num2");
     _Table1.DropFilter("_Index");

Либо я НЕПРАВИЛЬНО использую SetFilter(), либо в англоязычной версии срабатывает неправильно (этим грешит 1С, например НачатьТранзакцию() - срабатывает, BeginTransaction() - нет), либо мои понятия далеки от понятий 1CPP, либо еще что.

Специалисты, разъясните.
« Последняя редакция: 10. Июля 2011 :: 05:16 - Strannik »  

_Send_001.rar ( 181 KB | Загрузки )

Когда я сомневаюсь - спрошу, если есть у кого.&&Если меня не устроит ответ - я разбираюсь сам.&&Если некого спросить - я разбираюсь сам.&&Если я разберусь - я перестаю сомневаться.
Наверх
 
IP записан
 
Strannik
Junior Member
**
Отсутствует


Оцифрованный романтик

Сообщений: 29
Местоположение: Где-то в Башкирии
Зарегистрирован: 17. Июня 2011
Пол: Мужской
Re: Множественный фильтр ИТЗ
Ответ #1 - 10. Июля 2011 :: 05:11
Печать  
Проведенные исследования показали, что ИТЗ с множественным (составным) индексом ведет себя так, что при нечетких границах поиска (УстановитьФильтр(), НайтиБлижайшуюБольше(), НайтиБлижайшуюМеньше()) поиск производится только по первому полю, если задается диапазон значений поиска. Если для поиска задается единственное значение (КлючМин=КлючМакс), включается поиск по второму полю составного индекса, и и т.д.

Проверил разные релизы 1CPP, ранее 2.5.0.8 решил не проверять.

НайтиБлижайшуюБольше(), НайтиБлижайшуюМеньше() - устанавливаются на запись, удовлетворяющую совпадению по первому полю составного индекса, игнорируя остальные поля.

С УстановитьФильтр() справиться удалось последовательной фильтрацией по одиночным индексам. Сейчас буду искать решение для НайтиБлижайшуюБольше(), НайтиБлижайшуюМеньше().

Но это уже напрягает. Хотелось бы четкой работы этих функций.

Пока не уверен, что надо обратиться с этим вопросом к Bugzilla. Посмотрю реакцию форумчан - может я и неправ...  Печаль
  

Когда я сомневаюсь - спрошу, если есть у кого.&&Если меня не устроит ответ - я разбираюсь сам.&&Если некого спросить - я разбираюсь сам.&&Если я разберусь - я перестаю сомневаться.
Наверх
 
IP записан
 
Strannik
Junior Member
**
Отсутствует


Оцифрованный романтик

Сообщений: 29
Местоположение: Где-то в Башкирии
Зарегистрирован: 17. Июня 2011
Пол: Мужской
Re: Множественный фильтр ИТЗ
Ответ #2 - 10. Июля 2011 :: 05:28
Печать  
Собственно, НайтиБлижайшуюМеньше() и НайтиБлижайшуюБольше() тоже можно реализовать на последовательной фильтрации по одиночным индексам с открытой границей: задавать только КлючМакс для НайтиБлижайшуюМеньше() и КлючМин для НайтиБлижайшуюБольше(). Не проверял, но понимаю, что сработает.  Улыбка
  

Когда я сомневаюсь - спрошу, если есть у кого.&&Если меня не устроит ответ - я разбираюсь сам.&&Если некого спросить - я разбираюсь сам.&&Если я разберусь - я перестаю сомневаться.
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Множественный фильтр ИТЗ
Ответ #3 - 12. Июля 2011 :: 15:11
Печать  
Ну, для начала надо разобраться, что такое составной индекс.
К примеру, можно подумать, почему результат по трем условиям для "А,1,1"-"Я,1,1" отличается от результата для "А,1,1"-"Я,1,32".
  

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


Оцифрованный романтик

Сообщений: 29
Местоположение: Где-то в Башкирии
Зарегистрирован: 17. Июня 2011
Пол: Мужской
Re: Множественный фильтр ИТЗ
Ответ #4 - 13. Июля 2011 :: 09:39
Печать  
kms писал(а) 12. Июля 2011 :: 15:11:
Ну, для начала надо разобраться, что такое составной индекс.
К примеру, можно подумать, почему результат по трем условиям для "А,1,1"-"Я,1,1" отличается от результата для "А,1,1"-"Я,1,32".


ИМХО в результат работы составного фильтра попадут строки, проходящие проверку ПО ВСЕМ составляющим фильтрам. Потому в данном конкретном случае результат может быть разный. Даже не вдаваясь в исходные данные, по условию фильтра видно, что в результат Первого фильтра ("А,1,1"-"Я,1,1") попадет строк НЕ БОЛЬШЕ (<=), чем в результат работы Второго фильтра ("А,1,1"-"Я,1,32") именно из-за расширенного третьего условия.

Например:

Исходные данные
А,1,1
А,1,10
А,1,20
А,1,30
А,1,40
А,2,1
А,2,10
А,2,20
А,2,30
А,2,40
А,3,1
А,3,10
А,3,20
А,3,30
А,3,40
Г,1,1
Г,1,10
Г,1,20
Г,1,30
Г,1,40
Г,2,1
Г,2,10
Г,2,20
Г,2,30
Г,2,40
Г,3,1
Г,3,10
Г,3,20
Г,3,30
Г,3,40

По первому фильтру попадут:
А,1,1
Г,1,1

По Второму фильтру попадут:
А,1,1
А,1,10
А,1,20
А,1,30
Г,1,1
Г,1,10
Г,1,20
Г,1,30

В результате двухдневной битвы с реализацией этого явления в ICPP за 5 минут родилось решение использовать пересечение. Так пример, отправленный мной на форум, быстро оброс кнопочками. Скоротечные решения - не всегда оптимальны, хотя и верны. Сейчас я уже использую цикл по одиночным фильтрам. Результат тот же, но выглядит изящнее и работает быстрее.
  

Когда я сомневаюсь - спрошу, если есть у кого.&&Если меня не устроит ответ - я разбираюсь сам.&&Если некого спросить - я разбираюсь сам.&&Если я разберусь - я перестаю сомневаться.
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Множественный фильтр ИТЗ
Ответ #5 - 13. Июля 2011 :: 09:59
Печать  
Применительно к составным индексам ИТ рассуждения и, соответственно, выводы принципиально неверные.
  

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


Оцифрованный романтик

Сообщений: 29
Местоположение: Где-то в Башкирии
Зарегистрирован: 17. Июня 2011
Пол: Мужской
Re: Множественный фильтр ИТЗ
Ответ #6 - 13. Июля 2011 :: 10:14
Печать  
kms писал(а) 13. Июля 2011 :: 09:59:
Применительно к составным индексам ИТ рассуждения и, соответственно, выводы принципиально неверные.


Вообще-то, я вопрос задавал по фильтру.
Ну, что ж, спасибо, все разъяснили...
  

Когда я сомневаюсь - спрошу, если есть у кого.&&Если меня не устроит ответ - я разбираюсь сам.&&Если некого спросить - я разбираюсь сам.&&Если я разберусь - я перестаю сомневаться.
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Множественный фильтр ИТЗ
Ответ #7 - 13. Июля 2011 :: 11:22
Печать  
[quote author=Ezerrow link=1310144573/0#0 date=1310144573]
Реализация в 1CPP 3.2.3.15 работает так: если первое условие проверяется по диапазону значений, тогда остальные условия игнорируются, если проверка производится по одному значению, тогда включается проверка по следующему условию.[/quote]

Это вопрос или утверждение?
На мой взгляд - утверждение, причем неверное, как и предположения из http://www.1cpp.ru/forum/YaBB.pl?num=1310144573/4#4
Которое, тем не менее, может быть кем-то принято за истину, что нам совсем ни к чему.

Причина неверных утверждений изложена в http://www.1cpp.ru/forum/YaBB.pl?num=1310144573/3#3
Составной индекс ИТ не отличается принципиально от композитных индексов SQL, например.

[b]-- описание исправлено[/b]
Допустим, для индекса размерности n значения ключей строк задано векторами X={X1,X2, ... , Xn}, Y={Y1,Y2, ... , Yn}; нижняя граница фильтра задана вектором f={f1, f2, ... , fn} верхняя граница фильтра задана вектором F={F1, F2, ... , Fn}.
Тогда
X = Y тогда и только тогда, когда для любого i из [1, n] Xi = Yi.
X < Y тогда и только тогда, когда существует такое k из [1, n], что для любого i из [1, k] выполняется Xi < Yi либо для любого i из [1, k) выполняется Xi = Yi и Xk < Yk.
X принадлежит интервалу {f. F} тогда и только тогда, когда f <= X <= F.
[b]--[/b]
Поэтому, к примеру, результат наложения фильтра "А,32,1"-"Я,1,32" вполне имеет смысл и может давать непустой результат.
« Последняя редакция: 13. Июля 2011 :: 20:17 - kms »  

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


Оцифрованный романтик

Сообщений: 29
Местоположение: Где-то в Башкирии
Зарегистрирован: 17. Июня 2011
Пол: Мужской
Re: Множественный фильтр ИТЗ
Ответ #8 - 13. Июля 2011 :: 13:33
Печать  
[quote author=kms link=1310144573/0#7 date=1310556156][quote author=Ezerrow link=1310144573/0#0 date=1310144573]
Реализация в 1CPP 3.2.3.15 работает так: если первое условие проверяется по диапазону значений, тогда остальные условия игнорируются, если проверка производится по одному значению, тогда включается проверка по следующему условию.[/quote]

Это вопрос или утверждение?
На мой взгляд - утверждение, причем неверное
[/quote]

Это - утверждение. Для того, чтобы не быть голословным, я и привел тест-обработку. Вы полагаете, что я зря пинал воздух двое суток?! Дуэль!  :)

[quote author=kms link=1310144573/0#7 date=1310556156]
Составной индекс ИТ не отличается принципиально от композитных индексов SQL, например.
Проверка вхождения вектора (X1, X2,...,Xn) в границы фильтра размерности n осуществляется последовательно для каждого поля фильтра, начиная с 1 по n. В случае попадания значения Xi в границу фильтра i, проверяется попадание значения X[sub]i+1[/sub] в границу фильтра i+1, в противном случае вектор отсеивается - и т.д.
[/quote]

Составной индекс НЕ ДОЛЖЕН НИЧЕМ отличаться от композитных индексов SQL (выражение "не отличается принципиально" дает некоторую свободу интерпретации)...
Это называется: или лыжи не едут, или ... , ибо:
[quote author=Ezerrow link=1310144573/0#4 date=1310549948]
Сейчас я уже использую цикл по одиночным фильтрам
[/quote]

Я просто не дописал "ЦИКЛ ВГЛУБЬ", полагая, что это и так ясно...   :)


[quote author=kms link=1310144573/0#7 date=1310556156]
Поэтому, к примеру, результат наложения фильтра "А,32,1"-"Я,1,32" вполне имеет смысл и может давать непустой результат.
[/quote]

А вот тут у меня вопрос
В документации по SetFilter() написано следующее, цитирую:

[color=#0000ff][b]УстановитьФильтр / SetFilter

Синтаксис: УстановитьФильтр(КлючМин, КлючМакс, [Индекс = ""], [чТолькоУникальные = 0], [чИнверсия = 0])

Параметры:
КлючМин - тип: любой. Нижняя граница фильтра. Задаётся так же, как в методе НайтиСтроку().
КлючМакс - тип: любой. Верхняя границы фильтра. Задаётся так же, как в методе НайтиСтроку().
Индекс - тип: Строка, Число. Идентификатор или номер индекса. По умолчанию используется основной индекс.
чТолькоУникальные - тип: Число. Если 1 - то в выборку попадут только строки с уникальным значением ключа.
чИнверсия - тип: Число. 0 - обычный фильтр, 1 - инверсный фильтр.
Если индекс построен по одной колонке, то в качестве ключей можно использовать значение колонки. Если же индекс по нескольким колонкам, то ключ должен быть СписокЗначений, содержащий значения ключевых колонок, заданных в методе ДобавитьИндекс().

Один из ключей может быть опущен - при этом в качестве опущеного значения будет автоматически задействовано минимально/максимально возможное значение. Т.е. фильтр будет с открытой границей.
[/b][/color]

Теперь цитирую Вас:
[color=#0000ff][b]В случае попадания значения Xi в границу фильтра i, проверяется попадание значения X[sub]i+1[/sub] в границу фильтра i+1, в противном случае вектор отсеивается - и т.д.[/b][/color]

Проверив первый фильтр (в Вашем примере - "А"-"Я"), мы начинаем проверку второго фильтра. В нем МИНИМАЛЬНОЕ значение равно 32, МАКСИМАЛЬНОЕ равно 1.

В тексте документации дана расшифровка понятий
[color=#0000ff][b]КлючМин - тип: любой. Нижняя граница фильтра. Задаётся так же, как в методе НайтиСтроку().
КлючМакс - тип: любой. Верхняя границы фильтра. Задаётся так же, как в методе НайтиСтроку().[/b][/color]

Тут уже используются выражения "нижняя граница" и "верхняя граница"... И дальше начинается софистика, в которой никто не выиграет. В Ваших понятиях, судя по всему, "нижняя граница" - это значения САМЫХ ПЕРВЫХ СТРОК, так выходит?

Ну или надо было в документации написать, что это не "нижняя граница" и верхняя граница, а "ЛЮБАЯ ИЗ ГРАНИЦ", и не важно, в каком из ключей их подавать.

Ну и напоследок: попробуйте проверить Ваше описание работы составного индекса на моей обработке, задав, например, "А,31,1"-"Я,1,32".

Листинг результата я приведу
**** SetFilter()+Unload() by Cond1+Cond2+Cond3 ****
From: Cond1=А         ; Cond2=31; Cond3=1
To:   Cond1=Я         ; Cond2=1; Cond3=32
************ Rezults: ************
Row=01 ==>  Par1=А;  Par2=32;  Par3=1
Row=02 ==>  Par1=Б;  Par2=31;  Par3=2
Row=03 ==>  Par1=В;  Par2=30;  Par3=3
Row=04 ==>  Par1=Г;  Par2=29;  Par3=4
Row=05 ==>  Par1=Д;  Par2=28;  Par3=5
Row=06 ==>  Par1=Е;  Par2=27;  Par3=6
Row=07 ==>  Par1=Ж;  Par2=26;  Par3=7
Row=08 ==>  Par1=З;  Par2=25;  Par3=8
Row=09 ==>  Par1=И;  Par2=24;  Par3=9
Row=10 ==>  Par1=Й;  Par2=23;  Par3=10
Row=11 ==>  Par1=К;  Par2=22;  Par3=11
Row=12 ==>  Par1=Л;  Par2=21;  Par3=12
Row=13 ==>  Par1=М;  Par2=20;  Par3=13
Row=14 ==>  Par1=Н;  Par2=19;  Par3=14
Row=15 ==>  Par1=О;  Par2=18;  Par3=15
Row=16 ==>  Par1=П;  Par2=17;  Par3=16
Row=17 ==>  Par1=Р;  Par2=16;  Par3=17
Row=18 ==>  Par1=С;  Par2=15;  Par3=18
Row=19 ==>  Par1=Т;  Par2=14;  Par3=19
Row=20 ==>  Par1=У;  Par2=13;  Par3=20
Row=21 ==>  Par1=Ф;  Par2=12;  Par3=21
Row=22 ==>  Par1=Х;  Par2=11;  Par3=22
Row=23 ==>  Par1=Ц;  Par2=10;  Par3=23
Row=24 ==>  Par1=Ч;  Par2=9;  Par3=24
Row=25 ==>  Par1=Ш;  Par2=8;  Par3=25
Row=26 ==>  Par1=Щ;  Par2=7;  Par3=26
Row=27 ==>  Par1=Ъ;  Par2=6;  Par3=27
Row=28 ==>  Par1=Ы;  Par2=5;  Par3=28
Row=29 ==>  Par1=Ь;  Par2=4;  Par3=29
Row=30 ==>  Par1=Э;  Par2=3;  Par3=30
Row=31 ==>  Par1=Ю;  Par2=2;  Par3=31
Row=32 ==>  Par1=Я;  Par2=1;  Par3=32

И вот мне бы хотелось в свете новых знаний понять, как попала строка № 1 в результат.
  

Когда я сомневаюсь - спрошу, если есть у кого.&&Если меня не устроит ответ - я разбираюсь сам.&&Если некого спросить - я разбираюсь сам.&&Если я разберусь - я перестаю сомневаться.
Наверх
 
IP записан
 
Strannik
Junior Member
**
Отсутствует


Оцифрованный романтик

Сообщений: 29
Местоположение: Где-то в Башкирии
Зарегистрирован: 17. Июня 2011
Пол: Мужской
Re: Множественный фильтр ИТЗ
Ответ #9 - 13. Июля 2011 :: 14:00
Печать  
К предыдущему хочу добавить следующее:

Если Вы утверждаете, что фильтр "А,32,1" - "Я,1,32" должен давать непустой результат, то следовательно и фильтр "Я,32,1" - "А,1,32" должен дать ТОЧНО ТАКОЙ ЖЕ РЕЗУЛЬТАТ. Что осталось сказать - проверьте. Результат ПУСТОЙ, значит понятия Минимальный ключ и Максимальный ключ РАБОТАЮТ. Ну и если они все-таки работают, то "А,32,1" - "Я,1,32" должен дать в ЛЮБОМ примере ПУСТОЙ результат, потому что в понятиях "Минимум" и "Максимум" ICPP не путается, а во втором условии индекса лежит НЕВЫПОЛНИМОЕ условие. Значения МинКлюча должны содержать НАИМЕНЬШИЕ значения, а значения МаксКлюча - НАИБОЛЬШИЕ.
  

Когда я сомневаюсь - спрошу, если есть у кого.&&Если меня не устроит ответ - я разбираюсь сам.&&Если некого спросить - я разбираюсь сам.&&Если я разберусь - я перестаю сомневаться.
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Множественный фильтр ИТЗ
Ответ #10 - 13. Июля 2011 :: 17:41
Печать  
Strannik писал(а) 13. Июля 2011 :: 14:00:
то следовательно и фильтр "Я,32,1" - "А,1,32" должен дать ТОЧНО ТАКОЙ ЖЕ РЕЗУЛЬТАТ.

С чего вдруг? Я не специалист по ИТ, но из вышестоящих разъяснений ясно следует, что это утверждение ложно. Осознай разницу между понятиями "составное значение" и "набор несвязанных значений".

И, кстати, я бы не рискнул вызывать kms на дуэль..  Подмигивание
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Strannik
Junior Member
**
Отсутствует


Оцифрованный романтик

Сообщений: 29
Местоположение: Где-то в Башкирии
Зарегистрирован: 17. Июня 2011
Пол: Мужской
Re: Множественный фильтр ИТЗ
Ответ #11 - 13. Июля 2011 :: 18:45
Печать  
berezdetsky писал(а) 13. Июля 2011 :: 17:41:
Strannik писал(а) 13. Июля 2011 :: 14:00:
то следовательно и фильтр "Я,32,1" - "А,1,32" должен дать ТОЧНО ТАКОЙ ЖЕ РЕЗУЛЬТАТ.

С чего вдруг? Я не специалист по ИТ, но из вышестоящих разъяснений ясно следует, что это утверждение ложно. Осознай разницу между понятиями "составное значение" и "набор несвязанных значений".


Композитный индекс SQL по определению представляет собой аналог "составного значения" (пришлось порыться по описаниям SQL, чтобы прийти к такому выводу. К сожалению, не сохранил адреса страниц и предлагаю самому поискать ответ на этот вопрос). Так что речь о "наборе несвязанных значений" не идет.

А "следовательно" - потому, что если можно использовать конструкцию "32"-"1" и получить результат (!), то что мешает поменять и на первом уровне? Я просто продолжил предыдущую мысль до логического конца. Абсурдно выглядит, да?

berezdetsky писал(а) 13. Июля 2011 :: 17:41:
И, кстати, я бы не рискнул вызывать kms на дуэль..  Подмигивание


Рискнул  Подмигивание

PS
А почему маленькими буквами?  Ужас
« Последняя редакция: 13. Июля 2011 :: 22:32 - Strannik »  

Когда я сомневаюсь - спрошу, если есть у кого.&&Если меня не устроит ответ - я разбираюсь сам.&&Если некого спросить - я разбираюсь сам.&&Если я разберусь - я перестаю сомневаться.
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Множественный фильтр ИТЗ
Ответ #12 - 13. Июля 2011 :: 19:17
Печать  
Я, конечно, могу объяснить на пальцах, но это же будет неспортивно.  Круглые глаза А это твоё "Когда я сомневаюсь - спрошу, если есть у кого" - малопригодно как метод обучения. Это, скорее, метод получения произвольных (авторитарных) данных.

Strannik писал(а) 13. Июля 2011 :: 18:45:
если можно использовать конструкцию "32"-"1" и получить результат (!)

В предложенном примере не было такой конструкции. Ты её выдумал.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Strannik
Junior Member
**
Отсутствует


Оцифрованный романтик

Сообщений: 29
Местоположение: Где-то в Башкирии
Зарегистрирован: 17. Июня 2011
Пол: Мужской
Re: Множественный фильтр ИТЗ
Ответ #13 - 13. Июля 2011 :: 19:26
Печать  
berezdetsky писал(а) 13. Июля 2011 :: 19:17:
В предложенном примере не было такой конструкции. Ты её выдумал.


kms писал(а) 13. Июля 2011 :: 11:22:
Поэтому, к примеру, результат наложения фильтра "А,32,1"-"Я,1,32" вполне имеет смысл и может давать непустой результат.



********************************************************

berezdetsky писал(а) 13. Июля 2011 :: 19:17:
Я, конечно, могу объяснить на пальцах, но это же будет неспортивно.  Круглые глаза


Нет, почему же? Очень даже спортивно...


berezdetsky писал(а) 13. Июля 2011 :: 19:17:
... метод получения произвольных (авторитарных) данных


Ничё не понял...  Смущённый
« Последняя редакция: 13. Июля 2011 :: 22:35 - Strannik »  

Когда я сомневаюсь - спрошу, если есть у кого.&&Если меня не устроит ответ - я разбираюсь сам.&&Если некого спросить - я разбираюсь сам.&&Если я разберусь - я перестаю сомневаться.
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Множественный фильтр ИТЗ
Ответ #14 - 13. Июля 2011 :: 20:26
Печать  
Я немножко получше оформил описание сравнения ключей строк в http://www.1cpp.ru/forum/YaBB.pl?num=1310144573/7#7
Было не совсем строго и можно было трактовать неверно.
Все равно, на мой взгляд, несколько сложновато для восприятия, но уж чем богаты, как говорится.
Можно объявить конкурс на лучшую формулировку и я готов внести результат в FAQ.

Strannik писал(а) 13. Июля 2011 :: 18:45:
berezdetsky писал(а) 13. Июля 2011 :: 17:41:
И, кстати, я бы не рискнул вызывать kms на дуэль..  Подмигивание


Рискнул  Подмигивание


С дуэлью, я думаю, придется повременить - пока не вижу единого логического состязательного поля.
Скорее, готов процитировать Ивана: "батарейки not included" и закрыться на обед.


Подмигивание
  

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