|
Нечеткий поиск по наименованию | ☑ | ||
---|---|---|---|---|
0
Aleksei_Pro
31.05.12
✎
17:27
|
НайденныеОбъекты = Новый СписокЗначений;
НайденныеОбъекты.Очистить(); Попытка ЗагрузитьВнешнююКомпоненту("StrMatch.dll"); Исключение Сообщить("Компонента не найдена!", СтатусСообщения.Внимание); КонецПопытки; StrMatch = Новый ("AddIn.StrMatchExtension"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка, | Номенклатура.Наименование, | Номенклатура.Код |ИЗ | Справочник.Номенклатура КАК Номенклатура"; Выборка = Запрос.Выполнить().Выбрать(); StrMatch.СоздатьКэш(333); Пока Выборка.Следующий() Цикл НаименованиеНоменклатуры = Выборка.Наименование; КодНоменклатуры = Выборка.Код; StrMatch.ДобавитьВКэш(333,НаименованиеНоменклатуры,КодНоменклатуры,Строка(НаименованиеНоменклатуры)); КонецЦикла; ПервыйПроход = Истина; Коэффициент = 0; ТекущийКоэффициент = 0; StrMatch.СравнитьСКэшем(333,НаименованиеТовара,100); Для К = 1 По 100 Цикл НаименованиеКодНоменклатура = 0; StrMatch.ПолучитьИзПодбора(К, НаименованиеНоменклатуры , ТекущийКоэффициент); Если ПервыйПроход Тогда Если (ТекущийКоэффициент >= 100) Тогда Коэффициент = ТекущийКоэффициент/2; Иначе Коэффициент = ТекущийКоэффициент/1.5; КонецЕсли; ПервыйПроход = Ложь; КонецЕсли; Если ТекущийКоэффициент >= Коэффициент И ТекущийКоэффициент > 0 Тогда Выборка.Сбросить(); Выборка.НайтиСледующий(НаименованиеНоменклатуры,"Наименование"); НайденныеОбъекты.Добавить(Выборка.Ссылка); КонецЕсли; КонецЦикла; StrMatch.ОчиститьКэш(333); Возврат НайденныеОбъекты.ВыгрузитьЗначения(); Он выводит 100 найденных позиций, а как сделать чтобы выводил, если коофициент > 50 ? |
|||
1
Aleksei_Pro
31.05.12
✎
17:38
|
Что никто не знает как сделать?
|
|||
2
Maxus43
31.05.12
✎
17:38
|
никто не занет что это за х*рня StrMatch.dll и какой коэффициент ты хочеш чтоб был > 50
|
|||
3
Maxus43
31.05.12
✎
17:39
|
Если Коэффициент > 50 Тогда
НайденныеОбъекты.Очистить(); КонецЕсли; Возврат НайденныеОбъекты.ВыгрузитьЗначения(); |
|||
4
Maxus43
31.05.12
✎
17:40
|
т.е.
Если Коэффициент < 50 |
|||
5
Aleksei_Pro
31.05.12
✎
17:42
|
(3) ТекущийКоэффициент всегда один и тот же.
|
|||
6
Maxus43
31.05.12
✎
17:43
|
(5) и? как я догадаюсь что у тебя там и как оно работает... если какая переменная будет >50 то выводить? вставляй в (3) и всё
|
|||
7
Aleksei_Pro
31.05.12
✎
17:43
|
(2) в google посмотри
|
|||
8
Aleksei_Pro
31.05.12
✎
17:46
|
А кто знает "333" что задается?
|
|||
9
Aleksei_Pro
31.05.12
✎
17:47
|
Коэффициент и ТекущийКоэффициент всегда одинаковые...
|
|||
10
Maxus43
31.05.12
✎
17:48
|
читал?
В архиве есть подробное описание компоненты в файле als (с) я вот не хочу |
|||
11
Aleksei_Pro
31.05.12
✎
17:57
|
(10) читал конечно, непонятно только почему нельзя установить отбор по коэфициенту в КЭШ, а задается только сколько элементов с наибольшим коэф. выводить ("100" в данном случае)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |