«Глобальный» поиск (легкая замена полнотекстовому)

Есть такая штука в Axapta, как «Глобальный поиск»… Правда я ее увидел после того, как сделал первый вариант своего, но… потом пришлось дорабатывать под аксаптовский, уж больно он мне понравился 🙂

Впервые проблема встала в форме журнала, когда надо найти документ по части номера. Сначала сделали самое простое — вынесли текстовую составляющую номера в отдельное индексированное поле и получили значительный прирост скорости поиска.

Потом появилась задача так же быстро искать и контрагентов по частям наименований. [ООО «Континент» — Континент, ООО — Континент и т.д.]. Но не будешь же кучу полей добавлять в справочнике для каждой части наименования!

Выход напрашивается сам собой — регистр сведений с двумя полями: законченное слово из наименования и ссылка на объект…

А дальше пара глобальных функций и процедур 🙂

В общем выкладываю маленькую обработку, которая все это делает (я ее через глобальную переменную юзаю). Дальше разберетесь — сложности никакой.

P.S. есть возможность искать по нескольким словам (условие И); есть возможность искать по части строки («слов*», «*лов», «*ло*»)

P.P.S. зачем все это если есть полнотекстовый? а попробуйте на уже живой базе в 100 гиг его поднять… да и с обновлением динамическим потом намучаетесь… 🙂

P.P.P.S. в принципе все это можно перенести и на 7.7… и не на 1С тоже…

«Глобальный» поиск (легкая замена полнотекстовому)

Добавить комментарий

Пролистать наверх